![](https://cv01.studmed.ru/view/4480c03a0ef/bg2c2.png)
The TCP/IP Guide - Version 3.0 (Contents) ` 706 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
BSD was (and still is) a very popular operating system, especially for machines connected
to the early Internet. As a result, RIP was widely deployed and became the industry
standard for internal routing protocols. It was used both for TCP/IP and also other protocol
suites. In fact, a number of other routing protocols, such as the RTP protocol in the
AppleTalk suite, were based on this early version of RIP.
RIP Standardization
For a while, the BSD implementation of routed was actually considered the standard for the
protocol itself. However, this was not a formally defined standard, and this meant there was
no formal definition of how exactly it functioned. This lead to slight differences in various
implementations of the protocol over time. To resolve potential interoperability issues
between implementations, the IETF formally specified RIP in the Internet standard RFC
1058, Routing Information Protocol, published in June 1988. This RFC was based directly
on the BSD routed program. This original version of RIP is now also sometimes called RIP
version 1 or RIP-1 to differentiate it from later versions.
RIP's popularity was due in large part to its inclusion in BSD; this was in turn a result of the
relative simplicity of the protocol. RIP uses the distance-vector algorithm (also called the
Bellman-Ford algorithm after two of its inventors) to determine routes. Each router
maintains a routing table containing entries for various networks or hosts in the inter-
network. Each entry contains two primary pieces of information: the address of the network
or host, and the distance to it, measured in hops, which is simply the number of routers that
a datagram must pass through to get to its destination.
RIP Operational Overview, Advantages and Limitations
On a regular basis, each router in the internetwork sends out its routing table in a special
message on each of the networks to which it is connected, using UDP. Other routers
receive these tables and use them to update their own tables. This is done by taking each
of the routes they receive and adding an extra hop. For example, if router A receives an
indication from router B that network N1 is 4 hops away, then since router A and router B
are adjacent, the distance from router A to N1 is 5. After a router updates its tables, it in turn
sends out this information to other routers on its local networks. Over time, routing distance
information for all networks propagates over the entire internetwork.
RIP is straight-forward in operation, easy to implement, and undemanding of router
processing power, which makes it attractive especially in smaller autonomous systems.
There are, however, some important limitations that arise due to the simplicity of the
protocol. For starters, hops are often not the best metric to use in selecting routes. There
are also a number of problems that arise with the algorithm itself. These include slow
convergence (delays in having all routers agree on the same routing information) and
problems dealing with network link failures.
RIP includes several special features to resolve some of these issues, but others are
inherent limitations of the protocol. For example, RIP only supports a maximum of 15 hops
between destinations, making it unsuitable for very large autonomous systems, and this
cannot be changed.