Cover V10, I03

Article
Figure 1

mar2001.tar


R.I.P. RIP?

Ron McCarty

The routing information protocol (RIP) is a topic of discussion among network administrators, and whether the protocol still has a place in enterprise networking especially in new deployments instigates many debates. Most network administrators seem to love or hate the protocol, based upon their previous experiences with RIP. Due to the high speed LAN connections and superior switching products, many networks are flattened and include more nodes per logical (IP) network than in the past. Thus, it is argued that with fewer routes per host, static routes on routers are acceptable. Most smaller and mid-sized organizations would typically have several routes for local network, and possibly more for remote locations, with the default route taking care of most routes until the IP traffic gets closer to the edge or egress of the network.

Furthermore, Layer 2 redundancy provides many of the features on local area networks that were served with redundant Layer 3 paths in previous generation networks. I tend to agree with these arguments, and have seen this trend and implemented (or helped implement) such a structure to simplify management of networks. Figure 1 depicts such a network.

The weakness with such a solution occurs when it is forced upon an organization that, although relatively small, has a complex network. Remote offices, ExtraNets, multiple Internet gateways, VPN gateways, and instant complex networks created by mergers require a solution that is both manageable, easy to learn, and supported on a wide range of networking equipment.

Many of us are tempted to use the latest tool to create the solution. However, modern but more complex routing protocols, such as Open Shortest Path First (OSPF), may not be the best choice, especially when legacy equipment or limited IT support are issues.

The IETF revisited RIP in 1998 with RFC 2453, "RIP version 2", and stated:

"While it is true that the newer IGP routing protocols are far superior to RIP, RIP does have some advantages. Primarily, in a small network, RIP has very little overhead in terms of bandwidth used and configuration and management time."

RIP Overview

RIP primarily functions as an interior gateway protocol, and it can perform very well in small to medium networks. RIP version 2 uses the network multicast address (224.0.0.9) to advertise the network architecture to its neighbors; RIP version 1 used the broadcast address. These broadcasts are to UDP port 520, regardless of the RIP version. Most of the discussion here covers RIP 2, which has features, including subnetting and variable length subnet masks, necessary in most modern networks. RIP is a distance vector protocol, which means that it only keeps track of the the networks, the gateways, and the metric, which is typically the number of hops to the destination RIP neighbor. This also means that the protocol is not aware of better paths that may exist based upon larger bandwidth or congestion. However, most implementations support manual configuration of the vector for limited administrative granularity. For example, a router with two interfaces to the same WAN may assign the lower bandwidth connection a metric of two, as opposed to the normal metric of one.

RIP is limited to networks with 15 hops or less from any particular RIP node. This was created by the original RIP and has been maintained in RIP version 2 for compatibility with the older version. One of the added features of version 2 is the support of triggered updates, which means that a router can notify its neighbors of an outage by sending a triggered update with a route containing a metric of infinity (defined as 16). Therefore, network changes can converge much quicker. Since I am talking about time, I'll review RIP's timers.

Timing and Numbers

RIP advertisements are broadcast to the network every 30 seconds, with a minimum of about a 5-second jitter to keep the complete network updates from becoming synchronous with each other and causing undo network processing. (PNNI signaling, a very modern protocol for ATM networks, also includes a similar jitter for hello packets.) These updates include the networks directly connected as RIP networks and any networks learned from other RIP advertisements. Before sending the learned routes, the broadcasting node will add one to all the metrics to make the hop count go up. Thirty seconds may seem like too often for network managers that are responsible for very stable networks; whereas, 30 seconds may seem too long for unstable networks for VPN solutions that use the Internet.

The +/- 30 second RIP advertisement is sent to the multicast address 224.0.0.9 on UDP port 520 as previously mentioned. Although the address is a multicast address, it is sent out on the local network and is not forwarded by routers. The distinct advantage of this "local" multicast over a broadcast is that hosts or nodes not configured for RIP will not examine the packet, whereas a broadcast is looked at by every host on the segment.

Each route entry on each node also has timers associated with it. The 180-second timeout keeps a routing entry active as long as no new entries are received for the route. Should an update be received, the timer is reset to 180 seconds.

As opposed to simply flushing the route, a 120-second garbage collection timer is set for the route, and the route's metric is set to infinity (16). During the next 30-second advertisement stages the route is distributed with the infinity metric. Should the "bad" route become "good" during this interval, the route entry currently being timed for garbage collection is replaced with the good entry, and all timers are reset.

Protocol Messaging

RIP messaging is very simple and is made up of two message types: requests and responses. Since RIP is known for its broadcasting or advertising method of distributing routes, the response packet is usually the most well known because it is used for advertisements. The response packet is also used as an answer to a request message and for triggered update. Request messages are used to request specific entries for specific networks or to request the whole network table.

This simplicity of message types makes the protocol easy to implement and is one of the reasons for support of RIP by most router and OS vendors.

New Generation Features

The original version of RIP came under fire for many reasons, including lack of support for subnetting and variable length subnets. As mentioned, RIP version 2 supports these features. In addition to the changes required to support current IP networking practices, the protocol also lacked features that would encourage quicker convergence and avoid routing loops. RIP version 2 supports two distinct features that provided the quicker convergence and routing loops avoidance.

Triggered updates, alluded to earlier, provide a mechanism of telling RIP neighbors that there has been a change in the network topology, without waiting on the next advertisement interval.

Split Horizon is simply a rule that tells the routing protocol process not to send out learned entries onto the network (on broadcast networks) or to the neighbor (point-to-point networks) to which they were learned. Split Horizon with Poison Reverse is the same thing on steroids; as opposed to not advertising the route, the route is advertised with an infinity metric. Examine the Split Horizon and Split Horizon with Poison Reverse to see them in a network. Split Horizon, although not perfect in avoiding routing loops, is a definite plus for most networks.

Summary

RIP, although aged, is a proven technology and available from all router vendors, as well as most OS vendors. Additionally, there are freely available solutions, such as Zebra (http://www.zebra.org). Next month, I'll look at RIP configuration with Zebra and take a closer look at the protocol in action with tcpdump (http://www.tcpdump.org/).

Ronald McCarty received his bachelor's degree in Computer and Information Systems at the University of Maryland's international campus at Schwaebisch Gmuend, Germany. After completing his degree, Ronald McCarty started his network career as network administrator at the Schwaebisch Gmuend campus. Ronald McCarty works for Lucent Technologies as a senior systems engineer on a customer team responsible for a major telecommunications carrier. He spends his free time with his two best friends in the world: his daughter, Janice, and his wife, Claudia. Ron can be reached at: ronald.mccarty@gte.net.