SlideShare a Scribd company logo
Routing
DistanceVector Routing
DistanceVector Routing
 Each node constructs a one dimensional array (a vector)
containing the “distances” (costs) to all other nodes and
distributes that vector to its immediate neighbours.
 Starting assumption is that each node knows the cost of the
link to each of its directly connected neighbours.
DistanceVector Routing
DistanceVector Routing
Fig. Initial Routing table at Node ‘A’ Fig. Final Routing table at Node ‘A’
DistanceVector Routing
Fig.Final distances stored at each node
DistanceVector Routing
 The distance vector routing algorithm is sometimes called as
Bellman-Ford algorithm
 Every T seconds each router sends its table to its neighbour each
router then updates its table based on the new information.
 Problems include fast response to good new and slow response to
bad news. Also too many messages to update.
DistanceVector Routing
When a node detects a failure,
 F detects that link to G has failed
 F sets distance to G to infinity and sends update to A
 A sets distance to G to infinity since it uses F to reach G
 A receives periodic update from C with 2-hop path to G
 A sets distance to G to 3 and sends update to F
 F decides it can reach G in 4 hops via A
DistanceVector Routing
 Slightly different circumstances can prevent the network from
stabilizing,
 Suppose the link from A to E goes down
 In the next round of updates, A advertises a distance of infinity to E, but
B and C advertise a distance of 2 to E
DistanceVector Routing
 Depending on the exact timing of events, the following might happen
 Node B, upon hearing that E can be reached in 2 hops from C, concludes
that it can reach E in 3 hops and advertises this to A
 Node A concludes that it can reach E in 4 hops and advertises this to C
 Node C concludes that it can reach E in 5 hops; and so on.
 This cycle stops only when the distances reach some number that is large
enough to be considered infinite
 Count-to-infinity problem
DistanceVector Routing
Partial solutions for Count to infinity problem,
 Use some relatively small number as an approximation of infinity
 For example, the maximum number of hops to get across a certain network is never
going to be more than 16
 One technique to improve the time to stabilize routing is called split horizon
 When a node sends a routing update to its neighbour’s, it does not send those routes it
learned from each neighbour back to that neighbour
 For example, if B has the route (E, 2, A) in its table, then it knows it must have learned this
route fromA, and so whenever B sends a routing update to A, it does not include the route
(E, 2) in that update
DistanceVector Routing
Partial solutions for Count to infinity problem,
 In a stronger version of split horizon, called split horizon with poison
reverse
 B actually sends that back route to A, but it puts negative information in the
route to ensure that A will not eventually use B to get to E
 For example, B sends the route (E, ∞) to A
DistanceVector Routing
RIP (Routing Information Protocol)
 RIP is in fact a fairly straightforward implementation of distance-vector
routing. Routers running RIP send their advertisements every 30 seconds; a
router also sends an update message whenever an update from another
router causes it to change its routing table.
 One point of interest is that it supports multiple address families, not justIP.
The network-address part of the advertisements is actually represented as a
(family,address) pair. RIP version 2 (RIPv2) also has some features related to
scalability.
DistanceVector Routing

More Related Content

RIP - Routing Information Protocol

  • 2. DistanceVector Routing  Each node constructs a one dimensional array (a vector) containing the “distances” (costs) to all other nodes and distributes that vector to its immediate neighbours.  Starting assumption is that each node knows the cost of the link to each of its directly connected neighbours.
  • 4. DistanceVector Routing Fig. Initial Routing table at Node ‘A’ Fig. Final Routing table at Node ‘A’
  • 6. DistanceVector Routing  The distance vector routing algorithm is sometimes called as Bellman-Ford algorithm  Every T seconds each router sends its table to its neighbour each router then updates its table based on the new information.  Problems include fast response to good new and slow response to bad news. Also too many messages to update.
  • 7. DistanceVector Routing When a node detects a failure,  F detects that link to G has failed  F sets distance to G to infinity and sends update to A  A sets distance to G to infinity since it uses F to reach G  A receives periodic update from C with 2-hop path to G  A sets distance to G to 3 and sends update to F  F decides it can reach G in 4 hops via A
  • 8. DistanceVector Routing  Slightly different circumstances can prevent the network from stabilizing,  Suppose the link from A to E goes down  In the next round of updates, A advertises a distance of infinity to E, but B and C advertise a distance of 2 to E
  • 9. DistanceVector Routing  Depending on the exact timing of events, the following might happen  Node B, upon hearing that E can be reached in 2 hops from C, concludes that it can reach E in 3 hops and advertises this to A  Node A concludes that it can reach E in 4 hops and advertises this to C  Node C concludes that it can reach E in 5 hops; and so on.  This cycle stops only when the distances reach some number that is large enough to be considered infinite  Count-to-infinity problem
  • 10. DistanceVector Routing Partial solutions for Count to infinity problem,  Use some relatively small number as an approximation of infinity  For example, the maximum number of hops to get across a certain network is never going to be more than 16  One technique to improve the time to stabilize routing is called split horizon  When a node sends a routing update to its neighbour’s, it does not send those routes it learned from each neighbour back to that neighbour  For example, if B has the route (E, 2, A) in its table, then it knows it must have learned this route fromA, and so whenever B sends a routing update to A, it does not include the route (E, 2) in that update
  • 11. DistanceVector Routing Partial solutions for Count to infinity problem,  In a stronger version of split horizon, called split horizon with poison reverse  B actually sends that back route to A, but it puts negative information in the route to ensure that A will not eventually use B to get to E  For example, B sends the route (E, ∞) to A
  • 12. DistanceVector Routing RIP (Routing Information Protocol)  RIP is in fact a fairly straightforward implementation of distance-vector routing. Routers running RIP send their advertisements every 30 seconds; a router also sends an update message whenever an update from another router causes it to change its routing table.  One point of interest is that it supports multiple address families, not justIP. The network-address part of the advertisements is actually represented as a (family,address) pair. RIP version 2 (RIPv2) also has some features related to scalability.