RIP stands for Routing Information Protocol and RIP is a dynamic routing protocol. RIP is defined by RFC 1058.
In RIP, the routing daemon daemon adds a routing policy to the system. If there are multiple routes to a destination, it chooses the best one. The RIP message can contain information on up to 25 routes. The RIP message contains the following components:
- Version - Normally 1 but set to 2 for RIP version 2.
- family - Set to 2 for IP addresses.
- IP address - 32 bit IP address
- Metrics - Indicate the number of hops to a given network, the hop count.
RIP sends periodically broadcasts its routing table to neighboring routers. The RIP message format contains the following commands:
- 1 - request
- 2 - reply
- 3 & 4 - obsolete
- 5 - poll entry
- 6 - Asks for system to send all or part of routing table
When the daemon "routed" starts, it sends a request out all its interfaces for other router's routing tables. The request is broadcast if the network supports it. For TCP/IP the address family in the message is normally 2, but the initial request has address family set to 0 with the metric set to 16.
Regular routing updates are sent every 30 seconds with all or part of the route table. As each router sends routing tables (advertises routes to networks its NICs interface to) routes are determined to each network.
Drawbacks of RIP:
- RIP has no knowledge of subnet addressing
- It takes a long time to stabilize after a router or link failure.
- Uses more broadcasting than OSPF requiring more network bandwidth.
RIP Version 2
RIP version 2 is defined by RFC 1388. It passes further information in some of the fields that are set to 0 for the RIP protocol. These additional fields include a 32 bit subnet mask and a next hop IP address, a routing domain, and route tag. The routing domain is an identifier of the daemon the packet belongs to. The route tags supports EGPs.