Today I am going to talk about RIP which is Routing Information Protocol. This is a dynamic protocol and is mostly obsolete because there are other protocols that converge much more quickly like OSPF and EIGRP. RIP has a 30 second update timer and a 180 second invalid timer making convergence very slow compared to its counterpart dynamic routing protocols. RIP is an interior gateway protocol meaning these are configured for routing within an AS (Autonomous System). This specific IGP is a distance-vector protocol as well. A distance-vector protocol is a protocol that calculates routes based on distance metrics which is hop count for RIP, and vector which is the direction or next-hop.
Routing by Rumor- RIP calculates routes completely based on what the neighboring routers tell it. RIP operates on a principle called “Routing by Rumor.” This means that RIP routes are calculated on the routing information that the neighboring router tells it. Like most distance-vector protocols, RIP routers broadcast or multicast their entire routing tables to directly connected neighbors every 30 seconds. This allows the neighboring router to learn of routes that it does not know yet. Once the router receives the routing update, it uses the newly learned route and adds the hop count to the router that advertised the route which is in most cases one hop. Every router in the topology will keep doing these updates until eventually every router has a router to every reachable network in the topology. The max number of hops that RIP can support is 15 hops, if there is a destination that requires more than 15 hops than the packet will be dropped and the destination will be deemed unreachable.
RIP Versions- There are different versions of RIP, which include RIPv1, RIPv2 and RIPng. RIPv1 is a classful version and does not support subnet masks at all. Unlike modern routing tables where you are able to see which subnet an IP belongs to, RIPv1 only included network and next hop. RIPv1 only supported broadcasts as well. In RIPv2, this is when classless addressing was introduced and subnet masks were supported. RIPv2 routers were able to broadcast or multicast their routing tables. Multicast is mostly used here with the multi-cast address of 224.0.0.9, reducing processing overhead on routers by delivering to only intended recipients. RIPv2 also included authentication. Since routing updates weren’t verified in any, RIP routers are at risk of having fake routes injected into the topology either by malicious actors. RIPv2 allows for routing updates to be verified via password, where the password (or hash) would be inserted in the update and if it was correct the routing table would be deemed valid but if it was incorrect that update would be discarded. The passwords in the updates could either be plain-text or hashed with MD5. The last one RIPng which stands for RIP next generation, is the version of RIP that fully supports IPv6 addresses.
Convergence- One of the reasons why RIP is not used today is because of slow convergence. The main reason is the overly long timers such as the hold-down timer being around 180 seconds. This means that a route is no longer valid, it will count down to 180 seconds. After 180 seconds it should be removed from the table? Not so much. In RIP there is something called route poisoning. This means that when a route is deemed invalid because a link has failed, the router not receiving an update in 180 seconds will poison the route. Poisoning the route just means making the hop count to 16 hops (packets are discarded at 16 hops.) The router will then advertise the poisoned route to its neighbor while the timers are still ticking. The route will finally be deleted according to the flush timer which is 240 seconds and if the link is a failed link then the route will not be reintroduced until the link is restored. The total time for a topology change then is 240 seconds, while it’s better than static routes and automatic when there is protocols such as OSPF thats also an IGP it makes no sense to really run RIP when OSPF can converge in about 10 seconds.

Leave a Reply