BÁO CÁO KHOÁ LUẬN PHÂN TÍCH MÃ NGUỒN VÀ ĐÁNH GIÁ HIỆU NĂNG HOẠT ĐỘNG CỦA GIAO THỨC ĐỊNH TUYẾN RPL TRÊN NỀN TẢNG HỆ ĐIỀU HÀNH CONTIKIOS

133 7 0
BÁO CÁO KHOÁ LUẬN PHÂN TÍCH MÃ NGUỒN VÀ ĐÁNH GIÁ HIỆU NĂNG HOẠT ĐỘNG CỦA GIAO THỨC ĐỊNH TUYẾN RPL TRÊN NỀN TẢNG HỆ ĐIỀU HÀNH CONTIKIOS

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO KHĨA LUẬN TỐT NGHIỆP Phân tích mã nguồn đánh giá hiệu hoạt động giao thức định tuyến RPL tảng hệ điều hành mã nguồn mở ContikiOS GVHD: PGS TS Lê Trung Quân SVTH: Phạm Nguyễn Thanh Lượng – 15520467 Văn Minh Huy – 15520321 Lớp: NT114.ANTN Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 MỤC LỤC Contents I LOW POWER/LOSSY NETWORK VÀ SỰ LIÊN QUAN VỚI IOT .8 Constrained Node (Node bị ràng buộc) .8 Constrained Network ( Mạng bị ràng buộc) Constrained-Node Network .8 LLN: Low-Power and Lossy Network II GIAO THỨC ĐỊNH TUYẾN RPL 10 Tổng quan RPL 10 Giải thích thuật ngữ 10 Các loại gói tin định tuyến RPL .12 3.1 DAG Information Solicitation (DIS): 12 3.2 DAG Information Object(DIO): 12 3.3 Destination Advertismet Object(DAO) 15 Quá trình định tuyến RPL: .17 1.1 Quá trình khởi tạo mạng: 17 1.2 Các quy tắc trình lựa chọn DAG .18 1.3 Tính tốn rank và di chuyển node DAG 19 1.4 Truyền liệu 19 1.5 Ví dụ minh họa giao thức định tuyến RPL 20 III RFC 6550 .26 ICMPv6 RPL Control Message .26 IV 1.1 RPL Security Fields 27 1.2 DODAG Information Solicitation (DIS) 30 1.3 DODAG Information Object (DIO) 30 1.4 Destination Advertisement Object (DAO) 31 1.5 Destination Advertisement Object Acknowledgement (DAO-ACK) .32 1.6 Consistency Check (CC) 33 1.7 RPL Control Message Options 33 RPL Constants and Variables 38 RPL ContikiOS 40 Cấu trúc file, thư mục (directory structure) .40 Main data structure 42 Khóa luận tốt nghiệp | V Routing Protocol for LLN (RPL) | 15520467 - 15520321 2.1 RPL metic container 42 2.2 RPL Instance 43 2.3 RPL DAG 44 2.4 RPL parent 45 2.5 DAG Information Object(DIO) .45 2.6 RPL stats 46 2.7 Hằng 46 Socket RPL .54 3.1 UDP socket (udp-socket.h) 54 3.2 TCP socket (tcp-socket.h) 54 Initialization 55 4.1 DAG root 55 4.2 DAG 57 4.3 RPL network .59 Luồng gọi hàm 60 5.1 RPL init 60 5.2 Xữ lí DAG root 60 5.3 Các hàm xữ lí DAG .61 5.4 Các process xữ lí gói tin DIS, DIO và DAO .61 5.5 Các process xử lí timer 63 5.6 Các process xử lí header 63 5.7 Neighbor policy 64 5.8 NS – Nonstoring .64 5.9 Chi tiết hàm gọi process khai báo file thư viện (.h) .67 Tutorial sử dụng Simulator (cooja) và thiết bị thật (telosB) 72 6.1 Cài đặt InstantContiki 72 6.2 Cooja simulator 72 6.3 Nạp mạch telosB đơn giản .81 6.4 Sử dụng Open Sniffer 83 Một số kịch đơn giản 88 UDP Server và UDP Client (text) 88 1.1 Kịch 88 1.2 Code 89 1.3 TelosB .89 UDP Server và UDP Client (caculator) 90 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 1.1 Kịch 90 1.2 Code 91 DANH SÁCH HÌNH ẢNH Hình Mơ hình 6LoWPAN , loại LLN Hình Các khái niệm RPL 10 Hình Storing mode và Non-Storing mode .11 Hình DIS( DAG Information Solicitation) 12 Hình Cấu trúc gói tin DIS (DAG Information Solicitation) 12 Hình DIO(DAG Information Object) 13 Hình Cấu trúc gói tin DIO(DAG Information Object) 13 Hình Destination Advertisement Object (DAO) .15 Hình Cấu trúc gói tin DAO(DAG Advertisement Object) 16 Hình 10 Quá trình hình thành DAG (1) 20 Hình 11 Quá trình hình thành DAG (2) 20 Hình 12 Quá trình hình thành DAG (3) 21 Hình 13 Quá trình hình thành DAG (4) 21 Hình 14 Quá trình hình thành DAG (5) 22 Hình 15 Cơ chế chống loop (1) 22 Hình 16 Cơ chế chống loop (2) 23 Hình 17 Cơ chế chống loop (3) 23 Hình 18 Cơ chế chống loop (4) 24 Hình 19 Cơ chế chống loop (5) 24 Hình 20 Cơ chế chống loop (6) 24 Hình 21 Cơ chế chống loop (7) 25 Hình 22 Cơ chế chống loop (8) 25 Hình 23 RPL Control Message 26 Hình 24 Security Section 27 Hình 25 Security Algorithm (Algorithm) Encoding 27 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 26 The DIS Base Object .30 Hình 27 The DIO Base Object 30 Hình 28 Mode of Operation (MOP) Encoding 31 Hình 29 The DAO Base Object 31 Hình 30 The DAO ACK Base Object 32 Hình 31 The CC Base Object 33 Hình 32 RPL Option Generic Format 33 Hình 33 Format of the Pad1 Option 34 Hình 34 Format of the Pad N Option 34 Hình 35 Format of the DAG Metric Container Option 34 Hình 36 Format of the Route Information Option .35 Hình 37 Format of the DODAG Configuration Option .35 Hình 38 Format of the RPL Target Option 36 Hình 39 Format of Transit Information Option 36 Hình 40 Format of the Solicited Information Option 37 Hình 41 Format of the Prefix Information Option .37 Hình 42 Format of the RPL Target Descriptor Option .38 Hình 43 RPL directory in ContikiOS 40 Hình 44 RPL files 40 Hình 45 Kiến trúc giao thức mạng Contiki RPL 41 Hình 46 Cấu trúc Contiki RPL 41 Hình 47 Rpl_metric_container structure 42 Hình 48 rpl_instance structure 43 Hình 49 Rpl_dag structure 44 Hình 50 Rpl_parent structure 45 Hình 51 Rpl_dio structure 45 Hình 52 Rpl_stats structure 46 Hình 53 RPL message types (mợt ví dụ khai báo) 46 Hình 54 nbr_table struct 53 Hình 55 MAX_NUM_TABLES 53 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 56 NBR table Constant 53 Hình 57 UDP socket structure 54 Hình 58 TCP socket structure .54 Hình 59 Quá trình hoạt đợng DAG Root .60 Hình 60 Xữ lí kiện tại ROOT 61 Hình 61 Run cooja .72 Hình 62 Cửa sổ Cooja 73 Hình 63 Tạo New Simulator .74 Hình 64 Cửa sổ giả lập 75 Hình 65 Tạo Sky mote 76 Hình 66 Cửa sổ creat mote type 76 Hình 67 Chọn example Contiki 77 Hình 68 Bắt đầu Compile 78 Hình 69 Kết sau compile 78 Hình 70 Thêm mote .79 Hình 71 Kết sau add motes 79 Hình 72 Màn hình chạy giả lập 80 Hình 73 Thiết bị Open Sniffer 83 Hình 74 Host IP để connect với Open Sniffer 83 Hình 75 Open Sniffer web interface 84 Hình 76 Wireshark Interface (Open Sniffer) 85 Hình 77 wpan filter (wireshark) 85 Hình 78 Start Open Sniffer 85 Hình 79 Network scan 86 Hình 80 Kết lắng nghe mợt ví dụ đơn giản (1) 87 Hình 81 Kết lắng nghe mợt ví dụ đơn giản (2) 87 Hình 82 Kết lắng nghe mợt ví dụ đơn giản (2) 87 Hình 83 Kết lắng nghe mợt ví dụ đơn giản (3) 88 Hình 84 Kết lắng nghe mợt ví dụ đơn giản (4) 88 Hình 85 Mơ hình kịch và kết thử nghiệm Cooja 89 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 86 Code kịch .89 Hình 87 Open Sniffer lắng nghe nội dung chuyển kịch 90 Hình 88 Mơ hình kịch và kết thử nghiệm Cooja 91 Hình 89 Code kịch (client) 92 Hình 90 Code kịch (Server) 92 Hình 91 Mơ hình 93 Hình 92 Mơ hình 94 Hình 93 Mơ hình 94 DANH SÁCH BẢNG Table Key Identifier Mode (KIM) Encoding 29 Table Security Level (LVL) Encoding .30 Table RPL Constantes 53 Table Public RPL functions .69 Table RPL DAG root 69 Table ICMPv6 functions for RPL 70 Table RPL logic functions 70 Table DAG object management .70 Table DAG parent management function 71 Table 10 RPL routing table functions 71 Table 11 Objective function 72 Table 12 Timer functions 72 Table 13 Route poisoning 72 Table 14 Bảng tổng kết kịch nhằm đánh giá hiệu 94 Table 15 Bảng thông số, số liệu cần đo đạc và đánh giá 96 I LOW POWER/LOSSY NETWORK VÀ SỰ LIÊN QUAN VỚI IOT [CITATION CBo14 \l 1033 ] Constrained Node (Node bị ràng buộc) Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Là node mà nơi có mợt số tính chất, đặc điểm lẽ mặc định là node internet tại thời điểm đăng kí lại khơng thể đạt tới được, thường là ràng buộc cost và/hoặc là ràng buộc vật lý kích cỡ, cân nặng, nguồn tài nguyên và lượng sẵn có Việc giới hạn chặt chẽ lượng, nhớ tài nguyên tiến trình dẫn đến khó khăn việc phá vỡ giới hạn trạng thái, quy tắc không gian, và chu kỳ tiến trình, tạo nên tối ưu hóa lượng và việc sử dụng băng thông chiếm ưu đáng kể tất yêu cầu thiết kế thêm vào đó, mợt vài dịch vụ lớp kết nối hoàn toàn và broadcast/multicast bị thiết sót Constrained Network ( Mạng bị ràng buộc) Là mợt mạng mà tại có mợt số tính chất, đặc điểm lẽ mặc định với tầng liên kết theo cách thông thường internet tại thời điểm đăng kí lại khơng thể đạt tới Ràng ḅc bao gồm: Thơng lượng/tỉ lệ bit (bitrate) thấp ( bao gồm giới hạn chu kỳ nhiệm vụ ) Khả gói và thay đổi gói cao (tỉ lệ vận chuyển) Đặc điểm liên kết bất đối xứng cao Những ảnh hưởng nghiêm trọng việc sử dụng gói dung lượng lớn ( khả gói cao phá vỡ tầng liên kết )  Giới hạn khả tiếp cận theo thời gian  Sự thiếu sót ( mợt vài ràng buộc ) dịch vụ cấp cao ip multicast     Constrained-Node Network Là một mạng mà đặc điểm bị ảnh hưởng một số lượng đáng kể node bị ràng buộc Một mạng node bị ràng buộc là mợt mạng bị ràng ḅc nhồi nhét mạng ràng buộc từ node bị ràng buộc, cũng có ràng ḅc khác khiến thân trở thành mạng bị ràng ḅc LLN: Low-Power and Lossy Network LLN: Mạng Low-Power và Lossy Thường bao gồm nhiều thiết bị nhúng với lượng, nhớ tài nguyên tiến trình giới hạn (Constrained Node) kết nối với nhiều liên kết, chẳng hạn IEEE 802.15.4 low-power Wi-Fi Có nhiều lĩnh vực ứng dụng cho LLN, bao gồm giám sát cơng nghiệp, xây dựng tự đợng Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 hóa (sưởi ấm, thơng gió và điều hịa khơng khí (HVAC), ánh sáng, kiểm sốt truy cập, cháy), chăm sóc sức khoẻ, giám sát mơi trường, mạng cảm biến, quản lý lượng, theo dõi tài sản, và điện lạnh Hình Mô hình 6LoWPAN , loại LLN II GIAO THỨC ĐỊNH TUYẾN RPL [CITATION Rep \l 1033 ] Tổng quan RPL  Trong hệ thống mạng LLN, q trình định tuyến khó khăn công suất thấp và tin hiệu truyền yếu, nguồn lượng pin hạn chế, nhiều hop tham gia vào mạng và hop này liên tục thay đổi vị trí Mợt giải pháp phát triển thành cơng IETF là RPL dựa IPv6 giúp giải vấn đề đính tuyến này Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321  RPL hỗ trợ nhiều tầng liên kết khác nhau, bao gồm thiết bị hạn chế tài nguyên, mát liệu,… tự động xây dựng, môi trường công nghiệp, ừng dụng đô thị RPL giúp nhanh chóng tạo mợt hệ thống mạng và truyền thông tin đến một số lượng lớn node  Trong cấu hình thiết lập RPL, node mạng kết nối thông qua một đường truyền để đến thiết bị root Thiết bị root có trách nhiệm thu thập và phân phối liệu Mỗi hệ thống gồm node và thiết bị root vậy, ta gọi là một Destination Oriented Directed Acyclic Graph (DODAG) Đồ thị này hình thành cách tính tốn chi phí đường cho tối ưu  RPL truyền thông tin định tuyến qua một lượng lớn node Nó hỗ trợ lưu lượng Multipoint-to-Point (MP2P), Point-to-Multipoint (P2MP), và Point-toPoint (P2P) Giải thích thuật ngữ Trước sâu vào tìm hiểu chi tiết cách thức khởi tạo mạng RPL, xem xét thuật ngữ sau đây: 3.1 3.2 3.3 Hình Các khái niệm RPL DAG: là một topo mạng mà liên kết node có hướng xác định, hướng DAG ROOT và đảm bảo khơng tạp vịng lặp topo DAG Rank: là thơng số cho biết vị trí tương đối node so với DAG ROOT Những node càng xa DAG ROOT có rank càng cao Trong RPL, DAG ROOT ln có rank DAG ROOT: là mợt node DAG, có chức tập trung và xử lý liệu từ node khác mạng gửi đến Mọi tuyến liên kết DAG hướng và kết thúc tại DAG ROOT 10 Khóa luận tốt nghiệp |  Routing Protocol for LLN (RPL) | 15520467 - 15520321 Nếu bạn không phân chia theo runtime cụ thể, bạn sẽ nhận mức tiêu thụ lượng suốt thời gian chạy 3.4 Powertrace Đối với phân tích lượng tiêu thụ mợt node cảm biến Contiki cịn cung cấp một công cụ ứng dụng khác là Powertrace, chạy mợt tiến trình node cảm biến Nó sử dụng Energest với định thời khác với rtimer để nhận thông số lượng trung bình cho node tham gia mạng Powertrace báo cáo mức lượng tiêu thụ và sử dụng tài ngun mợt node, và hiển thị thơng số thống kê console Mã nguồn Powertrace đặt thư mục “\contiki\apps\powertrace” Ví dụ code sử dụng Powertrace: 119 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 #include "contiki.h" #include "random.h" #include "powertrace.h" #include PROCESS(power, "powertrace example"); AUTOSTART_PROCESSES(&power); PROCESS_THREAD(power, ev, data) { static struct etimer et; PROCESS_BEGIN(); /* Start powertracing */ int n = 1; // second reporting cycle powertrace_start(CLOCK_SECOND * n); printf("Ticks per second: %u\n", RTIMER_SECOND); while(1) { /* Delay 2-4 seconds and then perform some tasks */ float t = 2*((float)random_rand()/RANDOM_RAND_MAX) + 2; etimer_set(&et, CLOCK_SECOND*t); PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et)); // Put your tasks here } PROCESS_END(); } 120 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Để biên dịch code, bạn cần phải include ứng dụng powertrace Makefile: CONTIKI_PROJECT = power APPS += powertrace all: $(CONTIKI_PROJECT) CONTIKI = / include $(CONTIKI)/Makefile.include Khi chạy chương trình, màn hình console sẽ hiển thị thơng số liên quan đến lượng tiêu thụ giây Một ví dụ output giải thích trên: 2408 P 193.250 17 11309 578542 2574 2574 689 32078 144 144 (radio 0.43% / 0.43% tx 0.00% / 0.00% listen 0.43% / 0.43%) Parameter and value clock_time() = 2408 rimeaddr = 193, 250 all_cpu = 11309 all_lpm = 578542 Giải thích Thời gian Địa chỉ Rime Số thứ tự Năng lượng CPU tiêu thụ tích trữ Năng lượng tiêu thụ mode Low Power tích trữ Năng lượng tiêu thụ truyền tải tích trữ Năng lượng tiêu thụ lắng nghe tích trữ Năng lượng tiêu thụ trạng thái truyền tải nghỉ tích trữ Năng lượng tiêu thụ trạng thái lắng nghe nghỉ tích trữ Năng lượng tiêu thụ CPU cho chu kì này Năng lượng tiêu thụ LPM cho chu kì này Năng lượng tiêu thụ truyền tải cho chu kì này Năng lượng tiêu thụ lắng nghe cho all_transmit = all_listen = 2574 all_idle_transmit = all_idle_listen = 2574 cpu = 689 lpm = 32078 transmit = listen = 144 idle_transmit = 121 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 chu kì này idle_listen = 144 Năng lượng tiêu thụ trạng thái truyền tải nghỉ chu kì này Năng lượng tiêu thụ trạng thái lắng nghe nghỉ chu kì này Table 17 Bảng giải thích biến giá trị Powertrace Powertrace theo dõi thời lượng hoạt động một node trạng thái nguồn (power states) Nói cách khác, đầu hiển thị phần thời gian mà một nút vẫn trạng thái nguồn cụ thể Trong ví dụ trên, có power states xác định: CPU, LPM, TRANSMIT, LISTEN, IDLE_TRANSMIT, IDLE_LISTEN Power states đo bộ hẹn giờ theo phần cứng Tần số xác định RTIMER_SECOND (mỗi thiết bị có số riêng) Có thể kiểm tra cách tính tổng tất power states lại và so sánh có gần với RTIMER_SECOND thiết bị hay không Sử dụng lệnh để ghi output file: $ make TARGET=xm1000 login > power.csv Thay hiển thị thơng số màn hình, thông số sẽ lưu vào một file tên “power.csv” Thơng thường, để dừng process, press CTRL+C Thư mục chứa một file tên “power.csv” với thông số tiêu thụ lượng Sử dụng liệu lưu trử để phân tích 3.5 Wireshark & Open Sniffer* Để thiết thực hơn, ta cần đưa mơ hình thực tế Khi triển khai thực tế, cần phải sử dụng công cụ phức tạp so với công cụ có sẵn Cooja simulator  Để bắt gói tin, ta cần phải sử dụng thiết bị Open Sniffer kết hợp với Wireshark và bắt gói tin truyền node với  Cần phải xác định nào là DAG hoàn thành (mạng hợi tụ) để đưa thời gian xác  Đối với liệu lớn cần truyền, cần phải chắn packets chung session và nào chúng hoàn thành trình gữi  Khi di chuyển node nhằm đo DAG prepair time, cần phải chắn node bị tách biệt khỏi DAG, sau gia nhập lại DAG (về khoảng cách, …)  Tính tốn băng thơng, delay và Packet loss từ wireshark Đưa datashet kết đo đạc mô hình thực tế 122 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Sau có hai datasheet hoàn chỉnh, so sánh hai datasheet và cho kết tính tốn, trung bình, đợ lệch giả lập và thực tế 3.6 Collect View Hỗ trợ cho trình đánh giá hiệu năng, Contiki cịn cung cấp mợt cơng cụ khác là Collect View, thu thập thơng tin node mạng (sender motes) mà chỉ cần kết nối với một node tập trung (sink mote) Một số thư mục và file liên quan:  contiki/examples/collect/ - Chứa shell code collect view và mục tiêu khác  /contiki/examples/ipv6/rpl-collect/ - Chứa code mà sẽ nạp lên sink motes và sender motes giao tiếp UDP  /contiki/tools/collect-view/ - Chứa java file cho giao diện collect view  /contiki/apps/collect-view/ - chứa code sẽ trả lời cho mục tiêu nhắc đến folder ví dụ Kết nối với Tmote Sky (TelosB) Đầu tiên cắm Tmote Sky vào cổng USB máy, một cho sender mote và một cho sink mote Cấp quyền cho cổng USB: sudo chown :user /dev/ttyUSB0 sudo chown :user /dev/ttyUSB1 Sử dụng mã nguồn:  Bước 1: Đến thư mục /examples/collect/  Bước 2: Bây giờ ta cần lập trình mợt sink mote và mợt sender node Chúng ta sử dụng mục tiêu xác định trước là “sky” và nạp code lên: For sink: make TARGET=sky MOTES=/dev/ttyUSB0 collect-view-shell.upload For source:   make TARGET=sky MOTES=/dev/ttyUSB1 collect-view-shell.upload Bước 3: Mở collect-view GUI và nhận liệu Đến thư mục /tools/collect-view và chạy lệnh “ant run” để chạy GUI Bước 4: Để hiển thị liệu nhận sink node, đến thư mục /tools/collect-view/dist và chạy lệnh: java -jar collect-view.jar /dev/ttyUSB0 123 Khóa luận tốt nghiệp |  Routing Protocol for LLN (RPL) | 15520467 - 15520321 Bước 5: Ở cửa sổ collect từ Tool menu, Chọn “Run Init script” và “Node Control” tab và click vào “Start Collect” Điều này sẽ bật giao tiếp máy bạn và sender node và bạn sẽ xem liệu mợt cách dễ dàng Sử dụng giao diện (GUI):  Bước 1: Khi thiết bị kết nối qua cổng USB, đến thư mục /tools/collect-view directory và chạy lệnh “ant run” để mở cửa sổ Collect View  Bước 2: Nhấp nút “Program Nodes …” giao diện  Bước 3: Tắt kết nối tất cổng USB khác trừ cổng cắm thiết bị Nhấp nút “Connect to serial” Các thiết bị tắt kết nối vẫn hoạt đợng (có nguồn)  Bước 4: Nhấn nút “Send Collect”  Bước 5: Thiết lập “Collect Setting” khác dựa bạn muốn và nhấn nút “Send command to nodes”  Bước 6: Xem liệu phân tích qua tab giao diện Sử dụng Cooja Simulator:  Bước 1: Đến thư mục /tools/cooja/ và nhập lệnh “ant run”  Bước 2: Tạo một kịch  Bước 3: Tạo mote Ở mục “Create mote type” chọn tên phù hợp cho loại mote Ở mục “Contiki process/Firmware option”, chọn code hỗ trợ collect view sau compile và tạo node  Bước 4: Bắt đầu chạy kịch nhấp “Start” cửa sổ “Simulation Control”  Bước 5: Click chuột vào sink mote cửa sổ “Network”, chọn “Mote tools for created mote type -> collect view”, giao diện Collect View sẽ xuất  Bước 6: Làm bước tương tự với sử dụng giao diện Các thông tin thu thập bao gồm:  Mơ hình mạng (Topological graphs)  Sensor Map  Network Graph  Vai trò node (Sensor Related Plots)  Temperature Sensor - Average Temperatue and Temperature  Humidity Sensor - Relative Humidity  Battery Sensor - Battery Indicator and Battery Voltage 124 Khóa luận tốt nghiệp |    Routing Protocol for LLN (RPL) | 15520467 - 15520321  Light Sensor - Light and Light Các thông số mạng (Network Metrics Related Plots)  Neighbours  Beacon Interval  Network Hops  Over Time  Per Node  Router Metric (Over Time)  Instantaneous  Average  ETX (Over Time)  Next Hop (Over Time)  Latency  Lost Packets (Over Time)  Received Packets  Over Time  Per Node  Every Các thông số lượng (Power Related Plots)  Average Power  Instantaneous Power  Power History  Radio Duty Cycle Các thông tin khác  Node Info – Tổng quan tất node và số liệu thống kê chúng  Serial Console – User tương tác trực tiếp với mote thơng qua gửi lệnh qua Ví dụ: 125 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 94 Mô hình mạng Cooja – rpl-collect Mơ hình cung cấp Contiki, rpl-collect với node là sink node đóng vai trị là mợt DAG ROOT và 24 sender node Một số kết thu được: Hình 95 Routing Metric – rpl-collect Hình 96 Received Packets Lost Packets – rpl-collect 126 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 97 Radio Duty Cycle Power Consumption – rpl-collect 15.Chi tiết test case cách thực Cooja Simulator Để thu datasheet mang tính khách quan, chúng tơi tiến hành thực ba testcase khác (có thể bổ sung) Với số lượng node và khoảng cách khác như:        nodes với khoảng cách mét: 5nodes5m nodes với khoảng cách 10 mét: 5nodes10m nodes với khoảng cách 15 mét: 5nodes15m 10 nodes với khoảng cách mét: 10nodes5m 10 nodes với khoảng cách 10 mét: 10nodes10m 10 nodes với khoảng cách 15 mét: 10nodes15m 50 nodes với khoảng cách 10m: 50nodes10m (chỉ test case 2) 127 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) 4.1 Test case Parent có Children Mơ hình mạng: Hình 98 Test case network map 4.4 Test case Parent có hai Children Mơ hình mạng: Hình 99 Test case network map 128 | 15520467 - 15520321 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 4.5 Test case Parent có ba Children Mơ hình mạng: Hình 100 Test case network map 4.6 Cách thực  Bước 1: Tạo “simulation” với tên là kịch thực VD: 5nodes5m(case1)  Bước 2: Tạo sink node và sender node “rpl collect” cung cấp Cooja Một sink node và x sender node phù hợp với mơ hình (VD: với mơ hình node x=4) View -> Show mote IDs và Mote type để dễ quan sát Hình 101 Mote type Sink node Sender node  Bước 3: Kéo thả vị trí node cho với mơ hình mạng đề View -> 10m background grid để xác định vị trí tương đối mơ hình Ví dụ: 129 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 102 5nodes5m network  Bước 4: Change transmissions ranges để node khởi tạo DAG với mơ hình View->Radio environment (UDGM) để hiển thị transmission ranges Ví dụ: 5nodes5m có transmission ranges là 6m 5,5m Hình 103 5nodes5m transmission ranges  Bước 5: Tools -> Radio messages … sau Analyzer -> 6LoWPAN Analyzer with PCAP để export file pcap thư mục /home/user/contiki/tools/cooja Hình 104 Radio messages 130 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 105 6LoWPAN Analyzer with PCAP Hình 106 Pcap file  Bước 6: Khởi động Collect View sink node, click chuột phải vào sink node -> Mote tools for … -> Collect View 131 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 Hình 107 Khởi động Collect View Sink node  Bước 7: Tại Simulation control, giới hạn tốc đợ Simulation lại 100% Sau Start simulation vòng 15 phút và quan sát kết Hình 108 Simulation Speed limit  Bước 8: Thu thập thông số, số liệu, biểu đồ hiển thị Collect View (đặc biệt là node info), lưu lại file pcap, file Mote ouput (txt - loglistener) và file Simulation (csc – nhằm mục đích tái sử dụng bổ sung) một thư mục với tên là tên Test case thực  Bước 9: Tổng hợp và đánh giá từ liệu thu thập 132 Khóa luận tốt nghiệp | Routing Protocol for LLN (RPL) | 15520467 - 15520321 4.7 Kết đánh giá Với kịch và phương pháp nêu trên, nhóm thu kết là datasheet tổng hợp số liệu đo đạc từ kịch Dưới là mợt số đánh giá nhóm  Do thực với môi trường Simulator, với điều kiện gần là lý tưởng, DAG init time test case có số lượng node giống là nhau, Packet loss ratio  Các số liệu khác tương đối xấp xỉ  Có thể thấy, test case (parent chỉ có mợt children) có số liệu chênh lệch rõ ràng test case cịn lại, ví dụ Rtmetric, Bandwitdth, Transmit Power có phần lớn rõ ràng 133 ... roots BASE_RANK có giá trị  ROOT_RANK: là Rank DODAG root ROOT_RANK có giá trị MinHopRankIncrease (như quảng bá DODAG root), DAGRank (ROOT_RANK) là  INFINITE_RANK: Đây là số lớn cho Rank... DIO Base Object  Mode of Operation (MOP): trường MOP xác định chế độ hoạt động RPL Instance ta? ?o DODAG root Tất nodes tham gia va? ?o DODAG phải để giữ nguyên MOP order để tham gia hoàn toàn... 36 Format of the Route Information Option .35 Hình 37 Format of the DODAG Configuration Option .35 Hình 38 Format of the RPL Target Option 36 Hình 39 Format of Transit

Ngày đăng: 15/01/2022, 08:40

Mục lục

    DANH SÁCH HÌNH ẢNH

    I. LOW POWER/LOSSY NETWORK VÀ SỰ LIÊN QUAN VỚI IOT [CITATION CBo14 l 1033 ]

    1. Constrained Node (Node bị ràng buộc)

    2. Constrained Network ( Mạng bị ràng buộc)

    4. LLN: Low-Power and Lossy Network

    II. GIAO THỨC ĐỊNH TUYẾN RPL [CITATION Rep l 1033 ]

    1. Tổng quan về RPL

    6. Các loại gói tin định tuyến trong RPL

    3.1. DAG Information Solicitation (DIS):

    3.2. DAG Information Object(DIO):

Tài liệu cùng người dùng

Tài liệu liên quan