Tutorial explains RIP routing fundamentals with examples such as routing metric, rip timers, split horizon rules, hold down timers and difference between RIPv1 and RIPv2.
RIP is a distance vector routing protocol. It shares routing information through the local broadcast in every 30 seconds.
Routers keep only one route information for one destination in routing table. Routers use AD value and metric to select the route.
In a complex network, you may have multiple routing protocols running simultaneously. Different routing protocols use different metrics to calculate the best path for destination. In this situation router may receive different routes information for a single destination network. Routers use AD value to select the best path among these routes. Lower ad value has more trustworthiness.
This tutorial is second part of our article "RIP Routing protocol explained with example". You can read other parts of this article here.
This is the first part of this article. In this part we explained basic concept of RIP protocol such as what RIP protocol is and how it shares routing information. Later we summarized RIP routing update process in step by step guide.
This is the last part of this article. In this part we will explain RIP configuration commands with a practical example in cisco packet tracer. At the end of this article we will present a summary of configuration commands.
|AD value||Protocol / Source|
|0||Directly connected interface|
|0 or 1||Static route|
Let’s understand it with a simple example; A router learns two different paths for 220.127.116.11/8 network from RIP and OSPF. Which one should it select?
Answer of this question is hidden in above table. Check the AD value of both protocols. Administrative distance is the believability of routing protocols. Routers measure each route source on a scale of 0 to 255. 0 is the best route and 255 is the worst route. Router will never use the route learned by this (255) source. In our question we have two protocols RIP and OSPF and OSPF has lower AD value than RIP. So its route will be chosen for routing table.
We may have multiple links to the destination network. In this situation router may learn multiple routes form same routing protocol. For example in following network we have two routes between PC0 and PC1.
PC0 [10.0.0.0/8] <==> Router0 [Serial0/1 – 192.168.1.254] <==> Router2 [Serial 0/1 – 192.168.1.253] <==> PC1 [18.104.22.168/8]
PC0 [10.0.0.0/8] <==> Router0 [Serial0/0 – 192.168.1.249] <==> Router1 [Serial 0/0 – 192.168.1.250] <==> Router1 [Serial 0/1 – 192.168.1.246] <==> Router2 [Serial 0/0 – 192.168.1.245] <==> PC1 [22.214.171.124/8]
In this situation Router uses metric to select the best path. Metric is a measurement which is used to select the best path from multiple paths learned by a routing protocol. RIP use hop count as metric to determine the best path. Hops are the number of layer3 devices which a packet crossed before reaching at destination.
RIP is a distance vector routing protocol. It uses distance [accumulated metric value] and direction [vector] to find and select the best path for destination network. We have explained this process with example in our first part of this article.
Okay now understand the concept of metric; tell me which route will Router0 use to reach at 126.96.36.199/8 network?
If it selects S0/1 [192.168.1.245/30] route, it has to cross single layer 3 device.
If it takes S0/0 [188.8.131.52/30] route, it will have to cross two layer 3 devices [Router1 and latter Router2] to get the destination network.
So it will take the first route to get 184.108.40.206/8 network.
Routing by Rumor
Sometimes RIP is also known as routing by rumor protocol. Because it learns routing information from directly connected neighbors and assume that these neighbors might have learned from their neighbors.
RIP periodically broadcast routing information from all of its ports. It uses local broadcast with destination IP of 255.255.255.255. While broadcasting, it doesn’t care who listen these broadcast or not. It doesn’t use any mechanism to verify the listener. RIP assumes that if any neighbor missed any update, it will learn from next update or from any other neighbors.
By default RIP broadcasts are sent from all interfaces. RIP allows us to control this behavior. We can configure which interface should send RIP broadcast or which not. Once we mark any interface as passive interface, RIP will stop sending updates from that interface.
Split horizon is a mechanism that states if a router receives an update for a route on any interface, it will not propagate the same route information back to the sender router on same port. Split horizon is used to avoid routing loops.
To understand this function more clearly let’s take an example. Following network is using RIP protocol. R1 is advertising 10.0.0.0/8. R2 is receiving this information on S0/0 port.
Once R2 learnt about 10.0.0.0/8 network it will include it in its next routing update. Without split horizon it will advertise this route information back to R1 on S0/0 port.
Well R1 will not place this route in routing table because it has higher distance. But at the same it will not ignore this update. It will assume that R1 know a separate route to reach at 10.0.0.0/8 network, but that route has higher distance than the route I know. So I will not use that route to reach at 10.0.0.0/8 so far my route is working. But I can use that route if my route goes down. So it could work as a backup route for me.
This assumption creates a serious network issue. For example what happen if R1’s F0/0 interface goes down? R1 has a direct link for 10.0.0.0/8 so it will immediately learn about this change.
In this situation if R1 receives a packet for 10.0.0.0/8, instead of dropping that packet, it will forward it from S0/0 to R2. Because R1 thinks R2 has an alternative route to reach at 10.0.0.0/8.
R2 will return this packet back to R1. Because R2 think R1 has a route to reach at 10.0.0.0/8.
This will create a network loop where actual route is down but R1 is thinking that R2 has a route for destination while R2 is thinking that R1 has a way to reach the destination. Thus this packet will be circle around between R1 and R2 endlessly. To prevent this issue RIP uses hop (router) count mechanism.
RIP counts every hop (router) which a packet crossed to reach the destination. It limits the number of hop to 15. RIP uses TTL filed of packet to trace the number of hops. For each passing hop RIP decrement the TTL value by 1. If this value reaches to 0, packet will be dropped.
This solution only prevents a packet from trapping into the loop. It does not solve routing loop problem.
Split horizon solves this problem. If split horizon is enabled, learner router will never broadcast the same route information back to the sender. In our network R2 learned 10.0.0.0/8 network information from R1 on S0/0, so it will never broadcast network 10.0.0.0/8 information back to R1 on S0/0.
This solves our problem. If R1’s F0/0 interface is down, both R1 and R2 would realize that there is no alternative route to reach at the 10.0.0.0/8 network.
To avoid network loops RIP deploy two more functions route poison and hold down timers.
Route poisoning works in inverse mode of split horizon. When a router notices that any one of its directly connected route has failed, it will poison that route. By default a packet can travel only 15 hops in RIP. Any route beyond the 15 hops is invalid route for RIP. In a route failure condition, RIP assign a value higher than 15 to that specific route. This procedure is known as route poisoning. Poisoned route will be broadcast from all active interfaces. Receiving neighbor will ignore the split horizon rule by broadcasting the same poisoned route back to the sender. This process insure that every router update about a poisoned route.
For better network optimization RIP uses four types of timers.
Hold down timer
RIP use hold down timer to give the routers enough time for propagating the poisoned route information in network. When router receives a poisoned route, it freezes that route in its routing table for a period of hold timer. During this period router will not use this route for routing. Hold–down period will be aborted only if router receives an update with same or better information for route. Default hold timer value is 180 seconds.
Route Invalid Timer
This timer is used to keep the track of discovered routes. If router does not receive an update for a route in 180 seconds it will mark that route as invalid route and broadcast an update to all neighbors letting them know that route is invalid.
Route Flush Timer
This timer is used to set an interval for a route that becomes invalid and its removal from routing table. Before removing an invalid route from routing table, it must update the neighboring routers about the invalid route. This timer gives enough time to updates the neighbors before invalid route is removed from routing table. Default route flush timer is set to 240 seconds.
RIP broadcast routing updates in every 30 seconds. It will do this continuously, whether something is changed in routing information or not. Once 30 seconds are expired router running RIP will broadcast its routing information from all of its interfaces.
RIP is the oldest distance vector protocol. To meet the current network requirement it has been updated with RIPv2. RIPv2 is also a distance vector protocol with maximum 15 hop counts.
You can still use RIPv1 but it is not advisable. Following table lists key difference between RIPv1 and RIPv2.
Key differences between RIPv1 and RIPv2
|It uses broadcast for routing update.||It use multicast for routing update.|
|It sends broadcast on 255.255.255.255 destination.||It sends multicast on 220.127.116.11 destination.|
|It does not support VLSM.||It supports VLSM.|
|It does not support any authentication.||It supports MD5 authentication|
|It only supports classful routing.||It supports both classful and classless routing.|
|It does not support discontiguous network.||It supports discontiguous network.|
That’s all for this part. In next part of this article we will configure RIP routing protocol in cisco routers.