The Routing Information Protocol (RIP) is one of the oldest distance-vector routing protocols which employs the hop count as a routing metric. RIP prevents routing loops by implementing a limit on the number of hops allowed in a path from source to destination. The largest number of hops allowed for RIP is 15, which limits the size of networks that RIP can support.
RIP implements the split horizon, route poisoning, and holddown mechanisms to prevent incorrect routing information from being propagated.
In RIPv1 routers broadcast updates with their routing table every 30 seconds. In the early deployments, routing tables were small enough that the traffic was not significant. As networks grew in size, however, it became evident there could be a massive traffic burst every 30 seconds, even if the routers had been initialized at random times.
In most networking environments, RIP is not the preferred choice of routing protocol, as its time to converge and scalability are poor compared to EIGRP, OSPF, or IS-IS. However, it is easy to configure, because RIP does not require any parameters, unlike other protocols.
RIP uses the User Datagram Protocol (UDP) as its transport protocol, and is assigned the reserved port number 520.
Development of distance-vector routing
Based on the Bellman–Ford algorithm and the Ford–Fulkerson algorithm, distance-vector routing protocols started to be implemented from 1969 onwards in data networks such as the ARPANET and CYCLADES. The predecessor of RIP was the Gateway Information Protocol (GWINFO) which was developed by Xerox in the mid-1970s to route its experimental network. As part of the Xerox Network Systems (XNS) protocol suite GWINFO transformed into the XNS Routing Information Protocol. This XNS RIP in turn became the basis for early routing protocols, such as Novell's IPX RIP, AppleTalk's Routing Table Maintenance Protocol (RTMP), and the IP RIP. The 1982 Berkeley Software Distribution of the UNIX operating system implemented RIP in the routed daemon. The 4.2BSD release proved popular and became the basis for subsequent UNIX versions, which implemented RIP in the routed or gated daemon. Ultimately, RIP had been extensively deployed before the standard, written by Charles Hedrick, was passed as RIPv1 in 1988.
The RIP hop count
The routing metric used by RIP counts the number of routers that need to be passed to reach a destination IP network. The hop count 0 denotes a network that is directly connected to the router. 16 hops denote a network that is unreachable, according to the RIP hop limit.
Versions
There are three standardized versions of the Routing Information Protocol: RIPv1 and RIPv2 for IPv4, and RIPng for IPv6.
RIP version 1
The original specification of RIP was published in 1988. When starting up, and every 30 seconds thereafter, a router with RIPv1 implementation broadcasts to a request message through every RIPv1 enabled interface. Neighbouring routers receiving the request message respond with a RIPv1 segment, containing their routing table. The requesting router updates its own routing table, with the reachable IP network address, hop count and next hop, that is the router interface IP address from which the RIPv1 response was sent. As the requesting router receives updates from different neighbouring routers it will only update the reachable networks in its routing table, if it receives information about a reachable network it has not yet in its routing table or information that a network it has in its routing table is reachable with a lower hop count. Therefore, a RIPv1 router will in most cases only have one entry for a reachable network, the one with the lowest hop count. If a router receives information from two different neighbouring router that the same network is reachable with the same hop count but via two different routes, the network will be entered into the routing table two times with different next hop routers. The RIPv1 enabled router will then perform what is known as equal-cost load balancing for IP packets. It was thought, as a result of random initialization, the routing updates would spread out in time, but this was not true in practice. Sally Floyd and Van Jacobson showed in 1994 that, without slight randomization of the update timer, the timers synchronized over time.
RIPv1 can be configured into silent mode, so that a router requests and processes neighbouring routing tables, and keeps its routing table and hop count for reachable networks up to date, but does not needlessly send its own routing table into the network. Silent mode is commonly implemented to hosts.
RIPv1 uses classful routing. The periodic routing updates do not carry subnet information, lacking support for variable length subnet masks (VLSM). This limitation makes it impossible to have different-sized subnets inside of the same network class. In other words, all subnets in a network class must have the same size. There is also no support for router authentication, making RIP vulnerable to various attacks.
RIP version 2
Due to the deficiencies of the original RIP specification, RIP version 2 (RIPv2) was developed in 1993,
;Update Timer
:Controls the interval between two gratuitous Response Messages. By default the value is 30 seconds. The response message is broadcast to all its RIP enabled interface.
Implementations
<!--======================== ============================
| PLEASE BE CAUTIOUS IN ADDING MORE LINKS TO THIS ARTICLE. Wikipedia |
| is not a collection of links nor should it be used for advertising. |
| |
| Excessive or inappropriate links WILL BE DELETED. |
| See Wikipedia:External links & Wikipedia:Spam for details. |
| |
| If there are already plentiful links, please propose additions or |
| replacements on this article's discussion page, or submit your link |
| to the relevant category at the Open Directory Project (dmoz.org) |
| and link back to that category using the template. |
======================= =============================-->
- Cisco IOS, software used in Cisco routers (supports version 1, version 2 and RIPng)
- Cisco NX-OS software used in Cisco Nexus data center switches (supports RIPv2 only)
- Junos software used in Juniper routers, switches, and firewalls (supports RIPv1 and RIPv2)
- Routing and Remote Access, a Windows Server feature, contains RIP support
- Quagga, a free open source software routing suite based on GNU Zebra
- BIRD, a free open source software routing suite
- Zeroshell, a free open source software routing suite
- A RIP implementation first introduced in 4.2BSD, routed, survives in several of its descendants, including FreeBSD and NetBSD.
- OpenBSD introduced a new implementation, ripd, in version 4.1 and retired routed in version 4.4.
- Netgear routers commonly offer a choice of two implementations of RIPv2; these are labelled RIP_2M and RIP_2B. RIP_2M is the standard RIPv2 implementation using multicasting - which requires all routers on the network to support RIPv2 and multicasting, whereas RIP_2B sends RIPv2 packets using subnet broadcasting - making it more compatible with routers that do not support multicasting, including RIPv1 routers.
- Huawei HG633 ADSL/VDSL routers support passive and active routing with RIP v1 & v2 on the LAN and WAN side.
Similar protocols
Cisco's proprietary Interior Gateway Routing Protocol (IGRP) was a somewhat more capable protocol than RIP. It belongs to the same basic family of distance-vector routing protocols.
Cisco has ceased support and distribution of IGRP in their router software. It was replaced by the Enhanced Interior Gateway Routing Protocol (EIGRP) which is a completely new design. While EIGRP still uses a distance-vector model, it relates to IGRP only in using the same composite routing metric. Both IGRP and EIGRP calculated a single composite metric for each route, from a formula of five variables: bandwidth, delay, reliability, load, and MTU; though on Cisco routers, by default, only bandwidth and delay are used in this calculation.
See also
- Convergence (routing)
References
Further reading
- Malkin, Gary Scott (2000). RIP: An Intra-Domain Routing Protocol. Addison-Wesley Longman. .
- Edward A. Taft, Gateway Information Protocol (revised) (Xerox Parc, Palo Alto, May, 1979)
- Xerox System Integration Standard - Internet Transport Protocols (Xerox, Stamford, 1981)
