Slide RPL- Routing Protocol for Loossy and Low-power LLNs
1. GVHD: TS. Võ Quế Sơn
SVTH: Trần Lê Khánh
Đỗ Hữu Ngọc Quang
Tìm hiểu và đánh giá
giao thức RPL
RPL: IPv6 Routing Protocol for Low
power and Lossy Networks
2. Yêu cầu đề tài
Tìm hiểu lý thuyết giao thức RPL
Hình thành topo xây dựng DODAG
Downward Routing
Đánh giá giao thức
So sánh 2 hàm OF: OF0 và ETX
Khảo sát khi thực hiện ETX
3. Vấn đề đặt ra trong LLNs
Tiêu tốn năng lượng là một trong những vấn đề
quan trọng trong LLNs
Ngoài ra, khả năng lưu trữ, tính toán hạn chế của
các node cảm biến.
Môi trường khắc nghiệt làm tăng tỉ lệ mất gói
Các giao thức truyền thống không giải quyết triệt
để các yêu cầu, thách thức kể trên
4. Giới thiệu giao thức RPL
Hai tổ chức IPSO và IETF hợp tác
Nhiệm vụ: Giải quyết các vấn đề về năng lượng,
tổn hao mà vẫn đáp ứng chất lượng mạng như
thời gian hội tụ, mất gói, độ trễ…
5. Hướng tiếp cận
Hỗ trợ luồng dữ liệu hướng lên (MP2P),
hướng xuống (P2MP)
Sử dụng các gói tin điều khiển ICMPv6: DIO,
DAO, DIS, …
Ngoài ra, RPL còn hỗ trợ P2P một ưu điểm lớn
mà các giao thức trước đó không có
6. Xây dựng DODAG
Các thiết bị trong mạng kết nối với nhau bằng
một cách nào đó để không có cycle.
Vì vậy, Destination Oriented Directed Acyclic
Graph (DODAG) được xây dựng để hình thành
topo mạng quản lý bởi một node root.
DODAG được xây dựng dựa trên Hàm quyết định
(OF) và các số liệu/ràng buộc.
7. Xây dựng DODAG
Ta lấy một OF đơn giản
như sau:
Metric: ETX (expected
transmission count)
Mục tiêu: Minimize ETX
Tính toán Depth: Depth ~ ETX
A B C
EDF
G H I
1
3
2
1
1
11
1
4
1
1
1 1
1
1
LBR-1
8. Xây dựng DODAG
LBR-1 phát các gói DIO
(DODAG Information Object).
Nodes A, B, C nhận và xử lý
các gói DIO nhận được.
Nodes A, B, C cân nhắc các số
liệu của link đến LBR-1 và mục
tiêu tối ưu.
Các mục tiêu tối ưu có thể đạt
được bằng cách tham gia
DODAG của LBR-1
Nodes A, B, C thêm LBR-1
như một DODAG parent và
tham gia DODAG.
A B C
EDF
G H I
1
3
2
1
1
11
1
4
1
1
1 1
1
1
LBR-1
9. C
Xây dựng DODAG
Timer của node C hết.
Node C phát gói tin DIO
LBR-1 bỏ qua DIO
Node B có thể thêm node
C như một Parent dự
phòng, vẫn có Depth là 3
Node tham gia DAG với
Depth là 3 bằng cách thêm
node C là Parent
A B
EDF
G H I
1
3
2
1
1
LBR-1
11
1
4
1
1
1 1
1
1
10. Xây dựng DODAG
C
Timer trên Node A hết
Node A phát các gói DIO
LBR-1 bỏ qua DIO
Node B thêm Node A
Node B có thể tối ưu các
đường của mình trong
DODAG.
Node B loại bỏ LBR-1 và
Node C trong Parent list
của nó.
A B
EDF
G H I
1
3
2
1
1
LBR-1
11
1
4
1
1
1 1
1
1
11. Xây dựng DODAG
DODAG cứ tiếp tục được
hình thành như vậy đến node
cuối cùng.
A B C
EDF
G H I
1
3
2
1
1
LBR-1
11
1
4
1
1
1 1
1
1
15. Hàm quyết định OF
• Một hàm quyết định OF được định nghĩa là
làm thế nào để chọn Parent và tính toán
Rank dựa trên các số liệu.
• Được định nghĩa bởi OCP
• Sử dụng cái số liệu/ràng buộc để tính toán.
Ví dụ: Tìm path tốt nhất theo latency (độ
trễ), để tránh các link có chất lượng thấp và
các node dùng pin.
16. Giả sử link giữa node B và
D bị hư.
Node D loại node B trong
Parent list của nó
Node D lúc này ko còn bất
kỳ Parent nào trong
grounded DODAG, vì vậy
nó sẽ thành root của
floating DAG của chính nó.
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
A
EDF
G H
LBR-1
I
B C
17. Node D phát DIO để thông
báo thay đổi của sub-DAG.
Node I có Parent thay thế
là E, nên nó không rời
DAG của LBR-1
Node I loại Node D khỏi
Parent list.
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
A
E
G H
LBR-1
B C
F
I
D
18. Node F không có sự lựa
chọn nào để ở trong DAG
của LBR-1 nên Node F
theo Node D vào floating
DAG của node D
Node F phát DIO
Node G và H theo Node F
vào floating DAG.
Slide #18IETF 75 – Roll WG – July 2009
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
A
E
LBR-1
B C
IG H
F D
19. Node I phát gói DIO
Node D nhận thấy cơ hội
để tái nhập Grounded với
depth 5 qua Node I
Node D bắt đầu DAG Hop
timer với 4 chu kì thời gian
gắn với node I.
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
A
LBR-1
G H
F E
B C
D
I
20. Giả sử link giữa A và F
được thiết lập
Node A phát DIO
Node F nhận thấy cơ hội
tái nhập Grounded DAG
với depth 2 qua node A
Node F bắt đầu DAG Hop
timer với 1 chu kì gắn với
node A.
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
1
I
A
LBR-1
G H
F E
B C
D
21. DAG Hop Timer của node
F hết.
Node F tham gia Grounded
DAG với depth 2 bằng
cách thêm A là Parent, loại
D.
Node F phát DIO
Node G và H theo F vào
Grounded DAG.
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
1
I
LBR-1
E
B CA
G H
F D
22. Node D thấy cơ hội tái
nhập DAG của LBR-1 với
Depth 3 thông qua Node F.
Node D bắt đầu DAG Hop
timer với 2 chu kì gắn với
node F, trong khi một DAG
Hop timer khác đang chạy
với 4 chu kì gắn với Node I
ở slide trước.
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
1
I
LBR-1
E
B CA
G H
F D
23. DAG Hop timer của node D
với 2 chu kì có xu hướng
hết trước tiên.
Node D tham gia vào
Grounded DAG với depth 3
bằng cách thêm Node F là
parent.
Kết thúc
Loop Avoidance
1
3
2
1
1
11
1
4
1
1
1 1
1
1
1
I
LBR-1
E
B CA
G H
F D
24. Loop Detection
- Thêm một flag vào gói data để phát hiện loop.
- Khi có một mâu thuẫn xảy ra, bit R sẽ được set lên,
và gói packet sẽ bị drop và timer sẽ reset.
25. Định tuyến hướng xuống
Sau khi thành lập DAG (kết nối upward)
Cần liên lạc từ root xuống leaf (downward)
forward gói tin theo bảng định tuyến
RPL DAO dùng để quảng bá prefix cho
1. Parent ở chế độ storing mode
2. DAG Root ở chế độ non-storing mode
29. DA (Destination Advertisements)
LBR-1 triggers DA - tăng DSTN
trong DIO
G phát cho F với DAO cho biết
đích đến prefix G::
F lưu G:: qua G
H gửi cho F với đích prefix H::
F lưu H:: qua H
1
LBR-1
1
1
1
1
1
1
H
A B
DF
G
30. G
Destination Advertisements
Để cho gọn đặt F*:: là tổng
hợp prefix đích {F::, G::, H::}
F gửi cho D với DAO cho biết
prefix đích đến F*::
D không lưu được …
A B
DF
H
1
LBR-1
1
1
1
1
1
1
31. F
G
A
H
Destination Advertisements
D thêm F vào Path Control
trong DAO, và gửi DAO đó
đến B với F*:: [F]
D cũng gửi DAO đến B cho
biết prefix D::
B không lưu được…
1
LBR-1
1
1
1
1
1
1
B
D
32. Mô phỏng-So sánh OF0 vs ETX
OF0 chọn đường đi đến root dựa trên số hop nhỏ nhất.
Còn OF ETX sử dụng EIX làm metric để tính đường đi ngắn
nhất.
42. Kết luận
Với việc hỗ trợ cả 3 traffic MP2P, P2MP, P2P mà
ít có giao thức nào làm được. RPL đã giải quyết
tốt các vấn đề trong LLNs
Nhưng sử dụng quá nhiều gói tin điều khiển làm
tăng overhead gây tốn lưu lượng mạng. Đôi khi
phải đánh đổi.
43. Hướng phát triển
Một trong những ứng dụng của Internet of Things
Smart Grid.