CHƯƠNG 2: TỔNG QUAN VỀ RPL VÀ IPv6
2.2. Giao thức định tuyến RPL (Routing Protocol for Low Power and Lossy Network)
2.2.7 Thuật toán Trickle timer
Để tiết kiệm năng lượng, các bản tin DIO được định thời giải phóng và được điều khiển bởi bộ định thời trickle timer[11]:
Định tuyến đa đường cho Internet of Things GVHD: PGS.TS Ngô Quỳnh Thu
Học viên thực hiện Nguyễn Văn Bình – CB 130015 – KTMT&TT 2013B 35 Hình 21 Thuật toán Trickle timer
Khoảng thời gian nhỏ nhất giữa hai bản tin DIO giống như khoảng thời gian nhỏ nhất DIO tiếp tục tăng gấp đôi cho đến khi nó đạt đến giá trị tối đa được xác định bởi khoảng thời gian DIO trùng nhau. Có ba thông số trong bộ định thời Trickle Timer: Imin, Imax và hằng số dư thừa (k), trong đó:
Imin: Thời gian nhỏ nhất giữa hai bản tin DIO. Các bản tin DIO được truyền định thời để giảm lưu lượng kiểm soát dự phòng và sử dụng các nguồn hạn chế tối ưu hơn.
Việc truyền DIO được điều khiển bởi bộ định thời được gọi là Trickle timer mà giá trị nhỏ nhất là Imin và giá trị lớn nhất là Imax. Giá trị bộ định thời Trickle timer bắt đầu từ Imin và tăng gấp đôi mỗi khi nó được truyền tới khi nó đạt giá trị lớn nhất Imax. Giá trị của Imin được xác định bởi tham số DIO intervalMin và được tính như sau:
Định tuyến đa đường cho Internet of Things GVHD: PGS.TS Ngô Quỳnh Thu
Học viên thực hiện Nguyễn Văn Bình – CB 130015 – KTMT&TT 2013B 36 Imin = 2DIOintervalMin
Ví dụ: nếu DIO intervalMin = 12 thì Imin = 212 = 4096 (milisecond) ≈ 4 (second).
Đây là khoảng thời gian nhỏ nhất có thể giữa hai bản tin DIO được cung cấp DIO intervalMin bằng 12.
Imax Đây là tham số được giới hạn số lần Imin có thể tăng gấp đôi. Giá trị của Imax được xác định bởi tham số DIO intervalDoublings và được tính như sau:
Imax = Imin * 2DIOintervalDoublings
Ví dụ: nếu DIOintervalDoublings = 8 và Imin là 4096thì Imax = 4096 * 28 = 1048576 (millisecond) ≈ 17.5 (minute).
Hằng số dư thừa (k): đây là một số tự nhiên lớn hơn 0 và được sử dụng để ngăn chặn việc truyền DIO. Nếu chỉ số của DIO gửi trong một khoảng thời gian vượt quá k, khoảng thời gian được tăng gấp đôi nếu không nó sẽ không thay đổi.
2. 8 Các giao thức định tuyến đa đường dựa trên RPL
Có nhiều giao thức được thiết kế dựa trên RPL có hỗ trợ đường dự phòng trong việc cải thiện hiệu năng và đáp ứng các ràng buộc về tài nguyên như DMR và MDMR.
2.2.8.1 DMR
Dựa trên giao thức RPL,[10]Ki-Sup Hong và Lynn Choi đã đề xuất một giao thức định tuyến đa đường cho mobile sensor network được gọi là DMR. Ở đó, DMR loại bỏ các vòng lặp khi xây dựng DAG thông qua phát bản tin điều khiển gồm hai chỉ số là rank và chất lượng đường truyền - LQI. Khi đó DMR ngoài việc xây dựng tuyến chính nó tạo ra tuyến dự phòng cho phép các sensor node chuyển sang khi tuyến chính bị lỗi. DMR quyết định chọn next hop trước khi truyền dữ liệu và chỉ có sink node tham gia vào xây dựng và sửa chữa DODAG.
Định tuyến đa đường cho Internet of Things GVHD: PGS.TS Ngô Quỳnh Thu
Học viên thực hiện Nguyễn Văn Bình – CB 130015 – KTMT&TT 2013B 37 Hình 22: Cấu trúc định tuyến DMR
Tính toán Rank: Một số dữ liệu truyền như ETX [12]thời gian truyền nhận dữ liệu[13] và độ trễ truyền gói tin[14]trong một chặng là tiêu chí để đánh giá chất lượng đường truyền. DMR dựa vào chất lượng đường truyền[15], [17]để xác định mức độ ưu tiên của các node khi các node có cùng rank thông qua việc phân tích cường độ tín hiệu nhận được khi truyền nhận bản tin DIO.
Duy trì và sửa chữa DODAG: Trong DAG, một node có thể có nhiều node parent.
Do đó, DAG có thể cung cấp tuyến dự phòng khi tuyến với node parent ưu tiên bị lỗi và nó có thể chuyển tiếp dữ liệu thông qua bất kỳ node parent nào trong list parent. Sau khi cấu trúc xong DODAG, node nhận gói dữ liệu lúc này nó sẽ tìm kiếm trong PS-list để quyết định chọn node tiếp theo chuyển để truyền. Một node với rank thấp nhất và chất lượng đường truyền (khoảng cách node truyền và node nhận) là cao nhất được chọn là next hop.
DMR có thể sửa chữa các tuyến bị lỗi thông qua việc sử dụng node sibling bằng cách, node ghi lại các thông tin của cả node parent và node sibling trong bảng định tuyến của nó khi mà nó nhận bản tin DIO. Việc sử dụng node sibling làm cho việc chuyển tiếp dữ liệu hướng về sink node đáng tin cậy hơn.
Định tuyến đa đường cho Internet of Things GVHD: PGS.TS Ngô Quỳnh Thu
Học viên thực hiện Nguyễn Văn Bình – CB 130015 – KTMT&TT 2013B 38 2.2.8.2 MDMR
Nhằm nâng cao hiệu quả hoạt động của DMR trong việc định tuyến đa tuyến đường và sử dụng năng lượng[16]Gang Lu đề xuất phương pháp gọi là MDMR, trong đó ý tưởng chính là dựa trên cấu trúc DODAG của DMR cho phép node tìm thấy nhiều tuyến khác nhau và chuyển đổi giữa các tuyến một cách linh hoạt khi xảy ra lỗi ở tuyến chính thông qua việc quản lý danh sách node sibling.
Ở DMR, hop count là chỉ số được xem xét trước tiên, nếu các tuyến đường có cùng hop count thì mức năng lương được xem xét tiếp theo.
Trong MDMR, rank được tính như sau:
ranki = rankj +1 (công thức 1).
Khi node j là node parent của node i. Rank tính theo năng lượng:
𝑅𝑎𝑛𝑘𝑖 = 𝑅𝑎𝑛𝑘𝑗 + 𝜔(𝑖, 𝑗) (công thức 2)
Khi node j là node cha dự phòng của i. 𝜔𝑖,𝑗 là một hàm với các đặc tính của node j và liên kết giữa i và j.
ω thể hiện như hàm liên kết được tính như sau:
𝜔(𝛼, 𝛽) = 𝜔(𝛼) ⊕ 𝜔(𝛽)(công thức 3)
Trong đó α là đường đi từ DAG root tới node j, β là liên kết giữa node I và J; ⊕ biểu thị cho tính chất đường liên kết thì mức năng lượng còn lại được xem của node và được xác định:
𝜔(𝛼) =𝑉𝑚𝑎𝑥𝑖
𝑉𝑛𝑜𝑤𝑖 công thức 4 mức năng lượng còn lại
Vmax biểu thị cho mức năng lượng ban đầu. Vnow biểu thị cho mức năng lượng hiện thời.
Một số hạn chế khi sử dụng DMR và MDRM dựa trên RPL:
- Vẫn tạo vòng lặp và mất dữ liệu.
- Độ trễ gia tăng khi thực hiện cơ chế sửa chữa cục bộ.
- Chưa tối ưu trong lựa chọn node parent làm next hop.