Routing Information Protocol (RIP) is a standard for exchange of routing information among gateways and hosts. RIP is most useful as an "interior gateway protocol".
The default RIP administrative distance is 120. RIP use hop count as the metrics to measure how trust-worthy a route is.
To configure RIP protocol on a router, use command "router rip", followed by command "network 184.108.40.206". The example address 220.127.116.11 is an network address the router directly attached to, and the rip will advertize this address (18.104.22.168) to its neighbors, so that they all know how to reach it.
To turn off automatic network summarization, a function we generally don't want in real-world, use command "no auto-summarization".
The Cisco implementation of RIP uses four timers:
RIP sends its full routing table out all configured interfaces. The table is sent periodically as a broadcast (255.255.255.255) to all hosts.
The update timer specifies the frequency of the periodic broadcasts. By default, the update timer is set to 30 seconds. Each route has a timeout value associated with it. The timeout gets reset every time the router receives a routing update containing the route.
When the timeout value expires, the route is marked as unreachable because it is marked invalid. The router marks the route invalid by setting the metric to 16. The route is retained in the routing table. By default, the invalid timer is 180 seconds, or six updates periods (30 x 6 = 180).
A route entry marked as invalid is retained in the routing table until the flush timer expires. By default, the flush timer is 240 seconds, which is 60 seconds longer than the invalid timer.
Cisco implements an additional timer for RIP, the holddown timer. The holddown timer stabilizes routes by setting an allowed time for which routing information regarding different paths is suppressed. After the metric for a route entry changes, the router accepts no updates for the route until the holddown timer expires. By default, the holddown timer is 180 seconds.
With RIP, load balancing is performed over multiple paths that have equal cost.
To block RIP broadcasts on an interface connected to a subnet of a RIP-enabled network, use command "passive-interface".
There are two types of RIP, RIP version 1 and RIP version 2. The command "version 1" or "version 2" set the RIP version to version 1 or version 2 respectively.
For example: we have a router dirctly attched to network address 22.214.171.124, we want to configure rip version 2 on this router, and also turn off the automatic summarization. We issue the following commands:
The default configuration for both versions of RIP is to send only RIP v1 routing updates and accept both RIP v1 and v2 routing updates.
There are several RIP debugging commands worth mention here.
R1#show ip protocols
R1#show ip route rip
By default, the rip update the routing table every 30 seconds. To force the routing table to update immediatly, use command:
R1#clear ip route *
It's a good idea to gain information with debug command "debug ip rip", but don't forget to turn off the debug with command "undebug all"
R1#debug ip rip
Now, let's spend sometime to compare RIP version 1 and 2.
RIP2 derives from RIP, which is an extension of the Routing Information Protocol (RIP) intended to expand the amount of useful information carried in the RIP messages and to add a measure of security. RIP2 is an UDP-based protocol. For detail, check RFC 2453.
RIP version 1 and RIP version 2 have similarities and differences.
- Both use the Beliman-Ford algorithm. (OSPF uses SPF or Dijkstra algorithm, EIGRP uses DUAL)
- Both are configured with "router rip"
- Both send routing updates at fixed times
- Both have a maximum hop-count of 15
- Both use the same metric for route poisoning, that is, if the routes has a hop count greater than 15, it is "unreachable" with RIP routes.
- Both versions can be verified/debugged with "show ip protocols" and "debug ip rip"
- RIPv1 is a classful routing protocol, RIPv2 is classless protocol.
- RIPv1 use broadcast to update the routing table, RIPv2 uses multicasts (126.96.36.199) rather than broadcasts to 255.255.255.255.
- RIPv1 don't support VLSM, RIPv2 supports VLSM
- RIPv1 don't support manual route summarization, RIPv2 support manual route summarization.
- RIPv2 supports MD5 authentication for routing updates