rpl dodag
DESCRIPTION
algorithmsTRANSCRIPT
Routing Algorithmsfor
Wireless SensorNetworks
Artemis ParadisiJacques Tiberghien
- RPL: IPv6 Routing protocol for low power and lossy networks.
IPv6 on Low Power and Lossy Networks?
3
Applications
TCP/UDP
MAC&PHY
IPv6
Applications
TCP/UDP
IEEE 802.15.4
RPL
6LowPan
A
GFE
I J K
B CD
H
L M
The Internet
The LowPower network is just one subnetThe sink node plays the role of a router
6LowPan – Why ?
4
TCP/UDP
IEEE 802.15.4
RPL6LowPan
• Frame length : IPv6: <= 1280 bytes; IEEE 802.15.4: <= 81 bytes.Frame fragmentation & defragmentation
• Header length : IPv6 header >= 40 bytes; TCP header = 20 bytes, … No version field, no flow label, One subnet : 64 instead 128 bit addresses,Header compression
• Connectivity inside the subnet :• Single broadcast domain vs. multi-hop connectivityRoute-over architecture
001 resTLA SLANLA
3 13 8 24 18
INT
64IPv6 address :
6LowPan – Why ?
5
A
GFE
I J K
B CD
H
L M
The Internet
IPv6 : One subnet = one broadcast domain
This is not true in LowPans!Solutions :- Link level routing - Routing in the subnet !
“Route over”uses simplified versionsof IPv6 ND protocols.
Routing Protocol for Low Power and Lossy Networks
• RPL origin: “The Internet of things”.– IETF working group for IPv6 routing.– None of the existing protocols is adequate!– New design combining interesting ideas of all.
• RPL Basic Mechanisms– Routing based upon one or more Destination
Oriented Directed Acyclic Graphs (DODAGs)• Optimal routes between sink and all other nodes
for both the collect and distribute data traffics.• Redundant equivalent routes are kept for
reliability in case of link or node failure.– Multiple DODAGs if different optimisation criteria.
6
RPL: the DODAG
7
A
HF
C
G
EDB
I
NMLK
GroundedDODAG
Flo
atin
g D
AG
J
For node I,E is a parentG & H are siblings
1 1 1
1 1 1
For node G,D,H,L are neighborsD is preferred parent
Each link has a cost. (distance, latency, ETX, …)This cost can be augmented with node related data (battery state, …)1
The ETX cost function
8
ETX = Estimated number of transmissions from x to y. = Number of times a frame needs to be transmitted over a link before being acknowledged. = (dxy x dyx) -1 dxy = success rate from x to y.
Each node broadcasts precisely once per second a short message, each receiver counts during 10 seconds the number of broadcasts it receives from each neighbor.
dxy = (number of frames received from x by y) / 10
What about RDC ?
RPL: the RANK of nodes in a DODAG
9
A
HF
C
G
EDB
I
NMLK
GroundedDODAG
Flo
atin
g D
AG
J
Ran
k =
1.0
Ran
k =
2.0
For node I,E is a parentG & H are siblings
1 1 1
1 1 1
For node G,D,H,L are neighborsD is preferred parent
RPL: the RANK of nodes in a DODAG
10
A
H2
C1
G3
E1
D1
I2
NML
GroundedDODAG
For node I,E is a parentG & H are siblings
1 1 1
5 1 1
For node G,If route via a sibling (H) is “better” , then it should increase its rank.
1
RPL: Messages for routing
11
A
HF
C
G
EDB
I
NMLK
GroundedDODAG
Flo
atin
g D
AG
J
DA
O
1 1 1
1 1 1
DIODIS
RPL: Collect, Distribute and P2P routing
12
A
H
C
G
ED
I
NML
1 1 1
1 1 1
A
H
C
G
ED
I
NML
1 1 1
1 1 1
A
H
C
G
ED
I
NML
1 1 1
1 1 1
Collect Distribute P2P
13
Routing in sensor networks(1).
1
3
33
1
14
1
4
1
1
1 11
1
A0/0
GFE
I J K
B C
1
1
1
1
D
H
L M4 1
The Internet
For this example, links have a distance
as in DV and AODV.The Rank
calculations are made so that
Rank = hop count
14
Routing in sensor networks(2).
1
3
33
1
14
1
4
1
1
1 11
1
GFE1/1
I J K
B1/4 C
1
1
1
1
D
H
L M4 1
The Internet
A sends DIO to B and E. A becomes their preferred
parent.
A0/0
15
Routing in sensor networks(3).
1
3
33
1
14
1
4
1
1
1 11
1
G2/7
F2/5
E1/1
I J K2/8
B1/4
C2/5
1
1
1
1
D
H
L M4 1
The Internet
B sends DIO to A,C,F,G and K.
A ignores (rank). B becomes the parent of
all others.A0/0
16
Routing in sensor networks(4).
1
3
33
1
14
1
4
1
1
1 11
1
G2/7
F2/2
E1/1
I2/2
J2/2
K2/8
B1/4
C2/5
1
1
1
1
D
H
L M4 1
The Internet
E sends DIO to A,F,I and J.A ignores (rank).
E becomes the parent of F,I and J.
A0/0
17
Routing in sensor networks(5).
1
3
331
14
1
4
1
1
1 11
1
G3/6
F2/2
E1/1
I2/2
J2/2
K2/8
B1/4
C2/5
1
1
1
1
D3/8
H
L M4 1
The Internet
C sends DIO to B,D and G.B ignores (rank).
C becomes the parent of D and G.
A0/0
18
Routing in sensor networks(6).
1
3
331
14
1
4
1
1
1 11
1
G3/6
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H
L M4 1
The Internet F sends DIO to B,E and K.
B and E ignore (rank), F becomes parent of K.
A0/0
19
Routing in sensor networks(7).
1
3
331
14
1
4
1
1
1 11
1
G3/6
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H
L M4 1
The Internet
A0/0
I sends DIO to E and J.E ignores (rank),
J ignores (distance)
20
Routing in sensor networks(8).
1
3
331
14
1
4
1
1
1 11
1
G3/6
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H
L M4 1
The Internet
A0/0
J sends DIO to E,I and K.E ignores (rank),
I and K ignore (distance)
21
Routing in sensor networks(9).
1
3
331
14
1
4
1
1
1 11
1
G3/6
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H4/9
L M4 1
The Internet
A0/0
D sends DIO to C and H.C ignores (rank),
D becomes parent of H
22
Routing in sensor networks(10).
1
3
331
14
1
4
1
1
1 11
1
G3/6
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H4/7
L M4 1
The Internet
A0/0
G sends DIO to B,C,H and K.B and C ignore (rank),K ignores (distance)
G becomes parent of H.
23
Routing in sensor networks(11).
1
3
331
14
1
4
1
1
1 11
1
G4/4
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H4/7
L4/6 M
4 1
The Internet
A0/0
K sends DIO to B,F,G,J and L.B,F and J ignore (rank),
K becomes parent of G and L.
24
Routing in sensor networks(12).
1
3
331
14
1
4
1
1
1 11
1
G4/4
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H5/5
L4/6 M
4 1
The Internet
A0/0
G sends DIO to B,C,H and K.B,C and K ignore (rank),
H adapts its rank and distance and keeps G as a parent
25
Routing in sensor networks(13).
1
3
331
14
1
4
1
1
1 11
1
G4/4
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H5/5
L4/6
M5/7
4 1
The Internet
A0/0
L sends DIO to K,H and M.K ignores (rank),
H ignores (distance)L becomes parent of M
26
Routing in sensor networks(14).
1
3
331
14
1
4
1
1
1 11
1
G4/4
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H5/5
L4/6
M6/6
4 1
The Internet
A0/0
H sends DIO to D,G,L and M.D,G and L ignore (rank),H becomes parent of M
27
Routing in sensor networks(15).
1
3
331
14
1
4
1
1
1 11
1
G4/4
F2/2
E1/1
I2/2
J2/2
K3/3
B1/4
C2/5
1
1
1
1
D3/8
H5/5
L4/6
M6/6
4 1
The Internet
A0/0
Finally, the entire DODAGhas been constructed.
28
Routing in sensor networks(1’).
1
3
33
1
14
1
4
1
1
1 11
1
GFE
I J K
B C
1
1
1
1
D
H
L M4 1
The Internet
For this example, links have a distance as in
DV and AODV.The Rank calculations
are made so that Rank = Distance to sink
A0
29
Routing in sensor networks(2’).
1
3
33
1
14
1
4
1
1
1 11
1
GFE1
I J K
B4
C
1
1
1
1
D
H
L M4 1
The Internet
A sends DIO to B and E. A becomes their preferred parent.
A0
30
Routing in sensor networks(3’).
1
3
33
1
14
1
4
1
1
1 11
1
GF2
E1
I2
J2
K
B4
C
1
1
1
1
D
H
L M4 1
The Internet
E sends DIO to A,F,I and J.A ignores (rank).
E becomes parentF,I and J.
A0
31
Routing in sensor networks(4’).
1
3
33
1
14
1
4
1
1
1 11
1
GF2
E1
I2
J2
K3
B3
C
1
1
1
1
D
H
L M4 1
The Internet
F sends DIO to B,E and K.E ignores (rank).
F becomes parent of B and K.
A0
32
Routing in sensor networks(5’).
1
3
33
1
14
1
4
1
1
1 11
1
G6
F2
E1
I2
J2
K3
B3
C4
1
1
1
1
D
H
L M4 1
The Internet B sends DIO to A,C,F,G and K.
A and F ignore (rank). B becomes parent of C and G.
K keeps its previous parent(distance).
A0
33
Routing in sensor networks(6’).
1
3
33
1
14
1
4
1
1
1 11
1
G4
F2
E1
I2
J2
K3
B3
C4
1
1
1
1
D
H
L6
M4 1
The Internet
K sends DIO to B,F,G,J and L.J ignores (rank),
B ignores (distance),K becomes parent of G and L.
A0
34
Routing in sensor networks(7’).
1
3
33
1
14
1
4
1
1
1 11
1
G4
F2
E1
I2
J2
K3
B3
C4
1
1
1
1
D7
H
L6
M4 1
The Internet
C sends DIO to B,D and G.B ignores (rank),
G ignores (distance),C becomes parent of D.
A0
35
Routing in sensor networks(8’).
1
3
33
1
14
1
4
1
1
1 11
1
G4
F2
E1
I2
J2
K3
B3
C4
1
1
1
1
D7
H5
L6
M4 1
The Internet
G sends DIO to B,C,H and K.B and K ignore (rank), C ignores (distance),
G becomes parent of H.
A0
36
Routing in sensor networks(9’).
1
3
33
1
14
1
4
1
1
1 11
1
G4
F2
E1
I2
J2
K3
B3
C4
1
1
1
1
D6
H5
L6
M6
4 1
The Internet
H sends DIO to D,G,L and M.G ignores (rank),
L ignores (distance),H becomes parent of D and M.
A0
RPL Conclusions
• When the network is started up, the DODAG is build.• The DODAG supports optimal routing, both for
collect and distribute protocols.• Protocols for detecting network changes and
subsequent DODAG repairs (local and global) are part of the RPL proposal (not explained here)
• An Objective Function, giving the rank of the nodes in function of the properties of the links and the nodes, can freely be chosen to influence the DODAG topology and prevent loops.
37