Overview

Routing information protocol (RIP) is a interior distance vector routing protocol originally defined in RFC1058. RIP has had a number of improvements over the years with version 2 being defined RFC2453 and RIPng adding IPv6 support in RFC2080.

Transport

RIPv1 and RIPv2 utilize UDP/520, RIPng uses UDP/521 to transport RIP messages.

Metric

RIP uses the number of hops to a destination as its metric. RIP has a maximum hop count of 15 with 16 considered to be infinite and unreachable.

Neighborship

RIP does not form a neighborship with adjacent RIP routers. RIP processes routing updates received via either broadcast or mulitcast depending on the RIP version in use.

Routing Updates

RIP RIPv2 RIPng
Update Type Broadcast Multicast Multicast
Update Interval 30 seconds 30 seconds 30 seconds
Update Address 255.255.255.255 224.0.0.9 FF02
Update Contents Full update at each interval period.
Triggered Update Immediate partial update when routing information changes. Only contains changed routes.
Invalid After Timer If a route stops being received, it will be declared invalid after 180 seconds.
Holddown Timer Once the invalid after timer expires the route will be advertised as unreachable for 180 seconds.
Flushed After Timer Starts at the same time as the invalid after timer. If no updates are received for the route in 240 seconds the route is flushed from the routing table.

Message Format

RIPv1

blog/rip/ripv1-message-format.svg

RIPv2

blog/rip/ripv2-message-format.svg

RIPng

blog/rip/ripng-message-format.svg

Summarization

RIPv1 is a classful routing protocol and summarization is not supported. RIPv2 and RIPng added support for classless routing and subnets can be summarized at any arbitrary block.

Loop Prevention

Mechanism Description
Count to infinity If a routes metric exceeds the infinity counter cease using that routes next hop.
Split horizon Routes are not advertised out the same interface they where learned.
Split horizon with poison reverse Routes learned from an interface are re-advertised out the same interface with an infinite metric.
Route Poisoning When a route fails, set the routes metric to infinity in the next routing update.

Authentication

RIPv1 does not support authentication. RIPv2 support both plain-text and MD5 authentication. RIPng does not implement authentication and relies on the authentication and encryption capabilities of the underlying IPv6 protocol for routing update integrity.

Packet Captures

Various RIP PCAPs can be found here.

Bibliography

1. Kocharians, N. and Paluch, P. (2014) CCIE Routing and Switching v5.0 Official Cert Guide, Volume 1, 5th Edition - Chapter 7: RIPv2 and RIPng. Indianapolis: Cisco Press