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
Hops are the flowers (also called seed cones or strobiles) of the hop plant ''Humulus lupulus'', a member of the Cannabaceae family of flowering plants. They are used primarily as a bittering, flavouring, and stability agent in beer, to whic ...
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
A routing protocol specifies how routers communicate with each other to distribute information that enables them to select paths between nodes on a computer network. Routers perform the traffic directing functions on the Internet; data packet ...
, as its
time to converge and
scalability
Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system.
In an economic context, a scalable business model implies that ...
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
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in Network packet, packets) to other hosts on an Internet Protoco ...
(UDP) as its transport protocol, and is assigned the reserved
port number 520.
Development of distance-vector routing
Based on the
Bellman–Ford algorithm
The Bellman–Ford algorithm is an algorithm that computes shortest paths from a single source vertex (graph theory), vertex to all of the other vertices in a weighted digraph.
It is slower than Dijkstra's algorithm for the same problem, but more ...
and the
Ford–Fulkerson algorithm,
distance-vector routing protocols started to be implemented from 1969 onwards in
data networks such as the
ARPANET
The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the tec ...
and
CYCLADES
The CYCLADES computer network () was a French research network created in the early 1970s. It was one of the pioneering networks experimenting with the concept of packet switching and, unlike the ARPANET, was explicitly designed to facilitate i ...
. The predecessor of RIP was the Gateway Information Protocol (GWINFO) which was developed by
Xerox
Xerox Holdings Corporation (, ) is an American corporation that sells print and electronic document, digital document products and services in more than 160 countries. Xerox was the pioneer of the photocopier market, beginning with the introduc ...
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
Novell, Inc. () was an American software and services company headquartered in Provo, Utah, that existed from 1980 until 2014. Its most significant product was the multi-platform network operating system known as NetWare. Novell technolog ...
's IPX RIP,
AppleTalk's Routing Table Maintenance Protocol (RTMP), and the IP RIP. The 1982
Berkeley Software Distribution
The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginn ...
of the
UNIX
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
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
Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
, and ''RIPng'' for
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
.
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.
RIPv1 enabled routers not only request the routing tables of other routers every 30 seconds, they also listen to incoming requests from neighbouring routers and send their own routing table in turn. RIPv1 routing tables are therefore updated every 25 to 35 seconds.
The RIPv1 protocol adds a small random time variable to the update time, to avoid routing tables synchronizing across a LAN. 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,
published in 1994, and declared
Internet Standard
In computer network engineering, an Internet Standard is a normative specification of a technology or methodology applicable to the Internet. Internet Standards are created and published by the Internet Engineering Task Force (IETF). They allow ...
56 in 1998. It included the ability to carry subnet information, thus supporting
Classless Inter-Domain Routing (CIDR). To maintain
backward compatibility
In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with Input ...
, the hop count limit of 15 remained. RIPv2 has facilities to fully interoperate with the earlier specification if all ''Must Be Zero'' protocol fields in the RIPv1 messages are properly specified. In addition, a ''compatibility switch'' feature allows fine-grained interoperability adjustments.
In an effort to avoid unnecessary load on hosts that do not participate in routing, RIPv2 ''
multicasts'' the entire routing table to all adjacent routers at the address
, as opposed to RIPv1 which uses
broadcast
Broadcasting is the data distribution, distribution of sound, audio audiovisual content to dispersed audiences via a electronic medium (communication), mass communications medium, typically one using the electromagnetic spectrum (radio waves), ...
.
Unicast addressing is still allowed for special applications.
(
MD5) authentication for RIP was introduced in 1997.
Route tags were also added in RIP version 2. This functionality allows a distinction between routes learned from the RIP protocol and routes learned from other protocols.
RIPng
RIPng (RIP next generation) is an extension of RIPv2 for support of
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
, the next generation
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
. The main differences between RIPv2 and RIPng are:
* Support of IPv6 networking.
* While RIPv2 supports RIPv1 updates authentication, RIPng does not. IPv6 routers were, at the time, supposed to use
IPsec for authentication.
* RIPv2 encodes the next-hop into each route entry, RIPng requires specific encoding of the next hop for a set of route entries.
RIPng sends updates on UDP port 521 using the multicast group .
RIP messages between routers
RIP messages use the
User Datagram Protocol
In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in Network packet, packets) to other hosts on an Internet Protoco ...
on port 520 and all RIP messages exchanged between routers are encapsulated in a UDP datagram.
RIPv1 Messages
RIP defined two types of messages:
;Request Message
:Asking a neighbouring RIPv1 enabled router to send its routing table.
;Response Message
:Carries the routing table of a router.
Timers
The routing information protocol uses the following timers as part of its operation:
;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.
;Invalid Timer
:The invalid timer specifies how long a routing entry can be in the routing table without being updated. This is also called as expiration Timer. By default, the value is 180 seconds. After the timer expires the hop count of the routing entry will be set to 16, marking the destination as unreachable.
;Flush Timer
:The flush timer controls the time between the route is invalidated or marked as unreachable and removal of entry from the routing table. By default the value is 240 seconds. This is 60 seconds longer than Invalid timer. So for 60 seconds the router will be advertising about this unreachable route to all its neighbours. This timer must be set to a higher value than the ''invalid timer.''
;Holddown Timer
:The hold-down timer is started per route entry, when the hop count is changing from lower value to higher value. This allows the route to get stabilized. During this time no update can be done to that routing entry. This is not part of the RFC 1058. This is
Cisco's implementation. The default value of this timer is 180 seconds.
Limitations
* The hop count cannot exceed 15, or routes will be dropped.
* Variable Length Subnet Masks are not supported by RIP version 1 (which is obsolete).
* RIP has slow convergence and
count to infinity problems.
Implementations
*
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
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
routing suite based on
GNU Zebra
*
BIRD
Birds are a group of warm-blooded vertebrates constituting the class (biology), class Aves (), characterised by feathers, toothless beaked jaws, the Oviparity, laying of Eggshell, hard-shelled eggs, a high Metabolism, metabolic rate, a fou ...
, a
free open source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
routing suite
*
Zeroshell, a
free open source software
Open-source software (OSS) is Software, computer software that is released under a Open-source license, license in which the copyright holder grants users the rights to use, study, change, and Software distribution, distribute the software an ...
routing suite
* A RIP implementation first introduced in
4.2BSD, routed, survives in several of its descendants, including
FreeBSD
FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
and
NetBSD
NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was fork (software development), forked. It continues to ...
.
*
OpenBSD
OpenBSD is a security-focused operating system, security-focused, free software, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking NetBSD ...
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
Huawei Technologies Co., Ltd. ("Huawei" sometimes stylized as "HUAWEI"; ; zh, c=华为, p= ) is a Chinese multinational corporationtechnology company in Longgang, Shenzhen, Longgang, Shenzhen, Guangdong. Its main product lines include teleco ...
HG633 ADSL/VDSL routers support passive and active routing with RIP v1 & v2 on the LAN and WAN side.
Similar protocols
Cisco
Cisco Systems, Inc. (using the trademark Cisco) is an American multinational digital communications technology conglomerate corporation headquartered in San Jose, California. Cisco develops, manufactures, and sells networking hardware, s ...
'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
Enhanced Interior Gateway Routing Protocol (EIGRP) is an advanced distance-vector routing protocol that is used on a computer network for automating routing decisions and configuration. The protocol was designed by Cisco Systems as a proprietary p ...
(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)
Convergence is the state of a set of routers that have the same topological information about the internetwork in which they operate. For a set of routers to have ''converged'', they must have collected all available topology information from e ...
References
Further reading
* Malkin, Gary Scott (2000). ''RIP: An Intra-Domain Routing Protocol''. Addison-Wesley Longman. {{ISBN, 0-201-43320-6.
* Edward A. Taft, ''Gateway Information Protocol (revised)'' (Xerox Parc, Palo Alto, May, 1979)
* ''Xerox System Integration Standard - Internet Transport Protocols'' (Xerox, Stamford, 1981)
Internet Standards
Internet protocols
Routing protocols