Distance-Vector Routing Protocols
Distance-Vector Routing Protocols
The distance-vector routing algorithm passes complete routing table contents to neighboring routers Its possible to have a network that has multiple links to the same remote network If thats the case, the administrative distance is checked first If the AD is the same, the protocol will have to use other metrics to determine the best path to use to that remote network
RIP uses only hop count to determine the best path to a network If RIP finds more than one link to the same remote network with the same hop count, it will automatically perform load balancing RIP can perform load balancing for up to six equal-cost links
In following Figure, the four routers start off with only their directly connected networks in the routing table After a distance-vector routing protocol is started on each router, the routing tables are updated with all route information gathered from neighbor routers Each router sends its complete routing table out to each active interface
In Figure above, the routing tables are complete because they include information about all the networks in the internetwork They are considered converged When the routers are converging, it is possible that no data will be passed Thats why fast convergence time is a serious issue RIP has slow convergence time The routing table in each router keeps information regarding
the remote network number the interface to which the router will send packets to reach that network the hop count or metric to the network
Routing Loops
Distance-vector routing protocols keep track of any changes to the internetwork by broadcasting periodic routing updates out all active interfaces This broadcast includes the complete routing table This works just fine, but its expensive in terms of CPU process and link bandwidth And if a network outage happens, real problems can occur Plus, the slow convergence of distance-vector routing protocols can result in inconsistent routing tables and routing loops
Routing Loops
Routing loops can occur because every router isnt updated simultaneously, or even close to it Heres an examplelets say that the interface to Network 5 in above Figure fails All routers know about Network 5 from Router E Router A, in its tables, has a path to Network 5 through Router B
Routing Loops
When Network 5 fails, Router E tells Router C This causes Router C to stop routing to Network 5 through Router E But Routers A, B, and D dont know about Network 5 yet, so they keep sending out update information Router C will eventually send out its update and cause B to stop routing to Network 5, but Routers A and D are still not updated To them, it appears that Network 5 is still available through Router B with a metric of 3
Routing Loops
The problem occurs when Router A sends out its regular 30-second Hello, Im still here these are the links I know about message, which includes the ability to reach Network 5 Now Routers B and D receive the news that Network 5 can be reached from Router A So Routers B and D then send out the information that Network 5 is available Any packet destined for Network 5 will go to Router A, to Router B, and then back to Router A This is a routing loophow do you stop it?
The routing loop problem just described is called counting to infinity, and its caused by gossip (broadcasts) and wrong information being communicated and propagated throughout the internetwork Without some form of intervention, the hop count increases indefinitely each time a packet passes through a router One way of solving this problem is to define a maximum hop count.
RIP permits a hop count of up to 15, so anything that requires 16 hops is deemed unreachable After a loop of 15 hops, Network 5 will be considered down in previous example Thus, the maximum hop count will control how long it takes for a routing table entry to become invalid or questionable Though this is a workable solution, it wont remove the routing loop itself Packets will still go into the loop, but instead of traveling on unchecked, theyll just whirl around for 16 bounces and die
Split Horizon
horizon
This reduces incorrect routing information/overhead by enforcing the rule that routing information cannot be sent back in the direction from which it was received The routing protocol differentiates which interface a network route was learned from, and once this is determined, it wont advertise the route back out that same interface This would have prevented Router A from sending the updated information it received from Router B back to Router B
Route Poisoning
Another way to avoid network loops is route poisoning For example, when Network 5 goes down, Router E initiates route poisoning by advertising Network 5 as 16, or unreachable (sometimes referred to as infinite) This poisoning of the route to Network 5 keeps Router C from being susceptible to incorrect updates about the route to Network 5 When Router C receives a route poisoning from Router E, it sends an update, called a poison reverse, back to Router E This ensures all routes on the segment have received the poisoned route information
RIP Limitation
Network 172.16.30.0 is a T1 link with a bandwidth of 1.544Mbps, Network 172.16.20.0 is a 56K link Youd want the router to choose the T1 over the 56K link But hop count is the only metric used with RIP routing So two links would be seen as being of equal cost This little problem is called pinhole congestion.
Address of net 1
Address of net 2
Distance to net 2
RIP Timers
RIP Summary
RIP Summary
RIP Summary
A true distance-vector routing protocol It sends the complete routing table out to all active interfaces every 30 seconds RIP only uses hop count to determine the best way to a remote network Maximum allowable hop count of 15 by default, meaning that 16 is deemed unreachable RIP works well in small networks Inefficient on large networks with slow WAN links or on networks with a large number of routers installed
RIP Summary
RIP version 1 uses only classful routing, which means that all devices in the network must use the same subnet mask This is because RIP version 1 doesnt send updates with subnet mask information RIP version 2 provides something called prefix routing, and does send subnet mask information with the route updates This is called classless routing