- RFC 2453 – RIP Version 2
- Distance Vector IGP.
- Routers only know what directly connected neighbours tell them (Routing by Rumour). Routers only know what is the routing as it told by neighbours but does not actually know the state/condition of the route itself.
- Only RIP routes installed in RIB are advertised. Distance Vector routing protocol cannot advertise route that it does not use.
- Routes installed in the RIB are periodically advertised.
- Default timers values:
- Updates 30 seconds. Periodic updates.
- Invalid 180 seconds. How long since the last update before it considers it’s invalid by poisoning the route with metric of 16 and put the route to “possibly down” (Hold Down) in RIB with metric of “4294967295 (inaccessible)”. In RFC 2453, this is known as “Timeout”.
- Hold Down 180 seconds. On later Cisco IOS, updates can be accepted during hold down state. Tested on IOS 12.4T and above. This is Cisco specific, RFC 2453 does not specify hold down timer.
- Flush 240 seconds. In Cisco, Flushed after timer is verified only after the route has been moved to invalid state (after Invalid timer expired). In RFC 2453, this is known as “Garbage Collection”.
- RIP sends updates every 30 seconds (Updates timer). If it doesn’t hear updates after 180 seconds (Invalid timer), it will mark the route as “possibly down” in RIB.
- Default updates via multicast address 18.104.22.168 (UDP port 520) but can also be configured to use broadcast 255.255.255.255.
neighbor ip-addresswill send updates to peer via unicast. However, updates via multicast address still need to be turned off via
- Two types of messages. Requests and Responses. 4 Byte header, set 1 for Request, 2 for Response.
- Contain Address Family ID (Only IPv4), Route Tag, IP Address, Subnet Mask, Next Hop, and Metric.
- 25 routing entries maximum.
- Request message. To ask neighbour to send a partial or full RIP update rather than waiting for the Update timer to expire.
- Full RIP update requested by containing one routing entry with Address Family ID set to 0 and Metric set to 16.
- If contain more than one, these networks are requested.
- On Cisco, Request message for full updates are sent when RIP process is started, RIP-enabled interface comes up, or
clear ip route *command executed.
- Cisco does not use partial update.
- Uses hop-count metric. 15 is the largest valid metric, 16 is infinity. Add 1 to each route when advertises out.
- Maximum 4 equal routes can be installed in RIB, or can be configured via
maximum-pathup to 32 routes but depends on the IOS version and hardware platform.
- Counting to Infinity. If received update with metric of 16, stop using that route.
- Split Horizon. Not to advertise back for routes that were learned from an interface. Enabled by default except for Frame Relay and ATM interfaces.
- Split Horizon with Poisoned Reverse. Advertise back for routes that were learned from an interface but with infinite metric (16).
- Route poisoning. Sending route with infinite-metric to inform for route removal.
- Triggered update. Instead of waiting for Update time to expire, send routing update whenever the routing changes.
- RFC 2091, RIPv2 on-demand. Updates only sent when topology changes.
- RIPv2 network command only allows for a classful network. Implying that enabling RIPv2 on an interface makes the routes begin sending/listening/advertising RIPv2 updates.
- RIPv2 still uses auto-summarization, this can be disabled via
- Manual summarization (ip summary rip x.x.x.x) command will not create route-to-null locally but will remove included subnet advertised to peer.
- RIPv1 is the default version when enabling RIP. Use command
version 2to enable RIPv2.
- Although configured for RIPv2, interface can be configured to send/receive RIPv1, RIPV2, or both. RIPv1 Default is to send/received RIPv1 and RIPv2 for RIPv2.
- Can be configured to use authentication either as clear-text or MD5.
- Offset-List can be used to add route’s metric when received or sending.
- RIP will validate the source of the routing update to be the next hop. This can be disabled e.g. for PPP scenario using DHCP.
- In Cisco, routing updates can be manipulated via:
- Passive Interface. Passive Interface will stop the interface sending updates via multicast.
- Distribute-List. In/Out.
- Prefix-List. Using Prefix-List under distribute-list. Can attached gateway option too.
- Standard ACL. Using standard ACL under distribute-list.
- Extended ACL. Source means source, destination means routes.
- Cannot use named ACL.
- Offset-List. In/Out interface. Can use standard ACL.
- Administrative Distance. Use standard ACL for routes, use distance command for all peer addresses.
- Per Neighbour Administrative Distance. Use standard ACL for routes, use distance command for peer address.
- Default Routing. Default-information originate [route-map]
- Conditional Default Routing. Default-information originate with to track route-map with preflix-list or ACL.
- Reliable Conditional Default Routing. Default-information originate with to track route-map with preflix-list or ACL with IP SLA tracking.