Báo cáo bài tập lớn mạng cảm biến không dây ứng dụng RPL border router

75 9 0
Báo cáo bài tập lớn mạng cảm biến không dây ứng dụng RPL border router

Đ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

Một giai pháp được phát triển thành công bởi IETF là RPL dựa IPv6 giúp giai vấn đề định tuyến này RPL có thể 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 dữ 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 được kết nối thông qua một đường truyền để đến được thiết bị root Thiết bị root có trách nhiệm thu thập và phân phối dữ 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 được hình thành bằng cách tính tốn chi phí đường cho tối ưu | Wireless Sensor Network 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-to-Point (P2P) 1.1.2 Mô hình RPL DAG DAG là mợt topo mạng mà mọi liên kết giữa node DAG có xu hướng định, hướng một DAGROOT và đam bao khơng tạo vịng lặp DAG Hình Mơ hình RPL DAG 1.1.3 Các khái niệm DAG Rank: là thông số cho biết vị trí tương đối của node so với DAG ROOT Những node càng xa DAG ROOT có rank càng cao Trong RPL, DAG ROOT có rank bằng | Wireless Sensor Network DAG ROOT: là một node DAG, có chức tập trung và xử lý dữ 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 DAG parent: cùng một DAG,

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN VIỄN THÔNG -o0o - BÁO CÁO BÀI TẬP LỚN MẠNG CẢM BIẾN KHÔNG DÂY & ỨNG DỤNG RPL Border Router TP HỒ CHÍ MINH, THÁNG NĂM 2021 | Wireless Sensor Network Contents LÝ THUYẾT RPL - Routing Protocol for Low Power and Lossy Network .3 1.1 Giao thức .3 1.1.1 Tổng quan RPL .3 1.1.2 Mơ hình RPL DAG 1.1.3 Các khái niệm 1.1.4 Các bảng tin điều khiển .5 1.2 Quá trình định tuyến 10 1.2.1 Quá trình khởi tạo mạng 10 1.2.2 Các quy tắc trình lựa chọn DAG .11 1.2.3 Tính tốn rank di chuyển node DAG .11 1.2.4 Truyền liệu 11 RPL Contiki 12 2.1 Cấu trúc .12 2.2 Thuật toán định tuyến với Contiki RPL 13 2.2.1 Quá trình hoạt động DAGROOT: .13 2.2.2 Quá trình hoạt động node thành viên 15 2.2.3 Cơ chế xử lý tin DIO xây dựng DAG 16 2.2.4 Cơ chế điều khiển kiện UDP-client 18 Border Router 19 UDP 22 4.1 Khái niệm 22 4.2 Các đặc tính của UDP 22 4.3 Cấu trúc của UDP 22 4.3.1 Tiêu đề UDP 22 4.3.2 Dữ liệu (data) .23 4.4 Ứng dụng của UDP .24 | Wireless Sensor Network MÔ PHỎNG/KIỂM TRA KẾT QUẢ 25 Những chương trình được sử dụng mô phỏng RPL Border Router 25 5.1 Phân tích chương trình border-router.c 25 5.2 Phân tích khối chương trình chính udp-server.c 33 5.3 Phân tích file makefile 36 5.4 httpd-simple.c 38 5.5 slip-bridge.c 45 5.6 SLIP (Serial Line Internet Protocol – Giao thức Internet nối tiếp) 48 Mô phỏng 50 6.1 6.2 Tutorial sử dụng Simulator (cooja) 50 6.1.1 Cài đặt InstantContiki 2.7 50 6.1.2 Cooja simulator 50 Tutorial sử dụng Tunslip utility .64 6.2.1 Định nghĩa Tunslip utility .64 6.2.2 Tutorial Tunslip utility .65 | Wireless Sensor Network .68  Quay lại Cooja simulator, nhìn vào hộp thoại Serial Socket, thông báo đã đổi thành: Client connected: /127.0.0.1 sau kết nối 68 | Wireless Sensor Network .69 Kiểm tra kết qua 70 Để kiểm tra kết nối của địa chỉ, ta dùng lệnh PING PING (Packet InterNet Grouper) là một câu lệnh được sử dụng webtool IPv6 online, để kiểm tra xem một máy chủ cụ thể có thể truy cập được qua mạng IP hay không Nó hoạt động bằng cách gửi gói “echo request” đến địa chỉ đích và chờ nhận phan hồi “echo response” của ICMP Lệnh PING sẽ cho ta biết thời gian phan hồi (được tính bằng ms), kiểm tra có packet loss nào xay và sẽ ghi lại tóm tắt thống kê hoàn tất Dưới là ví dụ minh họa cho mô phỏng ở 70  Ta có thể kiểm tra kết nối của địa chỉ bằng lệnh ping6 aaaa::212:7401:1:101 Terminal .70 | Wireless Sensor Network .70  Ta cũng có thể kiểm tra kết nối của node khác, ví dụ node 70 71  Kiểm tra bằng trình duyệt web: Truy cập vào trình duyệt web, nhập địa chỉ của node Trình duyệt sẽ hiển thị kết qua bên .71 | Wireless Sensor Network .71 | Wireless Sensor Network LÝ THUYẾT RPL - Routing Protocol for Low Power and Lossy Network 1.1 Giao thức 1.1.1 Tổng quan RPL Trong hệ thống mạng LLN, trình định tuyến khó khăn cơng suất thấp và tín 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 giai pháp được phát triển thành công bởi IETF là RPL dựa IPv6 giúp giai vấn đề định tuyến này RPL có thể 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 dữ 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 được kết nối thông qua một đường truyền để đến được thiết bị root Thiết bị root có trách nhiệm thu thập và phân phối dữ 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 được hình thành bằng cách tính tốn chi phí đường cho tối ưu | Wireless Sensor Network 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-to-Point (P2P) 1.1.2 Mô hình RPL DAG DAG là mợt topo mạng mà mọi liên kết giữa node DAG có xu hướng định, hướng một DAGROOT và đam bao khơng tạo vịng lặp DAG Hình Mơ hình RPL DAG 1.1.3 Các khái niệm DAG Rank: là thông số cho biết vị trí tương đối của node so với DAG ROOT Những node càng xa DAG ROOT có rank càng cao Trong RPL, DAG ROOT có rank bằng | Wireless Sensor Network DAG ROOT: là một node DAG, có chức tập trung và xử lý dữ 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 DAG parent: cùng một DAG, node A được gọi là parent của node B A có kha kết nối trực tiếp đến B và A có rank thấp B Khi đó, node B được gọi là children của node A DAG sibling: node A là một sibling của node B một DAG chúng có cùng rank DAG đó DODAG: là một DAG đứng riêng lẻ DODAG ID: địa chỉ Ipv6 của DAG ROOT GROUNDED: Root có kết nối bên ngoài, cho phép node DAG giao tiếp với bên ngoài FLOATING: ngược lại với grounded, floating chỉ cho node giao tiếp phạm vi DAG STORING: Các node có lưu trữ bang định tuyến chính node đó Ngược lại node khơng lưu trữ bang định tuyến ta gọi là non-storing 1.1.4 Các bảng tin điều khiển Trong RPL đề cập đến hướng định tuyến:  Upward: chiều từ node ở xa DAGROOT hướng DAGROOT  Downward: chiều từ DAGROOT đến node ở xa Trong RPL, trình định tuyến upward có vai trị then chớt, định tính chất, hiệu hoạt đợng của mạng Q trình này dựa việc xử lý ban tin DIO, xây dựng, trì DAG, từ đ1o mợi node DAG có thể xác định đường tối ưu để gửi dữ liệu DAGROOT một cách nhanh chóng và hiệu qua RPL sử dụng ba loại ban tin điều khiển để quang bá thông tin định tuyến mạng gồm:  DIS  DIO  DAO DIS – DAG Information Solicitation Ban tin DIS được gửi từ những node tự mạng (các node chưa tham gia DAG) nhằm quang bá xuất hiện của node, thăm dò xuất hiện của neighbor và yêu cầu những node khác phan hồi bằng ban tin DIO Ban tin DIS được gửi multicast node ở trạng thái tự và được gửi unicast đến một parent DAG muốn nhận lại một ban tin unicast DIO nhằm cập nhật thông tin DAG của parent đó 10 | W i r e l e s s S e n s o r N e t w o r k Hình 55 Kết qua sau compile - Click vào button Create để hồn tất q trình tạo mote type Thêm mote vào trình giả lập: Sau hoàn thành trình tạo mote type, Cooja sẽ hỏi thêm mote vào trình gia lập, thay đổi Number of new motes sau đó nhấn vào button Add motes 61 | W i r e l e s s S e n s o r N e t w o r k - Hình 56 Thêm mote Bắt đầu chạy giả lập: Sau Add motes ta sẽ thấy số node hiện cửa sổ Network 62 | W i r e l e s s S e n s o r N e t w o r k Hình 57 Kết qua sau add motes  Tương tự, truy cập vào đường link /contiki-2.7/examples/ipv6/rpludp  Chọn file udp-server.c Click vào button Open chọn file Compile, Create và Add motes Ở ta lấy ví dụ motes, linear positioning 63 | W i r e l e s s S e n s o r N e t w o r k Hình 58 Chọn example Contiki Hình 59 Kết qua sau compile 64 | W i r e l e s s S e n s o r N e t w o r k Hình 60 Thêm mote 65 | W i r e l e s s S e n s o r N e t w o r k Hình 61 Kết qua sau add motes  Chọn node bất kỳ, chọn More tools for border router -> Serial Socket (SERVER) Ta sẽ nhận được thơng báo hình 66 | W i r e l e s s S e n s o r N e t w o r k Hình 62 Serial Socket (SERVER)  Ta click vào button Start cửa sổ Simulator control để bắt đầu chạy gia lập Output sẽ hiện ở cửa sổ Mote output Cửa sổ Network sẽ hiện giao tiếp mạng Cửa sổ Timeline sẽ hiện thời gian giao tiếp giữa node cũng địa chỉ MAC của node 67 | W i r e l e s s S e n s o r N e t w o r k Hình 63 Màn hình chạy gia lập Để dừng tạm thời trình giao tiếp này ta có thể nhấn vào button Pause  Hoàn thành: đã hoàn thành trình gia lập giữa node Contiki 6.2 Tutorial sử dụng Tunslip utility 6.2.1 Định nghĩa Tunslip utility Như đã được đề cập phần giới thiệu, RPL Border Router giúp kết nối một mạng lưới này với mạng lưới khác Trong ví dụ này, RPL Border Router được dùng để xác định dữ liệu giữa RPL Border Router và một mạng ở bên ngoài Ở phần trên, ta chỉ tạo mạng RPL Bây giờ, việc cần làm là mô phỏng mạng RPL được liên kết với mạng lưới bên ngoài đó Ta sẽ dùng Tunslip utility của Contiki và ví dụ này, Tunslip sẽ tạo kết nối giữa mạng lưới RPL và máy chủ 68 | W i r e l e s s S e n s o r N e t w o r k 6.2.2 Tutorial Tunslip utility  Mở terminal, gõ câu lệnh: cd /contiki2.7/tools Hình 64  Gõ câu lệnh: make tunslip6 để compile tunslip 69 | W i r e l e s s S e n s o r N e t w o r k Hình 65  Thực hiện kết nối giữa RPL và máy chủ qua câu lệnh: sudo /tunslip6 -a 127.0.0.1 aaaa::1/64 70 | W i r e l e s s S e n s o r N e t w o r k Hình 66  Nhập password user , màn hình terminal hiển thị hình bên dưới, thơng báo đã kết nới thành cơng Hình 67 Kết nới thành cơng  Quay lại Cooja simulator, nhìn vào hợp thoại Serial Socket, thông báo đã đổi thành: Client connected: /127.0.0.1 sau kết nối 71 | W i r e l e s s S e n s o r N e t w o r k Hình 68 Serial Socket (SERVER) sau kết nối 72 | W i r e l e s s S e n s o r N e t w o r k Kiểm tra kết qua Để kiểm tra kết nối của địa chỉ, ta dùng lệnh PING PING (Packet InterNet Grouper) là một câu lệnh được sử dụng webtool IPv6 online, để kiểm tra xem một máy chủ cụ thể có thể truy cập được qua mạng IP hay không Nó hoạt động bằng cách gửi gói “echo request” đến địa chỉ đích và chờ nhận phan hồi “echo response” của ICMP Lệnh PING sẽ cho ta biết thời gian phan hồi (được tính bằng ms), kiểm tra có packet loss nào xay và sẽ ghi lại tóm tắt thống kê hoàn tất Dưới là ví dụ minh họa cho mô phỏng ở  Ta có thể kiểm tra kết nối của địa chỉ bằng lệnh ping6 aaaa::212:7401:1:101 Terminal Hình 69 Kiểm tra kết nối  Ta cũng có thể kiểm tra kết nối của node khác, ví dụ node 73 | W i r e l e s s S e n s o r N e t w o r k Hình 70 Kiểm tra kết nới  Kiểm tra bằng trình duyệt web: Truy cập vào trình duyệt web, nhập địa chỉ của node Trình duyệt sẽ hiển thị kết qua bên Hình 71 Kiểm tra kết nới trình dụt web 74 | W i r e l e s s S e n s o r N e t w o r k 75 | W i r e l e s s S e n s o r N e t w o r k ... nhận được prefix, border router sẽ được thiết lập và bắt đầu gán prefix cho nút mạng khác Chương trình border- router. c giúp cho border router giao tiếp được với nút mạng RPL, đờng thời... server web đơn gian) 5.1 Phân tich chương trình border- router. c Border- router. c là chương trình dùng để cấu hình mợt nút mạng trở thành mợt border router Trong chương trình này, nút mạng... chủ nhận được là chuyển tiếp qua kết nối USB tới border router qua tunslip6 và sau đó tất ca gói không dây 6LoWPAN được border router chuyển tiếp tới máy chủ lưu trữ dạng gói IPv6

Ngày đăng: 15/02/2022, 20:18

Từ khóa liên quan

Mục lục

  • LÝ THUYẾT

  • 1. RPL - Routing Protocol for Low Power and Lossy Network

    • 1.1 Giao thức

      • 1.1.1 Tổng quan về RPL

      • 1.1.2 Mô hình RPL DAG

      • 1.1.3 Các khái niệm 

      • 1.1.4 Các bảng tin điều khiển

        • DIS – DAG Information Solicitation

        • DIO – DAG Information Object

        • DAO – Destination Advertisment Object

        • 1.2 Quá trình định tuyến

          • 1.2.1 Quá trình khởi tạo mạng

          • 1.2.2 Các quy tắc trong quá trình lựa chọn DAG

          • 1.2.3 Tính toán rank và sự di chuyển của các node trong DAG

          • 1.2.4 Truyền dữ liệu

          • 2. RPL trong Contiki

            • 2.1 Cấu trúc

            • 2.2  Thuật toán định tuyến với Contiki RPL

              • 2.2.1 Quá trình hoạt động của DAGROOT:

              • 2.2.2 Quá trình hoạt động của các node thành viên

              • 2.2.3 Cơ chế xử lý bản tin DIO và xây dựng DAG

              • 2.2.4 Cơ chế điều khiển sự kiện của UDP-client

              • 3. Border Router

              • 4. UDP

                • 4.1 Khái niệm

                • 4.2 Các đặc tính của UDP

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

Tài liệu liên quan