estination Sequenced istance Vector (SV) Routing [Perkins94] 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 acquisitionwhenever a route to a new destination is required, it already exists at the source. S 6811 : Lecture 6 istance Vector (asic idea) istance Vector i k j 13 8 x ach 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 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 lgorithm: Tables istance Vector lgorithm: Tables xample l (v,w) d (v,w) d (v) l(v,w) v w d via to d w n istance Table n d (v,w) d (v,n) to via (next hop) cost of link (w,v) cost from v to d via w minimum cost from v to d d RoutingTable n cost d (v) Note: In the figure, d (v,w)< d (v,n) and, therefore, d (v) = d (v,n) Via 0 1 3 1 3 1 1 2 2 2 istance table Routing table Via 0 1 3 1 3 1 2 2 1 2 Via 1 3 3 1 2 2 Via 1 3 3 1 2 2 0 1 1 2 Nxt ost 0 1 1 2 1
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) New link with cost l(m,v) comes up m via to l(m,v) istance Table p l(v,w) v w d m n to RoutingTable via (next hop) cost v [m, m (v)] x m m (v,p) l(m,v) m n m (v) New row This message is only of interest to neighbors of v New column xample 1 xample 1 Via 1 0 (, 0) 0 Via 1 0 1 (, 0) 0 (, 0) 0 0 0 0 9 10 xample 1 xample 1 Via 1 1 0 1 (, 0) 0 Via 1 1 0 1 1 (, 0) 0 (, 0) (, 0) 0 0 0 0 11 12 2
xample 1 xample 1 Via 1 1 0 1 1 (, 0) (, 1) (, 1) Via 1 1 0 1 1 Via 1 1 2 0 1 1 2 (, 0) (, 1) (, 1) Via 1 1 0 1 1 (, 0) (, 1) (, 1) Via 1 1 0 1 1 Via 1 1 0 1 1 Via 1 1 0 1 1 Via 1 1 0 1 1 13 14 xample 1 xample 1 (, 0) Via 1 1 2 2 0 1 1 2 (, 1) (, 1) Via 1 1 0 1 1 Via 1 3 3 1 2 2 0 1 1 2 Via 1 3 3 1 2 2 0 1 1 2 (, 0) (, 1) (, 1) Via 1 1 0 1 1 Via 1 1 0 1 1 Via 1 3 3 1 2 2 0 1 1 2 Via 1 3 3 1 2 2 0 1 1 2 15 16 xample 1 Failure (count to infinity) xample 1 - Failure 0 1 1 2 timeout 0 1 - - timeout 1 1 0 2 1 0 2 1-1 0 2 1 0 2 1 17 18 3
xample 1 - Failure xample 1 - Failure 0 1 - - 0 1 - - - 1 0 2 From : 1 2 0 1 1 0 2 1 3 1 0 2 From : 1 2 0 1 1 0 2 1 19 20 xample 1 - Failure 0 1 - - xample 1 - Failure 0 1 3 2 From : 1 2 1 0 From : 1 2 1 0 3 1 0 2 1 0 2 1 3 1 0 2 1 0 2 1 21 22 xample 1 - Failure 0 1 3 2 xample 1 - Failure 0 1 3 2 From : 0 3 2 From : 0 3 2 3 1 0 2 1 0 2 1 3 1 0 2 1 0 4 1 23 24 4
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 estination-sequenced istance- Vector (SV) ach 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.: see the following Time info. missing 25 26 Rule of SV explained Rule of SV explained (ont ) ssume that node X receives routing information from Y about a route to node Z Node X takes the following steps: X Y 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 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) 27 28 fter move: routing table at MH 4 xample (SV): Node joins s routing table est Next ost Seq 1 102 1 204 2 314 Suppose node joins 0 54 30 5
xample (SV): Node joins xample (SV): Node joins s routing table est Next ost Seq 1 102 s routing table est Next ost Seq 1 102 Suppose node joins Node transmits routing <, 154, 0 > to node 1 204 2 314 0 54 1 204 2 314 0 54 Suppose node joins 1 154 Node transmits routing <, 154, 0 > to node Node inserts <,, 1, 154> in the routing table 31 32 xample (SV): Node joins xample (SV): Node joins s routing table est Next ost Seq 1 102 s routing table est Next ost Seq 1 102 1 204 2 314 1 204 2 314 0 54 Suppose node joins 1 154 Node transmits routing <, 154, 0 > to node Node inserts <,, 1, 154> entry in the routing table Node propagates <, 1, 154> routing update to its neighbors and 0 54 Suppose node joins 1 154 Node transmits routing <, 154, 0 > to node 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 33 34 xample (SV): Node joins xample (SV): Node joins s routing table est Next ost Seq 1 102 s routing table est Next ost Seq 2 102 1 204 2 314 2 204 3 314 0 54 also sends the following updates to 1 154 <,1,102>, <,1,204> <,2,314>, <,0,56>, <,1,154> 1 56 also sends the following updates to 0 154 <,1,102>, <,1,204> <,2,314>, <,0,56>, <,1,154> determines its own routing table 35 36 6
xample (SV): Link breaks xample (SV): Link breaks s routing table est Next ost Seq 1 102 s routing table est Next ost Seq 1 102 Suppose node moves out of range of does not receive periodic update from Node changes entries involving as next hop and puts 1 204 2 314 0 54 1 154 Suppose node moves out of range of do not receive periodic update from Node changes entries involving as next hop and puts 204 314 0 54 1 154 37 38 xample (SV): Link breaks xample (SV): Link breaks Suppose node moves out of range of do not receive periodic update from Node changes entries involving as next hop and puts Node increments sequence number for and s routing table est Next ost Seq 1 102 204 314 0 54 1 154 Suppose node moves out of range of do not receive periodic update from Node changes entries involving as next hop and puts Node increments sequence number for and est Next ost Seq 1 102 s routing table 205 315 0 54 1 154 39 40 xample (SV): Link breaks xample (SV): Link breaks s routing table est Next ost Seq 1 102 s routing table est Next ost Seq 1 102 Suppose node moves out of range of do not receive periodic update from Node changes entries involving as next hop and puts Node increments sequence number for and Node propagates <,, 205> and <,, 315> to and 205 315 0 54 1 154 Suppose node moves out of range of do not receive periodic update from Node changes entries involving as next hop and puts Node increments sequence number for and Node propagates <,, 205> and <,, 315> to and 205 315 0 54 1 154 41 42 7
xample (SV): Link breaks xample (SV): Link breaks Node propagates <,, 205> and <,, 315> to and s previous routing table est Next ost Seq 2 102 2 204 3 314 1 56 0 154 Node propagates <,, 205> and <,, 315> to and s updated routing table est Next ost Seq 2 102 205 315 1 56 0 154 43 44 SV example (MH1 moves) efore move: routing table at MH 4 45 46 Next routing dvertisement by MH 4 SV example (MH1 moves) When MH 1 moves, MH 2 advertises infinite cost metric to MH 1 with sequence number 407 47 48 8
SV example (Routing table at MH4 updated) Next dvertisement by MH4 49 50 ut down overhead Reducing advertisement size Reducing number of advertisements 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. 51 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. n xample 10 hops n1 5 hops n8 n9 10 sec 20 sec n2 Node n2 should wait longer to get an update from n9 53 54 9
amping fluctuations How Good is SV? hanges are not immediately advertised. ach node should maintain some statistics about the average settling time of a message from another node. In the previous example, n2 receives couple of messages from n1 with the same sequence number. 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. SV also guarantees loop-free paths. 55 56 isadvantages nd However, SV needs to send a lot of control messages. These messages are important for maintaining the network topology at each node. Read up to section 4 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 58 SV Guarantees Loop-Free Paths (Intuitive Proof) For an n-node ad hoc network, SV maintains n rooted trees, one for each destination. 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 We have shown two such trees here. message from n5 reaches n3 59 60 10
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 11