Giao thức định tuyến RPL

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu đánh giá giao thức định tuyến thu thập dữ liệu cho mạng cảm biến không dây trong môi trường di động​ (Trang 52 - 55)

6. Đóng góp của luận văn

2.5.2. Giao thức định tuyến RPL

Giao thức định tuyến RPL [16] đƣợc thiết kế cho các mạng tổn hao công suất thấp LLNs (Low-Power and Lossy Networks) với các nút mạng có tài nguyên hạn chế và đƣợc kết nối với nhau bởi các liên kết tổn hao (có sự mất mát bản tin). Trong những mạng này, lƣu lƣợng bản tin dữ liệu thƣờng bị giới hạn và lƣu lƣợng bản tin điều khiển cần đƣợc giảm xuống ở mức thấp nhất có thể để tiết kiệm băng thông và năng lƣợng.

RPL là một giao thức vectơ khoảng cách. Giao thức này xây dựng cấu trúc mạng gồm một hoặc nhiều DODAG (Destination Oriented Direct Acyclic Graph). Các tuyến đƣờng đƣợc xây dựng từ các nút trong mạng đến một trong những nút gốc của các DODAG. Giao thức định tuyến vectơ khoảng cách hoàn toàn phù hợp với tính chất hạn chế về tài nguyên của các nút mạng. Mặc dù các giao thức định tuyến trạng thái liên kết hiệu quả hơn so với các giao thức định tuyến vectơ khoảng cách nhƣng chúng cũng yêu cầu nhiều hơn về tài nguyên bộ nhớ để lƣu trạng thái liên kết và lƣu lƣợng điều khiển để đồng bộ các trạng thái liên kết giữa các nút mạng.

Hình 2.11: Ví dụ về một DODAG

Một ví dụ về một DODAG đƣợc minh họa ở hình 2.11. Khác với các cấu trúc liên kết hình cây, các DODAG cung cấp những đƣờng dẫn dƣ thừa và đây là một yêu cầu bắt buộc trong các mạng tổn hao. Do vậy, giao thức RPL có thể cung cấp nhiều hơn một tuyến đƣờng từ một nút đến nút gốc DODAG và thậm chí đến cả những nút khác trong mạng.

RPL sử dụng các thuật ngữ “hƣớng lên” (upward) và “hƣớng xuống” (downward). Hƣớng lên là từ các nút lá hƣớng đến nút gốc. Hƣớng xuống dùng để chỉ chiều ngƣợc lại. Các thuật ngữ “nút cha/nút con” (parent/children) cũng thƣờng đƣợc sử dụng. Parent của một nút trong một DODAG là nút kế tiếp gần nhất trong DODAG theo chiều hƣớng lên. RPL cũng đƣa ra thuật ngữ về “anh em” (sibling). Hai nút đƣợc gọi là sibling của nhau khi chúng có cùng rank trong cùng một DODAG. Trong hình 2.11, nút 2.2 là parent của nút 3.3; nút 3.3 và nút 3.2 là sibling của nhau và nút 4.3, 4.4 là children của nút 3.3.

Hoạt động của giao thức RPL đƣợc diễn ra nhƣ sau: Đầu tiên, một hoặc một vài nút sẽ đƣợc cấu hình là các nút gốc. Một cơ chế tìm kiếm các nút lân cận dựa trên các bản tin điều khiển ICMPv6 đƣợc sử dụng để xây dựng DAG. RPL định nghĩa ba loại bản ICMPv6 mới đƣợc gọi là bản tin DIO (DODAG Information Object), bản tin DAO (Destination Advertisement Object) và bản tin DIS (DODAG Information Solicitation). DIO là bản tin mang thông tin về DODAG, đƣợc gửi từ các nút parent đến các nút children và đƣợc sử dụng để xây dựng DODAG. DIS chỉ thực hiện nhiệm vụ quảng bá sự xuất hiện của một nút và yêu cầu các nút khác phản hồi bằng các bản tin DIO. DAO là bản tin đƣợc gửi từ một nút children đến các parent nhằm quảng bá khả năng tham gia vào quá trình định tuyến theo chiều downward trong mạng. Khi một nút đã tham gia vào một DODAG thì nó sẽ có một

tuyến đƣờng hƣớng về một nút gốc (có thể là một tuyến đƣờng mặc định) để hỗ trợ lƣu lƣợng MP2P (Multi-Point to Point) từ các nút lá về nút gốc (theo hƣớng lên).

Quá trình xây dựng DODAG đƣợc minh họa ở hình 2.12. Thƣớc đo định tuyến là chất lƣợng liên kết ETX. Hàm mục tiêu là xác định tuyến đƣờng có ETX (mục 2.5.1) nhỏ nhất và Rank đƣợc tính dựa trên số bƣớc nhảy.

Bƣớc 1: Nút gốc bắt đầu gửi multicast các bản tin DIO trên liên kết cục bộ.

Một trong số các nút nhận đƣợc bản tin DIO cũng có thể quyết định gửi bản tin DIS. Trong trƣờng hợp đó, nút gốc cũng ngay lập tức gửi lại một bản tin DIO.

Hình 2.12: Ví dụ về việc hình thành DODAG

Bƣớc 2: Nút 11, 12 và 13 nhận bản tin DIO. Sau quá trình xử lý bản tin DIO,

nút 11, 12 và 13 lựa chọn LBR là nút Parent của chúng. Sau đó, nút 11, 12 và 13 tính toán Rank mới của chúng dựa trên số bƣớc nhảy và giá trị ETX của tuyến đƣờng cũng đƣợc tính toán. Nút 11 cũng lựa chọn nút 12 là Sibling và ngƣợc lại (có cùng Rank).

Bƣớc 3: Minh họa kết quả DODAG sau một số lần lặp lại quá trình tƣơng tự

nhƣ vậy. Lƣu ý rằng liên kết 22-11 đã đƣợc loại bớt khỏi DODAG bởi vì nút 12 là Parent tốt hơn khi đƣợc xem xét theo hàm mục tiêu (ETX của tuyến đƣờng nhỏ

nhất). Nút 23 cũng lựa chọn hai nút Parent có cùng chi phí tuyến đƣờng (ETX = 3.3).

Hình 2.13 minh họa mô hình cấu trúc thực thi giao thức RPL trên hệ điều hành Contiki.

Ngăn xếp truyền thông uIPv6 gọi đến module ContikiRPL khi nhận đƣợc bản tin ICMPv6 (DIO, DIS, DAO) hoặc khi cần tìm kiếm các nút lân cận. Module ContikiRPL gọi đến ngăn xếp truyền thông uIPv6 để thiết lập tuyến đƣờng trong các bảng định tuyến. Module ContikiRPL sử dụng thƣớc đo định tuyến chất lƣợng liên kết ETX để thiết lập truyến đƣờng trong mạng. Thông tin phản hồi về chất lƣợng liên kết đƣợc thực hiện bời khối ƣớc lƣợng chất lƣợng liên kết (Link Estimator).

Lớp ứng dụng

Lớp giao vận (TCP/UDP)

Ngăn xếp truyền thông uIPv6

Lớp MAC, PHY theo chuẩn IEEE

802.15.4

ContikiRPL

ICMPv6 (DIO, DIS, DAO) Tìm kiếm các nút lân cận

Thiết lập tuyến đường

Các gói tin dữ liệu và điều khiển

Khối ước lượng chất lượng liên kết

Thông tin phản hồi về chất lượng liên kết

ETX

Hình 2.13: Thực thi giao thức RPL trên hệ điều hành Contiki

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu đánh giá giao thức định tuyến thu thập dữ liệu cho mạng cảm biến không dây trong môi trường di động​ (Trang 52 - 55)

Tải bản đầy đủ (PDF)

(74 trang)