estination Sequenced istance Vector (SV) Routing [Perkins94] SE 6811 : Lecture 6
SV: Proactive SV is a proactive protocol means it maintains up to date routing information for all available nodes in the network. No extra time for route acquisition whenever a route to a new destination is required, it already exists at the source.
istance Vector (asic idea) k 13 i j 8 x m 23 The message will be sent from i to j as the cost of the path to x is minimum through j
istance Vector Each node maintains two tables: istance Table: ost to each node via each outgoing link Routing Table: Minimum cost to each node and next hop node
istance Vector lgorithm: Tables v l(v,w) w d n via to istance Table w n to RoutingTable via (next hop) cost d d (v,w) d (v,n) d n l (v,w) cost of link (w,v) d (v,w) cost from v to d via w d (v) minimum i cost from v to d d (v) Note: In the figure, d (v,w)< d (v,n) and, therefore, d (v) = d (v,n)
istance Vector lgorithm: Tables Example Via To 1 3 3 1 2 2 0 1 1 2 Via To 1 3 3 1 2 2 0 1 1 2 istance table Routing table Via To 1 3 3 1 2 2 0 1 1 Via To 1 3 3 1 2 2 0 1 1 2 2
Messages Nodes exchange messages that contain information on the cost of a route Reception of messages triggers recalculation of routing table If node v sends a messages to node x of the form, [m, m (v)], this means I can go to node m with minimum cost m (v) v [m, m (v)] x This message is only of interest to neighbors of v
New link with cost l(m,v) comes up m l(m,v) v l(v,w) w d n via to istance Table RoutingTable p m to via (next hop) cost m m (v,p) l(m,v) m n m (v) New row New column
Example 1 Via To 1 0 (, 0) 0 0 0 9
Example 1 Via To 1 0 1 (, 0) 0 (, 0) 0 0 10
Example 1 Via To 1 1 0 1 (, 0) 0 (, 0) 0 0 11
Example 1 Via To 1 1 0 1 1 (, 0) 0 (, 0) 0 0 12
Example 1 Via To 1 1 0 1 1 (, 0) (, 1) (, 1) Via To 1 1 0 1 1 Via To 1 1 0 1 1 Via To 1 1 0 1 1 13
Example 1 (, 0) Via To 1 1 2 0 1 1 2 (, 1) (, 1) Via To 1 1 0 1 1 (, 0) (, 1) (, 1) Via To 1 1 0 1 1 Via To 1 1 0 1 1 14
Example 1 (, 0) Via To 1 1 2 2 0 1 1 2 (, 1) (, 1) Via To 1 1 0 1 1 (, 0) (, 1) (, 1) Via To 1 1 0 1 1 Via To 1 1 0 1 1 15
Example 1 Via To 1 3 3 1 2 2 0 1 1 2 Via To 1 3 3 1 2 2 0 1 1 2 Via To 1 3 3 1 2 2 0 1 1 Via To 1 3 3 1 2 2 0 1 1 2 2 16
Example 1 Failure (count to infinity) 0 1 1 2 timeout t timeout 1 1 0 2 1 0 2 1 17
Example 1 Failure 0 1 - - - 1 0 2 1 0 2 1 18
Example 1 Failure 0 1 - - - 1 0 2 From : 1 2 0 1 1 0 2 1 19
Example 1 Failure 0 1 - - 3 1 0 2 From : 1 2 0 1 1 0 2 1 20
Example 1 Failure 0 1 - - From : 1 2 1 0 3 1 0 2 1 0 2 1 21
Example 1 Failure 0 1 3 2 From : 1 2 1 0 3 1 0 2 1 0 2 1 22
Example 1 Failure 0 1 3 2 From : 0 3 2 3 1 0 2 1 0 2 1 23
Example 1 Failure 0 1 3 2 From : 0 3 2 3 1 0 2 1 0 4 1 24
oes it exactly fit in Mobile Wireless d hoc networks? No..because Mobility is not considered Slow convergence to path break ost metrics number of hops Routing table at MH4 before MH1 moves Time info. missing 25
estination Sequenced istance Vector (SV) Each node maintains a routing table which stores next hop towards each destination a cost metric for the path to each destination a destination sequence number that is created by the destination itself, i.e.: e:see the following 26
Rule of SV explained ssume that node X receives routing information from Y about a route to node Z X Y Z Let S(X) and S(Y) denote the destination sequence number for node Z as stored at node X, and as sent by node Y with its routing table to node X, respectively 27
Rule of SV explained (ont ) Node X takes the following steps: X Y Z If S(X) > S(Y), then X ignores the routing information received from Y If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next hop to Z If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y) 28
fter move: routing table at MH4
Example (SV): Node joins s routing table est Next ost Seq E 1 102 1 204 E 2 314 Suppose node joins 0 54 30
Example (SV): Node joins s routing table est Next ost Seq E 1 102 1 204 E 2 314 Suppose node joins Node transmits routing <, 154, 0 > to node 0 54 31
Example (SV): Node joins s routing table est Next ost Seq E 1 102 1 204 E 2 314 Suppose node joins Node transmits routing <, 154, 0 > to node Node inserts <,, 1, 154> in the routing table 0 54 1 154 32
Example (SV): Node joins s routing table est Next ost Seq E 1 102 1 204 E 2 314 Suppose node joins Node transmits routing <, 154, 0 > to node 0 54 1 154 Node inserts <,, 1, 154> entry in the routing table Node propagates <, 1, 154> routing update to its neighbors and 33
Example (SV): Node joins s routing table est Next ost Seq E 1 102 1 204 E 2 314 Suppose node joins Node transmits routing <, 154, 0 > to node 0 54 1 154 Node inserts <,, 1, 154> entry in the routing table Node propagates <, 1, 154> routing update to its neighbors and Node and inserts <,, 2, 154> entry in their routing tables 34
Example (SV): Node joins E s routing table est Next ost Seq 1 102 1 204 E 2 314 0 54 also sends the following updates to 1 154 <,1,102>, <,1,204> <E,2,314>, <,0,56>, <,1,154> 35
Example (SV): Node joins s routing table est Next ost Seq E 2 102 2 204 E 3 314 1 56 also sends the following updates to 0 154 <,1,102>, <,1,204> <E,2,314>, <,0,56>, <,1,154> determines its own routing table 36
Example (SV): Link breaks s routing table est Next ost Seq 1 102 E 1 204 E 2 314 0 54 Suppose node moves out of range of 1 154 does not receive periodic update dt from Node changes entries involving as next hop and puts 37
Example (SV): Link breaks s routing table est Next ost Seq E 1 102 204 E 314 Suppose node moves out of range of do not receive periodic update dt from Node changes entries involving as next hop and puts 0 54 1 154 38
Example (SV): Link breaks s routing table est Next ost Seq 1 102 E 204 E 314 Suppose node moves out of range of do not receive periodic update dt from Node changes entries involving as next hop and puts Node increments sequence number for and E 0 54 1 154 39
Example (SV): Link breaks s routing table est Next ost Seq E 1 102 205 E 315 Suppose node moves out of range of do not receive periodic update dt from Node changes entries involving as next hop and puts Node increments sequence number for and E 0 54 1 154 40
Example (SV): Link breaks s routing table est Next ost Seq E 1 102 205 E 315 Suppose node moves out of range of do not receive periodic update dt from Node changes entries involving as next hop and puts Node increments sequence number for and E Node propagates <,, 205> and <E,, 315> to and 0 54 1 154 41
Example (SV): Link breaks s routing table est Next ost Seq E 1 102 205 E 315 Suppose node moves out of range of do not receive periodic update dt from Node changes entries involving as next hop and puts Node increments sequence number for and E Node propagates <,, 205> and <E,, 315> to and 0 54 1 154 42
Example (SV): Link breaks s previous routing table est Next ost Seq 2 102 E Node propagates <,, 205> and <E,, 315> to and 2 204 E 3 314 1 56 0 154 43
Example (SV): Link breaks s updated routing table est Next ost Seq 2 102 E 205 E 315 1 56 0 154 Node propagates <,, 205> and <E,, 315> to and 44
SV example (MH1 moves) 45
efore move: routing table at MH 4 46
Next routing dvertisement by MH 4 47
SV example (MH1 moves) When MH 1 moves, MH 2 advertises infinite cost metric to MH 1 with sequence number 407 48
SV example (Routing table at MH4 updated) 49
Next dvertisement by MH4 50
ut down overhead Reducing advertisement size Reducing number of advertisements 51
Reducing advertisement size: Full ump and Incremental ump full dump carries complete routing tables. node broadcasts a full dump infrequently. n incremental dump carries minor changes in the routing table. This information contains changes since the last full dump. When the size of an incremental dump becomes too large, a full dump is preferred. 52
Reducing the number of updates node i may receive the same update message from another node j through several different paths. Suppose, one of the updates has a lowest distance to j It is better to avoid broadcasting every new update and instead broadcast only the lower metric updates. 53
n Example 10 hops 5 hops n1 n8 n9 10 sec 20 sec n2 Node n2 should wait longer to get an update from n9 54
amping fluctuations hanges are not immediately advertised. Each node should maintain some statistics aboutthe the average settling time ofa message from another node. In the previous example, n2 receives couple of messages from n1 with the same sequence number. 55
How Good is SV? SV is an efficient protocol for route discovery. Whenever a route to a new destination is required, it already exists at the source. Hence, latency for route discovery is very low. SValso guarantees loop free paths. 56
isadvantages However, SV needs to send a lot of control messages. These messages are important for maintaining the network topology at each node. This may generate high volume of traffic for high density and highly mobile networks. Special care should be taken to reduce the number of control messages. 57
End Read up to section 4 58
SV Guarantees Loop Free Paths (Intuitive Proof) For an n node ad hoc network, SV maintains n rooted trees, one for each destination. We have shown two such trees here. 59
SV Guarantees Loop Free Paths (Intuitive Proof) onsider the tree rooted at n1. Suppose n3 wants to change its link. n1 n2 n4 n3 n5 message from n5 reaches n3 60
SV Guarantees Loop Free Paths (Intuitive Proof) However, n3 removes the old link to n4 before connecting the new link to n5 n1 n2 n4 n3 n5 61