Những kiên thức đó là một nên tảng vững chacgiúp cho học viên có thê hoàn thành được luận van nay.Luận văn Thạc sĩ chuyên ngành Kỹ Thuật Viễn Thông với dé tài: “Triển khai vàđánh giá gia
Trang 2Luận văn thạc sĩ được bảo vệ tại trường Dai học Bách Khoa, DHQG Tp.HCM ngày15 tháng 07 năm 2014.
Thành phân Hội đồng đánh giá luận văn thạc sĩ gồm:
— PGS TS PHAM HONGLIEN
= TS ĐỒ HỎNG TUẦNTU TS LƯU THANH TRÀ
Soe cceecceccesecersecrsceeecersereverssetteteseieseretseeeaees TS PHAM QUANG THAIXác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản ly chuyênngành sau khi luận văn đã được sửa chữa (nếu có)
CHỦ TỊCH HỘI DONG TRƯỞNG KHOA
Trang 3NHIEM VU LUAN VAN THAC Si
Họ tên học viên: Vương Thanh Tung cece MSHV: 12140059 Ngày, tháng, năm sinh: 09, 03, 1988 Nơi sinh: Hau Giang Chuyên ngành: Kỹ Thuật Điện Tử - 22+ sxcrsrssx2 Mã số : 60.52.70
I.TÊN DE TÀI: Triển khai và đánh giá giao thức RESTFUL và CoAPLIB trong mạngcảm biên không dây - - c c2 2202210022210 2221201 1120 1111111111511 1 1 1E nE TT này
I.(NHIỆM VU VA NỘI DUNG: Luận văn sẽ đi sâu vào nghiên cứu việc ứng dụng giaothức CoAP cho Contiki OS của WSNs Cùng với đó là việc đánh gia hiệu nang của hệthông khi ứng dụng CoAP và đưa ra các dé xuât cải tiên cho CoAP
IH.L NGÀY GIAO NHIỆM VU : 20/01/2014 - c1 TS S121 tk errưyn:IV.LINGÀY HOÀN THÀNH NHIỆM VU: 20/06/20 14 - 2 c S2 EnErrerrrryynV.LCÁN BỘ HƯỚNG DAN : TS Võ Quế Sơn - - n St 121111 SE ren
Trang 4Lời đâu tiên, học viên xin cảm ơn các Thây Cô ở Bộ Môn Viễn Thông nói riêng vàcác Thây Cô ở những bộ môn khác nói chung đã truyên đạt cho học viên những kiênthức quý bau trong suôt hai nam qua Những kiên thức đó là một nên tảng vững chacgiúp cho học viên có thê hoàn thành được luận van nay.
Luận văn Thạc sĩ chuyên ngành Kỹ Thuật Viễn Thông với dé tài: “Triển khai vàđánh giá giao thức RESTFUL và CoAPLIB trong mạng cảm biến không dây”được hoàn thành với sự giúp đỡ Phòng Dao Tao Sau Đại Học, Khoa Điện-Điện Tử -Trường Đại Hoc Bách Khoa Thành Phố Hồ Chí Minh, cùng các Thay Cô, bạn bè,đồng nghiệp và gia đình
Đặc biệt, học viên xin gửi lời cảm ơn sâu sac đên TS Võ Qué Sơn đã trực tiêp hướngdẫn và giúp đỡ tận tình cho học viên trong quá trình thực hiện luận văn này
Với thời gian và trình độ còn hạn chế, luận văn không thé tránh khỏi những thiếu xótvà rất mong nhận được giúp đỡ và đóng góp ý kiến của các Thầy Cô và các bạn
H6Chi Minh, Ngày 15 Tháng 07 Năm 2014
Tác Giả
VƯƠNG THANH TÙNG
Trang 5TOM TAT
Được xem như là một trong những triển khai phù hop nhất cho các ứng dụng trongmang cảm bién không dây nói nói chung và mạng LoWPAN nói riêng Luận văn sẽ đisâu vao việc phân tích, đánh giá các thông số của hệ thống cũng như của các phân tửtrong mạng khi triển khai giao thức CoAP trong các ứng dụng của mạng cảm biếnkhông dây trên hệ điêu hành Contiki Song song với đó, luận văn cũng sẽ dé xuất pháttriển cơ chế bảo mật RSA cho các ứng dụng có triển khai giao thức CoAP và đưa racác đánh giá về cơ chế mã hóa này Các kết quả cho thấy các ứng dụng triển khai trênnên giao thức CoAP mang lại một hiệu suất hoạt động cao hơn cho mạng Đông thời,cơ chế mã hóa RSA cũng đã chứng tỏ nó là một trong những cơ chế mã hóa phù hợpđối với các hệ thống mạng có tải nguyên hạn chế Phan triển khai mô phỏng của luậnvăn được tiến hành chủ yếu trên Contiki Cooja Ngoài ra, mô hình triển khai thựcđược triển khai trong để tài đã cho thấy tính khả thi của việc ứng dụng giao thứcCoAP vào mô hình này Trong quá trình thực hiện, một số hướng cải tiến va dé xuấtcải tiến cũng đã được dé cập đến với mong muốn xây dựng giao thức CoAP ngày cànghoàn thiện hơn khi hoạt động trên nền hệ điều hành Contiki
Trang 6As the most suitable protocol for the applications in wireless sensors networks andLoWPAN This thesis will mainly focus on analyzing and estimating the systemperformance when developing the applications with CoAP in Contiki OS In addition,this thesis will also focus on developing a security mechanism for applications whichare deployed with CoAP based on RSA encryption The results prove that CoAP is themost suitable protocol for developing applications on wireless sensors networks.Besides, the RSA encryption method also provides a better security solution for thesystem with a low power usage The simulation is mostly done with Contiki Cooja.An important part is the experimental resultwith the model which is developed basedon CoAP in Application Layer Finally, this thesis also offers the suggestions andideas to improve the performance of CoAP in Contiki OS with the hope that CoAPwill be commonly used in applications of WSNs and M2M applications in the future.
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan tat cả các kết quả và giải thuật thực hiện trong dé tài này chưa từngđược công bồ trong các dé tài khoa học trước đây
Người cam đoan
Vương Thanh Tùng
Trang 8Mang cảm biến không dây (WSNs) ngày nay được ứng dụng rất rộng rãi trong nhiềulĩnh vực của đời sống như quân sự, cảnh báo thiên tai, nhà thông minh, Trongtương lai, khi sự phát triển của mạng LoWPAN va các ứng dụng Internet of Thing -loT ngày càng sâu rộng trong đời sống của chúng ta thì những đòi hỏi về việc tối ưuhóa hiệu năng của hệ thông là một yêu câu tât yêu.
Với những đặc trưng của hệ thông mạng cảm biến không dây như: nguồn năng lượngcó giới hạn, khả năng xử lý hạn chế, bộ nhớ truy xuất ngẫu nhiên va dung lượng 6cứng hạn chế, vvv thì yêu cầu đầu tiên để hệ thống hoạt động được hiệu quả chínhlà thiết kế những bộ giao thức phù hợp với nguồn tài nguyên hệ thống có giới hạn củamạng cảm biến không dây - WSNs
Các nghiên cứu hiện nay đang tập trung để phát triển một protocol stack hoàn thiệncho mang cảm biến không dây Hau hết các lớp đều đã có các dé xuất về các giao thứcphù hợp Tuy nhiên, đối với lớp ứng dụng, việc phát triển một giao thức phù hợp vớinó vẫn đang là một van dé đang trong quá trình nghiên cứu Hiện nay, ConstrainedApplication Protocol - CoAP được dé xuất như là một giao thức thích hợp nhất cholớp ứng dụng.
Luận văn sẽ đi sâu vào nghiên cứu việc ứng dụng giao thức CoAP cho Contiki OS củaWSNs Cùng với đó là việc đánh giá hiệu năng của hệ thống khi ứng dụng CoAP vàđưa ra các dé xuât cải tiên cho CoAP.
Một mô hình triển khai thực sẽ được triển khai trong dé tài nhằm kiểm tra các thôngsố trong điều kiện thực song song với việc sử dụng phan mềm mô phỏng
Đối tượng nghiên cứu chính của dé tài là giao thức CoAP khi ứng dụng trong WSNs:o Hệ điều hành dùng cho WSNs trong dé tài là Contiki OS
Trang 9o Nghiên cứu mô phỏng dé tai thông qua Contiki Cooja.o Nghiên cứu và triển khai mô hình thực nhằm đánh giá hiệu năng của hệ thống.o Nghiên cứu và đánh giá các thông số của hệ thống khi CoAP được triển khai.o Dé xuất hướng cải tiễn về van dé bảo mật cho CoAP.
Giới hạn thực hiện cho của đề tài sẽ bao gdm các phạm vi nội dung sau:o Tập trung nghiên cứu ứng dung CoAP vào lớp ứng dung của WSNs.
o Sử dụng một hệ điều hành cho WSNs trong dé tài là Contiki OS.o Sensor Node chính được sử dụng là: Tmote Sky.
Theo dự kiến, CoAP sẽ mang lại một thời gian trễ thập hơn và chi phí thấp hon so với
HTTP do phần Message Header của CoAP được nén lai và trên thực tế là nó sử dụng
giao thức UDP nhăm tránh cơ chế bat tay trong TCP.Song song với đó, hai thông số quan trọng của hệ thống là điện năng tiêu thụ vàbattery lifetime cũng sẽ được cải thiện đáng kể và thời gian hoạt động của hệ thốngcũng sẽ được kéo dài thêm.
Các đê xuât cải tiên được nêu ra nêu hoàn tat sẽ cung cap cho CoAP một cơ chê baomật tôt hơn Đê tài sẽ đi sâu vào việc tìm kiêm và triên khai một kỹ thuật bảo mật choquá trình giao tiêp giữa các phân tử trong mạng cảm biên với nhau cũng như giữa các
phân tử mạng VỚI các thiệt bị ngoại VI.
Trang 10DANH SÁCH HINH VE
Hình 1-1 Câu trúc nút cảm biẾn eeseesesesseeessecseeuecuessecueenesneeesesneeneensen 4Hình 1-2 Mơ hình mạng single-hop C11122 61111131 1111111111111 1111 1111111155 7
Hình 1-3 Mơ hình mang multi-hop - 2 1122211121111 11 1111111111111 x%5 7
Hình 2-1 IPv6 header ÍOrImat - - - c2 22 1102111130111 113 11111 5155111211 11111111 khen 9
Hình 2-2 6LOWPAN Protocol sfaCĂ cv 111v vn TT HT nH T90 11111 k1 ket 10
Hình 2-3 Kiến trúc 6LoWPAN -:- 12t 2121 21122212112112112212 re 12Hình 2-4 6LoWPAN/UDP compressed headers (6 byfeS) - c2: 13
Hình 2-5 DAG và DOIDDẤ cece ce 121 1221111111012 11 11111 2 1111k ng khe he 14
5002.0003080: 7/ 0621010 ằ.ằậ ỐỔỐố 15
Hình 2-7 Khởi tạo mang RPL cece cece 121112113111 1131 1111111111111 11 1111111111111 kg 16
Hình 2-8 Dinh tuyến UpwwWard c1 1212211111111 11111111 nu 17Hình 2-9 Định tuyến Downward - c1 1 112111111112111121101 11101111 re 17
Hình 3-1 Giới Thiệu về CoAP s2: 2121 221221211221211211211211121 1e 23Hình 3-2 Câu trúc bản tin CoAP 5:25 222112212112112112112112111111111 1E cxkre 24
Hình 3-3 Option ÍOrmafL - - c3 222121121 11111112211 1111111111111 n TH 15 21 1k1 k tk krh 25
Trang 11Hình 3-4 CoAP option cece c cece cece cece 1111111111111 1111111111111 1 111K ko 26
Hình 3-5 Response code - C2 000000111111 111111 1111111111111 111111 k1 ko 29
Hình 3-6 CoAP layerIng 000000 10111111 11111111111 111 1111111111111 11 vu 31
Hình 3-7 Truyền Tin Tin Cay occ ccecccccscscscscecssssessecsvssecssesesssesiesensvsvenevevsaen 32Hình 3-8 Truyền Tin Khơng Tin Cay ccccccccccccccesccsesesceceseseseecsesesseveseseevevseseneren 32Hình 3-9 Hai GET request với piggy-backed response -.‹- c5: 33
Hình 3-10 GET request với response được tách rIÊng ‹-cc c2 34
Hình 3-11 NON request và r€SDONSG 2 SH HH HH HS HS HH Hs TS TS 211111 1v ket 34
Hình 4-1 Khai quát sơ dé hệ thống mật mã ceecceeecueeceeccuescuecccuseneeateseneees 37
Hình 4-2 Lưu đồ thuật tốn RSA :- 5: 22 222211211211211212121 1e 41Hình 5-1 Packet Perception Rafe - Q10 2111111111 111111 1111111111111 1 111111 kkka 48
Hình 5-2 Nguyên tắc hoạt động của CoAP clien1 - cv kề rrtêt 50Hình 5-3 Nguyên tắc hoạt động CoAP Server c.cccccscscsesssssessseeescsesesvessesvenssevevseeee, 51
Hình 5-4 Mơ hình mang một client - mỘt Server 0 ccc cece cette * s2 53
Hình 5-5 Mơ hình mạng nhiều client - một Server c.cceccccesesceesesseeeseessesteneeeesee 54Hình 5-6 Ung dung mã hĩa RSA woo cocceccceccccccscscssssecessesececevscevssevsssusevevevsceseveveveevees 55
Hình 5-7 ROM USage cccccccccccccccceccccecee eee ee eee eeeeeeeeeeeeeeeeeeeeeeeeeeeeseeeeeseseeeeegeeeeeueeeeaas 57
Hình 5-8 Memory uSàe - cc ccc 220 111111111111111 1111111111111 se 11111111 1 vu 58
Hình 5-9 Năng lượng tiêu thu 1 client — 1 Server 225-2222 c2 si 62
Trang 12Hình 5-10 Ty lệ xử lý thành công nhiều client — 1 SerVer 2-5 + zczcz sex 64Hình 5-11 Năng lượng tiêu thụ cece 10121 2212221111 1111115211111 nh n1 khe 66
Hình 5-12 Memory usage - RŠA 21 221v HH HH TT TT TT HH T41 111 1111k k ket 67
Hinh 5-13 Rom usage - e7 Š AaÁá 67
Hình 5-14 Nút cảm biến Tmote SKY c.cccccccccecesescesesesesceceseveseecsestsseseveseevetesseneeen 69Hình 5-15 Mô hình triỀn khai thực - 5: 222252 2222E12112212111122111E11 E1 70Hình 5-16 Giao diện Copper trên Flirefox 22202 111111111111 1111111111111 kg 72
Hình 5-17 RPL border rOUf€T cece cc 2262266036032 1111 18031180 111111 11x11 ch kh ng 73
Trang 13Bang 1-1 Mô hình phân lớp mạng WSNs 0000111 eee e ee HH Hàn |
Bang 4-1 Ứng dung mã hóa RSA 1 St 1111 111115111111111111111111E0E 1E kerreg 43
Bang 5-1] RTT - i5 46
Bang 5-2 CoAP Resources trên Tmote SKY Q02 02111111 vào 52
Bang 5-4 Memory USage aaiÝảâỶẳaaa 58
Bảng 5-5 Round trip tIme - - ccc ccc 2001102111 11111111111 1111111111111 111111 1k ko 60
Bảng 5-6 Response Ï1me 002000110111 11111111111 1111111111111 1 111 1k ko 61
Bang 5-7 Round Trip T1me cece cc cesece cesses seeeee cesses 1111111111111 1 11 11k vu 63
Bang 5-8 Ty lệ gói tin xử lý thành công 2112112 1111111111111 1111111111111 xk2 65
Bang 5-9 Round Trip Time - PC - CoAP S€TV€T 2001121 vào 74
Trang 14Ipv6 over Low Power Area NetworkWireless Sensors Networks
Operation SystemIpv6 over Low Power Area NetworkNetwork Address Translation
Dynamic Host Configuration ProtocolWireless Personal Area NetworkDirection-Oriented Directed AcyclicTransmission Control ProtocolUser Datagram ProtocolAnalog-to-Digital Converter
Trang 15CHUONG1 TONG QUAN VE MẠNG CAM BIEN KHONG DẦY 1
1.1 Khái niệm mang cảm biến không day eccccccececeseecseeceseseeeecevstseeseeeeeeen |1.1.1 Khái niệm về mạng cảm biến không đây ¿+2 +x+s£zxvx+E+xz£zzee: |1.1.2 Đặc điểm mạng cảm biến không đây ¿2s + +E+E£2EEESEzEeEersksxea 21.13 Các ứng dụng mang cảm biến không dây - + +x+s£sxvx+x‡z£sree: 31.2 Cau trúc mạng cảm biẾn St St 11131111 EEEEEEEE151111111 111111155 1x6 31.2.1 Giới thiệu về cấu trúc mạng cảm biến - ¿2s St EEEEEEEE SE rrren 31.22 Cau trúc nút cảm biẾn c SE 1 1 1115151118181 15111 281tr tri 31.2.3 Cấu trúc mạng cảm biến cece St 1 E1 111 11111111E11111111111 11 8tr 6CHƯƠNG2_ GIỚI THIỆU VE 6LoWPAN VÀ GIAO THỨC RPL 82.1 Dita Chi [PV6 ooo ecceeccaeccccecececccceeccaceceeecaceseeeueeeeavecsescaeeeeavereeaueees 8
2.1.1 Giới thiệu VỀ [PV6 ooo cccccecccccccsecceeceesceeececsvececevscetsvscetscesisisevneneeseenes 82.1.2 Phân loại địa chỉ [PV6 LG CĐ SH SH ky TS kh ky cu 9
2.2 Giao thức6LOWPAN Q.00 HH TH HH TT TK TT HE kg nha 10
2.2.1 Khái niệm về 6LoWPAN 1n T2 ng ng TH TK HT HT HH ng 10
Trang 162.2.2 Kiến trúc của6LoWPAN c2 2t H220 222k 112.2.3 Chức năng thích nghi trong 6LOWPAN ccc ccccccccceeeeeeeneeeees 13
2.3 Giao thức định tuyến RPL [16] 0 0ccccccccccccesescsescesesesceeseevevevseereeeeeevseeeen 132.3.1 Khái niệm về giao thức định tuyến RPL 5 c2 322 sec 132.3.2 KNOL tạo mạng c + cà S22 S222 111k St eg 15
2.3.3 Hướng định tuyến trong RPL và một số van dé liên quan 16
2.3.4 RPLU—ICMP ccccc cece ee ceennnnneeeeceeeeaeeeeeeeeeeeeenseeesesennensaeeeees 18
CHUONG3 TONG QUAN VE CHUAN GIAO THUC RESTful VA GIAOTHỨC COAP wssessssssssssssssssssssssscsscsessessessecsessecsessecsessessessesssssesssssessssssensesessssnssesses 203.1 Khái niệm vẻ chuẩn giao thức REST#UL cece cccceececeeeceseseeteeseeeeeeenen 203.2 Khái niệm vẻ giao thức COAP ooo ceececcescseccssecesesesvesececceeseecevevsveveseeesvsvenen 213.3 Cấu trúc bản tin CoAPP s- c c21211221211111211111212112121121 010111 233.4 Option format trong COAAP, c cc c1 vn cesses nh nh nhe nhe 25
3.5 Co chế truyén bản tin trong CoALP c c SSx11 1 5151111111111 E151 ret 263.5.1 Messages Transmitted RelIably - -c c cece 2c 22221 23x22 27
3.5.2 Messages Transmitted Without ReliabiÏIty cece ca 27
3.5.3 Message [DeduplICafIOT .c cà 22c sen sea 28
3.5.4 ,., ¬ anẢ ố 28
3.5.5 Congestion COTITỌ cc cọ 1 vn vn nh nh nh nh 28
3.6 Nguyên lý Request/Response -.cc cà S c2 vn se 29
Trang 173.8.3 Nút trung gian và cach1ng - - +2 ccc cà S2 s2 35
3.8.4 Resource [DISCOV€YTV LLQ Lọ nh Hinh nen na 35
CHƯƠNG4 CƠ CHẾ MÃ HOA BAT DOT XỨNG RSA 364.1 Tìm hiểu về mật mã hóa - 52252252222 2E12E22212112112121122121221 221 2 xe 364.2 Tổng quan về thuật toán RSA St 2 S111 251115151111 11111121 18t Hke 374.3 Cơ chế hoạt động của thuật toán RSA - c- cSs tk SE He rên 38
4.3.1 Tạo khÓa: con ĐH HT KH TT TK TT TK KT Thu kk khx nra 38
A“An ổn -< ằằ 39
"X?ẽ ê nh -:aia ằẮ 39
Trang 184.4 Trién khai RSA trong Contiki OS ccccccccccccesescssesesesessecesesesesesveveveseeeeeren 404.4.1 Xây dựng hệ mã RSA ooo 22211 HS S SH vn ng 1 1 tre 40
4.4.2 Triển khai RSA trong giao tiếp client - server với CoAP 41CHUONGS ĐÁNH GIA CHAT LƯỢNG GIAO THỨC CoAP VÀ TRIENKHAI TREN MƠ HINH TH [ỰC 2 <2 S2 9 S2 SE 99v se 44
5.1 Giao thức CoAP trong Contiki ĨOS 0200021111111 1111111111111 1x vky 44
5.1.1 Giới thiệu về hệ điều hành Contiki -¿ 522225222222 2xzxzsxzsxzxre 445.1.2 Giới thiệu về giao thức CoAP trên Contiki - - ccccsxc‡Eex+xzxsere2 445.2 Định hướng mơ hình mang WSNs trên Contiki CooJa -: : 45
5.3 Các phương pháp thu thập va phân tích dữ liệu - << 55: 46
5.3.1 Thời gian truyền tin RTT (Round Trip Time) - 5s ssscxzx+s£s2 465.3.2 Response time - C2 Q1 111211111111 111 1111111111111 81111 và 46
5.3.3 Rom Usage và Ram ÙSàØ€ -.ccc Q2 11111122 9 12 1111111111111 sees 47
5.3.4 Tỷ lệ xử lý thành cơng - - 2c 1 111122112210 111111182 11111 ng kg 47
5.3.5 Năng lượng tiêu thụ 0 0000011111111 111 1111111111111 vu 48
5.4 _ Triển khai mơ hình với Tmote Sky trên Co0]a + 2 S2 k‡Esx£vxezcxcxe2 505.4.1 Thiết kế CoAP Clien( s: 2222222221 2122122122121221 21122112 xe 505.4.2 Thiết kế CoAP S€FV€r -: 22222 222212122122127122 711112211 xe 515.4.3 Mơ hình mot client — mỘT Server - - CC c c1 SE n Sky ra 52
544 _ Mơ hình nhiều client — một Server ccccccccccccccccsesseseccecsseseecsseseeseeseeees 53
Trang 195.4.5 Ung dụng mã hóa bat đối xứng RSA 5 2S Ev tr grưyn 545.4.6 Banh giá các thông số của CoAP - S ctct tTE E111 ưyg 555.5 Triển khai mô hình thực ¿c5 s2 EEEEE E1 1E 1E gu 685.5.1 Giới thiệu về nút cảm biến Tmote SKY ooo cccccccceceseeeseseseeseseeeseeeseeees 685.5.2 Mô hình triển khai thu ccc ceceecceseescseseseevsvsesvevsestsseteesesvnesees 695.5.3 Đánh giá về triển khai mô hình triển khai thực - ¿2 55s ee eeeeees 73CHƯƠNG6 KẾT LUẬN VA HƯỚNG PHÁT TRIEN - 756.1 Kết luận về để tài - ST n1 111111111111011111011 111111111 1H triệt 756.2 Hướng phát triển của dé tài 5c cc nọ v11 11111 1111111211121 8E trrgryn 766.2.1 Triển khai thêm kịch bản ứng dụng CoAP trên Contiki - -: 766.2.2 Nghiên cứu hoản thiện cơ chế mã hóa và bảo mật cho CoAP 76
Trang 20CHƯƠNG 1 (TONG QUAN VE MẠNG CAM BIEN
KHONG DAY
1.1L! Khái niệm mạng cảm biến không dây [2]
1.1.1 Khái niệm về mạng cảm biến không dâyMạng cảm biến không dây là một tập hợp của các nút cảm biến nhỏ, chi phí thấpdùng để thu thập, truyền đạt dữ liệu về môi trường như nhiệt độ, độ âm, ánh sáng, Mạng cảm biến không dây cung cấp cho chúng ta khả năng theo đõi và điềukhiển môi trường vật lý từ một nơi khác với độ chính xác cao hơn Mạng cảm biếncó những ứng dụng rộng rãi trong đời sống như: theo dõi môi trường, mục đíchquân sự, thu thập thông tin ở những địa điểm khắc nghiệt
Hiện nay, có nhiều mô hình sẽ phân lớp được dé xuất dành cho mạng cảm biếnkhông dây Tuy nhiên, trong giới han của dé tài, mô hình và các giao thức trongbảng 1-1 được lựa chọn để triển khai
Bang 1-1 Mô hình phân lớp mạng WSNs
Layers Protocol Stack
Application RESTful — CoAP
Transport UDP
Network IPv6
6LowPAN
Link/Physical IEEE 802.15.4
Trang 211.12 Đặc điểm mạng cảm biến không dayVới những sự phát triển của công nghệ hiện tại, việc dễ đàng triển khai một cáchphân tán các thiết bị nhỏ, không đắt tiền, công suất thấp sẽ giúp cho mạng khôngcảm biên có kha nang xử lý dự liệu nội bộ một cách tôt hon với độ tin cậy cao hơn.
Mỗi nút cảm biến chỉ có một khả năng xử lý giới hạn Nhưng khi kết hợp với thôngtin từ một số lượng lớn các nút trong mạng, chúng có khả năng đo được một cáchchi tiết các thông số của một môi trường định sẵn Do đó, mạng cảm biến khôngdây có thé được mô tả như một tập hợp các nút cảm biến phối hop với nhau đề thựchiện một hoạt động cụ thể nào đó Không giống như mạng truyền thống, mạng cảmbiến phụ thuộc vào việc triển khai và phối hợp giữa các nút nhăm thực hiện mộtnhiệm vụ cụ thê.
Trước đây, mạng cảm biến bao gồm một số lượng nhỏ các nút có dây nối đến trạmxử lý trung tâm Tuy nhiên, ngày nay, mạng cảm biến chủ yếu tập trung vào các yếutố: không dây, phân tán và các nut cảm biến Điều này là bởi vì khi mà vị trí cụ thécủa một hiện tượng cần được đo đạc, kiểm tra là không biết, thì việc sử dụng mạngphân tán sẽ giúp cho chúng ta tiếp cận gần hơn đến vị trí của hiện tượng đó hơn làsử dụng một nút cảm biến Thêm vao đó, trong nhiều trường hợp, nhiều nút cảmbiến là một yêu cau cần thiết khi chúng ta muốn vượt qua các hạn chế về tầm nhìnnhư vật cản, giới hạn tầm nhìn thang Trong hau hết các trường hop, môi trườngđược giám sát sẽ không thé cung cấp các ha tang về năng lượng và thông tin liên lạccho mạng cảm biết Vì vậy, các nút cảm biến đòi hỏi phải nhỏ, có tài nguyên hạnchế về năng lượng, khả năng thông tin thông qua kênh truyền không dây
Một yêu cau khác của mang là khả năng xử lý phân tán Điều này là can thiết khimà quá trình giao tiếp là quá trình tiêu thụ năng lượng chính của các nút Một hệthống tập trung có nghĩa là các nút cảm biến sẽ phải giao tiếp thông qua một khoảngcách xa dẫn đến sự tiêu hao năng lượng nhiều hơn Do đó, nâng cao khả năng xử lýthông tin tại các nút nhiều nhất có thé nhằm giảm thiểu tổng số lượng bits sẽ đượctruyền đi là một yêu cầu trong mang cảm biến không dây
Trang 221.1.3 Các ứng dụng mang cảm biến không dâyMạng cảm biến không dây có rất nhiều ứng dụng Một số ví dụ có thé kể ra nhưgiám sát môi trường bao gồm cả giám sát đất, nước và không khí, giám sát môitrường sống (xác định dân số, hành vi của các loài thực vật và động vật), phát hiệnđịa chân, theo dõi quân sự, giám sát hàng tồn kho, không gian thông minh, Trênthực tế, do tinh chất phố biến của các vi cảm biến, mang cảm biến có khả năng cáchmạng hóa cách chúng ta nhìn nhận và xây dựng một hệ thống vật lý phức tạp.
1.2L: Câu trúc mạng cảm biến [2||4|
1.2.1 Giới thiệu vé cau trúc mạng cảm biênĐôi với mạng cảm biên, các node cảm biên được phân bô trong môi trường với mậtđộ đủ đê quan sát được các thay đôi của môi trường và đông thời đảm bảo đượcviệc thông báo cho người giám sát biết sự thay đồi ấy khi can
1.2.2 Cau trúc mit cảm biếnViệc xây dựng một mạng cảm biến trước hết đòi hỏi các nút câu thành phải đượcphát triển và có sẵn trong mạng Các nút phải đáp ứng được một số yêu cầu cụ thểcủa các ứng dụng: chúng phải nhỏ, rẻ và tiêu thụ năng lượng hiệu quả, đồng thời,chúng cũng phải được trang bị các cảm biến phù hợp, khả năng tính toán và bộ nhớphù hợp cũng như là phải có các thiết bị giao tiếp Các thành phân chủ yếu của mộtnút mạng va các yếu tô quan trọng của nút bao gôm:
o_ Các thiết bị phần cứngo Năng lượng tiêu thụ của nút cảm biếno Hệ điều hành
1.2.2.1 Các thiết bị phần cứngNhư hình 1-1, một nút cảm biến cơ bản sẽ gồm có năm thành phan chính sau:
Trang 23o Bộ điêu khiên: dùng dé xử lý tat cả các dữ liệu liên quan và có khả năngthực thi các mã lệnh của chương trình.
o Bộ nhớ: được dùng để lưu trữ chương trình và dit liệu trung gian; thôngthường, những kiểu bộ nhớ khác nhau sẽ được dùng cho chương trình vàđữ liệu.
o Các cảm biến và thiết bị truyền động: là các giao diện tương tac với thếgiới thực: các thiết bị này có thể quan sát và điều khiển các thông số vậtlý của môi trường.
o Thiết bi giao tiếp: cho phép kết hợp các nút vào một mạng trong đó đòihỏi mỗi thiết bị có khả năng sửi và nhận thông tin thông qua kênh truyềnkhông dây.
o BO nguồn: các thiết bị cung cấp năng lượng cho nút cảm biến thường
được phát triển dưới dang pin Đôi khi, một số có thể được nạp lại bang
cach lay năng lượng từ môi trường như pin năng lượng mặt trời
Bộ nhớ
Thiệt bị Bộ điều khiển cam
truyền tin biên/thiệt bị
Bộ nguồn
Hình 1-1 Cau trúc nút cảm biếnMỗi thành phan trong nút cảm biến trong quá trình hoạt động đều phải cân banggiữa một bên là việc đảm bảo công suất tiêu thụ càng nhỏ càng tốt với một bên làhoàn thành các nhiệm vụ của nút một cách hiệu quả nhat Ví dụ, bộ điêu khiên va
Trang 24thiết bị giao tiếp sẽ được tắt lâu nhất có thé Đề đánh thức chúng lại, bộ điều khiểncó thể được định thời tự kích hoạt lại sau một khoản thời gian hoặc thai vào đó, các
cảm biến có thể được lập trình dé bật một ngắt nếu có một sự kiện nào đó xảy ra
như nhiệt độ tăng lên cao hơn ngưỡng cho phép hoặc thiết bị giao tiếp phát hiện cótín hiệu truyên đên.
1.2.2.2 Năng lượng tiêu thụ của nút cảm biếnNhư đã được dé cập ở trên, năng lượng cung cấp cho một nút cảm biến trong trườnghợp bình thường sẽ là pin với dung lượng thấp; việc sạc lại bang từ các nguồn nănglượng khác là phức tap va không ồn định Do đó, năng lượng tiêu thụ của một nútcảm biến phải được kiểm soát chặt Những bộ phận tiêu thụ nhiều năng lượng củamột nut từ bộ điều khiển, thiết bị thu phát vô tuyến đến nhiệu độ của bộ nho và phụthuộc vào loại cảm biên đang sử dụng.
Một đóng góp quan trọng của việc giảm thiểu năng lượng tiêu thụ của các bộ phậntrong nút đến từ công nghệ thiết kế chip: thiết kế chip công suất thấp là điểm tốtnhât dé bat dau việc giảm năng lượng tiêu thụ của node.
Các quan sát cho thấy một điều quan trọng là hầu hết thời gian hoạt động của cácnút là không thực hiện các tác vụ, hay nói đúng hơn là khoảng thời gian “rảnh” củacác nút Do đó, tắt các nút đi trong các khoảng thời gian đó là cách tốt nhất dé tiếtkiệm năng lượng Tuy nhiên, nút cảm biết không thể tắt hoàn toàn mà trạng tháihoạt động của nó phải thích ứng với các tác vụ đã được lập trình Việc giới thiệu vàsử dụng cơ chế hoạt động đa trạng thái trong đó, năng lượng tiêu thụ giảm được dựatrên các chức năng đã được giảm bớt là một kỹ thuật cốt lõi của việc nâng cao hiệuquả sử dụng năng lượng của nút cảm biến không dây
1.2.2.3 Hệ điều hànhVới những đặc trưng về thiết bị phần cứng, năng lượng tiêu thụ, hệ điều hành pháttriên riêng cho nut cảm biên không dây cân thiệt phải có kha năng ho trợ việc quan
Trang 25lý năng lượng Thêm vào đó, các thiệt bị ngoại vi như cảm biên, mô dun vô tuyên,bộ định thời cũng can phải được quản lý một cách dé dang va hiệu quả.
Tất cả các yêu câu trên đòi hỏi một mô hình chương trình tương ứng, một cách rõrang dé xây dựng một chồng giao thức và hỗ trợ việc quản ly năng lượng mà khôngcần tốn quá nhiều tài nguyên của hệ thống như bộ nhớ, thời gian thực hiện
Các hệ điều hành pho biến hiện nay trên nút cảm biến như Contiki OS, Tiny OS.Hai hệ điều hành này được phát triển trên nền tảng ngôn ngữ C và nesC
1.2.3 Cấu trúc mạng cảm biénCấu trúc của một mạng cảm biến không dây được thiết kế dựa trên rất nhiều đữ liệukhác nhau về: khả năng di động, mạng ad hoc Mỗi một mạng cảm biến khácnhau được thiết kế cho những mục đích khác nhau, tuy nhiên, chúng cùng chia sẻmột điểm chung là phải được phân cấp và có hình thức phân phối tổ chức Một quanđiểm khác, mạng cảm biết liên quan đến việc tính toán thời gian thực và trong mộtsô khác niệm là tính toán peer-to-peer
Có hai kịch bản chính dành cho mang cảm biến không dây là single-hop vàmultilple hop networks.
Single-hop networks là một trường hợp đơn giản của mang cảm biến không dây,
được sử dụng khi các nút cảm biến có thể truyền dữ liệu trực tiếp với nhau mà
không gặp giới hạn về khoảng cách, địa hình như hình 1-2
Trang 26Hinh 1-2 M6 hinh mang single-hop
Multiplehop networks là một trường hop phức tap hon của mang cảm biến khôngdây, khi mà các nút không thể giao tiếp trực tiếp được với nhau mà phải qua mộthoặc nhiều nút trung gian do giới hạn về khoảng cách hoặc địa hình như hình 1-3
o Sink là một thực thé yêu cau thông tin
Trang 27CHUONG 2 (GIOI THIEU VE 6LoWPAN VA GIAO
THUC RPL
2.10 Dia chỉ IPv6 [15]
2.1.1 Giới thiệu về IPv6IPv6 là một phiên bản mới của giao thức IP nhăm mục đích nâng cấp giao thức IPphiên bản 4 hiện nay IPv6 cho phép tăng lên đến 2!”” địa chỉ so với 2“ dia chỉ củaIPv4.
Một số đặc điểm của IPv6 có thé kể đến như:o Mở rộng không gian địa chỉ với 128 bit dùng dé đánh địa chỉ thay vì 32 bit
như IPv4.o Tăng khả năng phân cấp địa chỉ: sử dung 64 bit đầu tiên làm mã nhận dạng
mang, 64 bit cuối làm địa chi host nham phân biệt các host trong cùng một
o Khôi phục lại nguyên lý kết nối đầu cuối — đầu cuối của Interner và loại bỏhoàn toàn công nghệ NAT
o_ Quản trị TCP/IP dé dang hơn: IPv6 được thiết kế với khả năng tự động cấuhình mà không cần sử dụng máy chủ DHCP
o_ Hỗ trợ tốt hơn Multicast: Multicast là một tùy chọn của IPv4, tuy nhiên khảnăng hỗ trợ và tính phố dụng chưa cao
Trang 28o Hỗ trợ tốt hơn cho di động: địa chỉ IPv6 được thiết kế với khả năng di độngđược tích hợp vào trong Mobile IP cho phép các hệ thống dau cuối thay đổivi trí mà không mat các két nôi.
o Kha năng bảo mật cao hơn với việc IPv6 tích hợp tinh năng bảo mật bangcách sử dụng hai header mở rộng: (AH) Authentication Header và EncryptedSecurity payload (ESP).
OffsetsOctet
12162024283236
OctetBit
0326496128160192224256288
Fixed header format0 1 2 30 12.34 567 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version Traffic Class Flow Label
Payload Length Next Header Hop Limit
Source AddressDestination Address
Hình 2-1 IPvó header format
2.12 Phán loại dia chỉ IPv6Dia chỉ IPv6 được chia lam 3 loại chính:
o Địa chi unicast: dùng dé phân biệt các host đơn lẻ trên mang Địa chi Unicastđược chia 4 nhóm nhỏ:
Global Unicast addressLink — local addressUnique local addresso Dia chỉ Anycast: là một loại dia chi đặc biệt trong IPvó, gói tin chuyển đến
dia chỉ Anycast qua quá trình định tuyến sẽ được hệ thông chuyển đến host
gần nhất Loại địa chỉ này được sử dụng để đặt cho router và không được
phép đặt cho các host, đồng thời cũng không được sử dung là địa chỉ nguồncho các gói tin.
Trang 29o Dia chi Multicast: được sử dụng dé nhận dang một tập hop các nút trongmạng Tuy nhiên, khác với địa chỉ Anycast, một gói ti có dia chỉ đích là mộtđịa chi Multicast, sẽ được chuyển đến tat cả các nút có cùng địa chỉ Multicastđó.
2.2L: Giao thức 6LOwPAN [4]
2.2.1 Khái niệm về 6LOWPAN6LowPAN là một tập hợp các chuẩn giao thức Internet được định nghĩa bởi IETF.6LOWPAN được thiết kế dành cho mạng cảm biến không dây WPAN và hoạt độngtrên chuẩn IEEE 802.15.4
6LoWPAN năm giữa lớp vận chuyển và lớp liên kết đữ liệu như hình 2-2:
6LoWPAN Protocol Stack
Application ApplicationTransport UDP ICMP
Network IPv6 with LOWPAN
Data Link IEEE 802.15.4 MAC
Physical IEEE 802.15.4 PHY
Hình 2-2 6LowPAN Protocol stack
Cac dac tinh cua 6LoWPAN:
o Hỗ trợ cả phương thức đánh dia chỉ 64 bit và 16 bit của chuẩn IEEE 802.15.4o Phù hợp với các lớp liên kết năng lượng thấp như IEEE 802.15.4, những
mạng cảm biến năng lượng thấp, băng thông nhỏ.o Có phương thức nén header hiệu quả Trong 6LOWPAN, sử dung địa chỉ
IPv6 cơ bản, kết hợp với các header mở rộng và các UDP header
10
Trang 30o Tự động cau hình mang bằng các sử dụng cơ chế Neighbor Discovery.o_ Hỗ trợ chia 1280 bytes IPv6 MTU thành các khung 127 byte của 802.15.4o Hỗ trợ định tuyến IP (vi dụ định tuyến trong IETF RPL).
Việc ứng dụng 6LOWPAN trong mang WPAN là nhăm mục đích khắc phục một sỐhạn chế của mạng cảm biến không dây như chiêu dai gói dit liệu của IEEE 802.15.4là quá nhỏ so với IPv6 Lớp thích nghị 6LoWPAN ra đời với ba nhiệm vụ chính:
o Tach và gép các gói tino Nén Header
o Chuyến tiếp giữa tang Link Layer khi truyền Multi-Hop được dùng trong
mạng.
2.2.2 Kiến trúc của 6LoWPANKhi triển khai các ứng dụng của mạng LoWPAN có kết nối với Internet thì ta có thểxem như các phần tử trọng mạng LoWPAN tạo thành một stub network với việc cácgói tin IP vẫn được gửi đến và đi qua mạng đó, nhưng nó không đóng vai trog vậnchuyên gói tin đến mạng khác
Kiến trúc 6LoWPAN được thiết kế để triển khai trên stub network LoWPAN vớinên tang là IPv6 Có ba loại mạng LoWPAN khác nhau được định nghĩa: SimpleLoWPANSs, Extended LoWPANs và Ad hoc LoWPANs Một Ad hoc LoWPAnkhông được kết nối với Internet ma thay vào đó nó hoạt động mà không cần nềntảng hạ tầng Một Simple LoWPAN có kết nối với Internet thông qua LoWPANEdge Rourer tới một mạng IP Extended LoWPAN được đặt xung quanh bởi nhiềuEdge Router thông qua một backbone link (Ethernet) đề liên kết chúng lại với nhau.Mạng LoWPAN kết nối với các mạng IP khác thông qua một Edge Routers nhưhình 2-3 Edge Router đó một vai trò quan trọng trong việc định tuyến luéng đữ liệuvào và ra khỏi mạng LoWPAN Nếu mạng LoWPAN được kết nối với mạng IPv4,edge router sẽ đóng vai trò liên kết giữa hai mang này Nhiều edge router có théđược hỗ trợ trong một mạng LoWPAN nếu chúng chia sẻ cùng một backbone link
11
Trang 31Mạng LoWPAN bao g6m những nút có thé đóng vai trò như một host hoặc router,cùng với một hoặc nhiều hơn các edge router Network interface của các nút trongmột LoWPAN chia sẻ cùng một IPv6 prefix được phan phát bởi edge router vanhững router trong mạng LoWPAN Để thuận tiện cho việc nâng cao hiệu năngmạng, các nút sẽ đăng ký với một border router Các hoạt động này là một phan củaNeighbor Discovery (ND), một cơ chế quan trọng của IPv6 Neighbor Discoveryđịnh nghĩa các host và router sẽ tương tác với nhau như thé nào trên cùng mét liênkêt.
Remote serverInternet
Router
Local ServerBackhaul link
Trang 322.2.3 Chức năng thích nghỉ trong 6LowPANMột trong những chức năng chính của 6LOWPAN khi đóng vai tro là lớp thích nghĩtrong mạng LoWAN đó chính là nén IPv6 và những header đi kèm như UDP vớichức năng phân chia và đánh địa chỉ lưới Quá trình nén 6LOWPAN là không trangthái, do đó, nó rat đơn giản và đáng tin cậy.
LoWPAN header bao gdm một giá trị đính kèm nhăm xác định loại header, dựatheo IPv6 header compression byte dé chỉ ra những trường nào đã bị nén và sau đólà bat cứ trường IPv6 nào như hình 2-4
13
Trang 33nói riêng RPL cụ thé hóa việc làm cách nào dé xây dựng mô hình DODAG (hình 5) sử dụng những hàm chức năng — Objection function và một tập hợp các sốliệu/ràng buộc Hàm đối tượng hoạt động dựa trên sự kết hợp giữa số liệu và ràngbuộc nhăm tính toán đường đi tốt nhất.
2-DAG roots
DAG DODAG
Hinh 2-5 DAG va DODAG
Có thé có một vai ham chức năng hoạt động trên cùng một nút và mạng là việc triểnkhai nhiều biến thể cho nhiều mục đích khác nhau và mạng có thể cần truyền nhiềuloại dit liệu với những yêu cau về chất lượng đường di rất khác nhau Hàm chứcnăng không cần các thông tin và ràng buộc chỉ tiết nhưng can một số quy luật déđịnh hình DODAG (ví dụ như số lượng parents, back-up parents )
Đồ thị được xây dựng bởi RPL là một logical routing topology được xây dựngthông qua một mạng vật lý nhằm đáp ứng được một điều kiện cụ thé và người quảntri mạng có thể quyết định có thêm nhiều routing topology (đô thị) hoạt động tạicùng một thời điểm nhắm mang nhiều lưu lượng hon với những tập hợp về yêu cầukhác nhau.
Một số khái niệm có liên quan đến RPL bao gồm:o RPL Instance (hình 2-6): là một tập hợp gồm một hoặc nhiều DAG có cơ
chế định tuyến giống nhau Mỗi Instance chỉ sử dụng một Objective Functionduy nhất dé xây dựng câu trúc mạng
14
Trang 34` / RPL Instance' (RPLinstancelD
o DAG interaction: mỗi DAG ID va DAG sequence number cho phép xác địnhmột DAG interaction Khái niệm nay cho phép mỗi node trong mang phânbiệt các DAG ma node đã tham gia với một DAG ma node chưa từng làthành viên Đông thời khái niệm DAG interaction cũng cho phép cơ chếtránh các vòng lặp hoạt động hiệu quả hơn.
o RPL Goal: là một host hoặc một tập hợp gồm nhiều host có khả năng đápứng được các object function, phục vụ việc tập trung dữ liệu từ các DAGhoặc tạo kết nỗi giữa các DAG với các mạng và ứng dụng ngoài
o DAG Grounded: một DAG gọi là grounded nếu DAG ROOT có khả nănggiao tiếp với một Goal thích hợp
o DAG Floating: DAG là floating khi không thé chuyển dit liệu hoặc kết nốiđến một Goal phù hợp
2.3.2 Khởi tao mangKhi triển khai một mạng RPL, mỗi RPL Instance được thiết lập với một hoặcmột số DAG ROOT Các thông số định tuyến được thiết lập phù hợp với mục
15
Trang 35đích triển khai Những DAG ROOT tự động thiết lập rank bằng 0 (ROOTRANK), sau đó chúng định thời quảng bá các bản tin DIO đến những node xungquanh dé xây dung DAG của bản thân.
Trong pha khởi tạo, những node khác trong mạng có thé lựa chọn một trong haichế độ: hoặc chúng giữ trang thái silent và không gửi bat kỳ bản tin DIO naocho đến khi chúng tham gia vào một DAG xác định; hoặc ngay lập tức tự thiếtlập là DAG ROOT của một floating DAG, sau đó gửi multicast các ban tin DIOdén cac node khac trong mang.
Hinh 2-7 Khoi tao mang RPL
2.3.3 Hướng định tuyến trong RPL và một số van dé liên quanTrong RPL đề cập đến 2 hướng định tuyến: upward và downward.Định tuyến Upward (hình 2-8)la chiều đi từ các node ở xa DAG ROOT hướng vềDAG ROOT
16
Trang 36Hình 2-§ Định tuyến UpwwardĐịnh tuyến Downward (hình 2-9) là chiều ngược lại, hướng từ DAG ROOT đến cácnode ở xa hơn.
| ~ Downward route
Hinh 2-9 Dinh tuyén DownwardTrong RPL, quá trình định tuyến upward có vai trò then chốt, quyết định tính chat,hiệu năng hoạt động cua mạng Quá trình này dựa trên việc xử lý các ban tin DIO,xây dựng, xác định và duy trì các DAG, từ đó mỗi node trong DAG có thể xác địnhtuyến đường tối ưu để gửi dữ liệu về DAG ROOT một cách nhanh chóng và hiệuquả.
17
Trang 37DAG parent va preferred parent: Trong RPL sử dụng ba khái niệm thể hiện mốiquan hệ logic giữa các node trong mạng, bao gồm: neighbor, DAG parent vàpreferred parent Trong đó preferred parent của một node là một trong số nhữngDAG parent có các thông số định tuyến tốt nhất Phương thức lựa chon preferredparent được quy định bởi các hàm Object function Preferred parent sẽ được chọn lanext-hop trong quá trình truyén gói.
Quản lý neighbor, khám phá DAG và lựa chọn DAG parent: Trong RPL, mỗi nodetrong mạng tìm kiếm và quản lý các node neighbor trong phạm vi kết nối thông quacơ chế “neighbor discovery in IPv6” Theo đó, mỗi node trong mạng sẽ quản lýđược các thông số trạng thái của những node xung quanh như khả năng kết nối, địachỉ, tình trạng
Tính toán Rank và sự di chuyển của các node trong DAG: Lựa chọn rank là quatrình xác định vi trí cua node so với DAG ROOT trong DAG, đồng thời có ảnhhưởng đến mối quan hệ của node với các node khác trong mạng Quy tắc tính toánrank được quy định trong các ham Object function tương ứng với mỗi Instance cụthê
Truyén gói: Sau quá trình tham gia và xây dựng DAG, các node trong DAG tạo cácgói dir liệu và bat đầu gửi gói đến DAG ROOT Dé gửi gói đến DAG ROOT, nodephải lựa chọn một node trong route table làm next - hop và gửi gói đến next - hopđược chọn Việc lựa chọn next - hop phải tuân theo những quy luật cụ thể, nhằmmục đích truyền gói hiệu quả, giảm khả năng mat gói, tránh các vòng lặp và cácxung đột trong mạng.
2.3.4 RPL—ICMPGiao thức RPL sử dụng ba loại thông điệp điều khiển dé xây dựng va duy trì cácDAG trong mang, bao gôm: DIS (DAG Information Solicitation), DIO (DAGInformation Object — ban tin quang ba DAG), DAO (Destination AdvertismentObject —ban tin quang ba dich).
18
Trang 38o Bản tin DIS: bản tin DIS có cấu trúc như hình 2-10
0 r i€ 15 16 31
| Type = 155 Code = 0x01 Check sum |
| Instance ID | RPL DIS body |
Hinh 2-10 Ban tin DIS
o Ban tin DIO: DIO (DAG Information Object) là ban tin được tao ra tại cácDAG ROOT, mang những thông tin định tuyến của DAG như Instance, rank,metric, OCP DIO được sử dung dé quảng bá các thông tin định tuyến củamột DAG xác định trong mạng, phục vụ quá trình xây dựng DAG và địnhtuyến upward Quá trình nhận và xử lý bản tin DIO cho phép một node nhậnđiện và tham gia vào DAG phù hợp Từ đó lựa chọn các parent, xác định cácthông số cau hình và tiếp tục quảng bá thông tin DAG đến các node khác
trong mang.
o DAO — Destination Advertisment Object là ban tin được sử dung để quảngbá thông tin của các dich, được gửi từ những node có rank cao hơn đếnnhững node có rank thap hơn dọc theo DAG
19
Trang 39CHUONG 3 (TONG QUAN VE CHUAN GIAO THỨC
RESTful VA GIAO THUC COAP
3.1L: Khái niệm về chuẩn giao thức REST ful[6][7][1]REST - Representational State Transfer là một quy tac kiến trúc được định nghĩacho việc thiết kế các ứng dụng trong mạng, đặc biệt là các ứng dụng về dịch vụWeb REST định nghĩa một tập hợp các ràng buộc nhằm mục đích tối thiểu hóa độtrễ và đơn gian hóa việc giao tiếp giữa các thành phan trong mang đi đôi với việc tốiđa hóa sự độc lập và khả năng mở rộng các ứng dụng của các thành phân trong
mạng.
Kiến trúc REST thông thường sẽ hoạt động theo mô hình Client - Server Clientsgửi request đến Server; Server xử lý request và gửi lại Client response tương ứng.Ý tưởng được đưa ra là thay vì sử dụng các cơ chế phức tạp như COBRA, SOAP,RPC để giao tiếp giữa các máy tính Giao thức HTTP đơn giản sẽ được sử dụng đểgiao tiép gitta các may.
Một sô đặc diém cơ bản cua REST:
o Client — server: REST dựa trên kiến trúc client — server Client gửi dt liệuyêu cầu đến server Server xử lý yêu cầu và gửi trả lại đáp ứng cho client.o Phi trạng thái: giao tiếp được thực hiện trong REST là phi trạng thái Điều đó
có nghĩa là: client sẽ tự nó chịu trách nhiệm theo dõi trạng thái của chính nóđồng thời phải cung cấp cho server tất cả dir liệu can thiết cho mỗi yêu cầumà nó gui di.
o Cacheable: dir liệu đáp ứng của một yêu cầu cần phải được khai báo, hiểungầm hoặc tường minh là cachable hoặc non-cachable
20
Trang 40o_ Uniform interface: được dùng cho việc truy cập và chuyển dụng tài nguyên,giảm độ phức tạp và làm cho kiến trúc có thể mở rộng dễ dàng hơn Mộtuniform interface phố biến đó chính là HTTP.
o Hệ thống được phân lớp: các lớp được dùng với mục đích làm cho kiến trúccó thể mở rộng dễ dàng hơn Các lớp được xây dựng có kiến trúc cụ thể vàchỉ giao tiếp với nhau thông qua các lớp trực tiếp của nó
o Code-on-demand: được sử dụng dé mở rộng các chức năng của client bằngcach sử dụng các scripts hoặc applets.
Các kiến trúc đáp ứng day đủ các tiêu chuẩn thiết kế của REST được gọi chung làRESTful.
3.2L Khái niệm về giao thức CoAP [6][7]CoAP hoặc Constrained Application Protocol, là một giao thức RESTful lớp ứngdụng được thiết kế để sử dụng trong các thiết bị Internet với nguôn tài nguyên hạnchế chăng hạn như các nút WSNs nhằm cho phép chúng tương tác với mạngInternet CoAP được phát triển bởi IETF Core Working Group
CoAP đặc biệt nhắm tới các thiết bi cảm biến công suất nhỏ, các switches và cácthiết bị tương tự như vậy khi chúng cần được điều khiển và giám sát từ xa thôngqua một mạng internet tiêu chuân.
CoAP không đòi hỏi một giao thức truyền thông tin cậy, do đó nó có thể được sửdụng thông qua UDP thay vì TCP như HTTP Những giao thức tin cậy như TCP sẽlàm tăng độ phức tạp, kích thước và tài nguyên hiệu dụng của phan mềm; điều nàyđặc biệt nhạy cảm trong đối với các thiết bị có nguôn tài nguyên hạn chế trongWSNs.
Header trong CoAP có dạng binary với các yêu câu được gửi đi trước tiên sẽ đượcmã hóa vào các bits khác nhau theo những thức tự nhất định Điều nay sẽ làm giảmlượng dir liệu gửi, nhận và việc phân tích dữ liệu tai đầu cud1.
21