RIP and RIPng Overview
RIP Overview
RIP is an interior gateway protocol (IGP) that uses a distance-vector algorithm to determine the best route to a destination, using the hop count as the metric.
In a RIP network, each router's forwarding table is distributed among the nodes through the flooding of routing table information. Because topology changes are flooded throughout the network, every node maintains the same list of destinations. Packets are then routed to these destinations based on path-cost calculations done at each node in the network.
In general, the term RIP refers to RIP version 1 and RIP version 2.
This topic contains the following sections:
- Distance-Vector Routing Protocols
- RIP Protocol Overview
- RIP Packets
- Maximizing Hop Count
- Split Horizon and Poison Reverse Efficiency Techniques
- Limitations of Unidirectional Connectivity
Distance-Vector Routing Protocols
Distance-vector routing protocols transmit routing information that includes a distance vector, typically expressed as the number of hops to the destination. This information is flooded out all protocol-enabled interfaces at regular intervals (every 30 seconds in the case of RIP) to create a network map that is stored in each node's local topology database. Figure 1 shows how distance-vector routing works.
In Figure 1, Routers A and B have RIP enabled on adjacent interfaces. Router A has known RIP neighbors Routers C, D, and E, which are 1, 2, and 3 hops away, respectively. Router B has known RIP neighbors Routers X, Y, and Z, which are 1, 2, and 3 hops away, respectively. Every 30 seconds, each router floods its entire routing table information out all RIP-enabled interfaces. In this case, flooding exchanges routing table information across the RIP link.
When Router A receives routing information from Router B, it adds 1 to the hop count to determine the new hop count. For example, Router X has a hop count of 1, but when Router A imports the route to X, the new hop count is 2. The imported route also includes information about where the route was learned, so that the original route is imported as a route to Router X through Router B with a hop count of 2.
When multiple routes to the same host are received, RIP uses the distance-vector algorithm to determine which path to import into the forwarding table. The route with the smallest hop count is imported. If there are multiple routes with the same hop count, all are imported into the forwarding table, and traffic is sent along the paths in round-robin fashion.
RIP Protocol Overview
The RIP IGP uses the Bellman-Ford, or distance-vector, algorithm to determine the best route to a destination. RIP uses the hop count as the metric. RIP enables hosts and routers to exchange information for computing routes through an IP-based network. RIP is intended to be used as an IGP in reasonably homogeneous networks of moderate size.
The Junos® operating system (Junos OS) supports RIP versions 1 and 2.
RIP is not supported for multipoint interfaces.
RIP version 1 packets contain the minimal information necessary to route packets through a network. However, this version of RIP does not support authentication or subnetting.
RIP uses User Datagram Protocol (UDP) port 520.
RIP has the following architectural limitations:
The longest network path cannot exceed 15 hops (assuming that each network, or hop, has a cost of 1).
RIP depends on counting to infinity to resolve certain unusual situations—When the network consists of several hundred routers, and when a routing loop has formed, the amount of time and network bandwidth required to resolve a next hop might be great.
RIP uses only a fixed metric to select a route. Other IGPs use additional parameters, such as measured delay, reliability, and load.
RIP Packets
RIP packets contain the following fields:
Command—Indicates whether the packet is a request or response message. Request messages seek information for the router’s routing table. Response messages are sent periodically and also when a request message is received. Periodic response messages are called update messages. Update messages contain the command and version fields and 25 destinations (by default), each of which includes the destination IP address and the metric to reach that destination.
Note:Beginning with Junos OS Release 11.1, three additional command field types are available to support RIP demand circuits. When you configure an interface for RIP demand circuits, the command field indicates whether the packet is an update request, update response, or update acknowledge message. Neighbor interfaces send updates on demand, not periodically. These command field types are only valid on interfaces configured for RIP demand circuits. For more detailed information, see RIP Demand Circuits Overview.
Version number—Version of RIP that the originating router is running.
Address family identifier—Address family used by the originating router. The family is always IP.
Address—IP address included in the packet.
Metric—Value of the metric advertised for the address.
Mask—Mask associated with the IP address (RIP version 2 only).
Next hop—IP address of the next-hop router (RIP version 2 only).
Routing information is exchanged in a RIP network by RIP request and RIP response packets. A router that has just booted can broadcast a RIP request on all RIP-enabled interfaces. Any routers running RIP on those links receive the request and respond by sending a RIP response packet immediately to the router. The response packet contains the routing table information required to build the local copy of the network topology map.
In the absence of RIP request packets, all RIP routers broadcast a RIP response packet every 30 seconds on all RIP-enabled interfaces. The RIP broadcast is the primary way in which topology information is flooded throughout the network.
Once a router learns about a particular destination through RIP, it starts a timer. Every time it receives a new response packet with information about the destination, the router resets the timer to zero. However, if the router receives no updates about a particular destination for 180 seconds, it removes the destination from its RIP routing table.
In addition to the regular transmission of RIP packets every 30 seconds, if a router detects a new neighbor or detects that an interface is unavailable, it generates a triggered update. The new routing information is immediately broadcast out all RIP-enabled interfaces, and the change is reflected in all subsequent RIP response packets.
Maximizing Hop Count
The successful routing of traffic across a RIP network requires that every node in the network maintain the same view of the topology. Topology information is broadcast between RIP neighbors every 30 seconds. If Router A is many hops away from a new host, Router B, the route to B might take significant time to propagate through the network and be imported into Router A's routing table. If the two routers are 5 hops away from each other, Router A cannot import the route to Router B until 2.5 minutes after Router B is online (30 seconds per hop). For large numbers of hops, the delay becomes prohibitive. To help prevent this delay from growing arbitrarily large, RIP enforces a maximum hop count of 15 hops. Any prefix that is more than 15 hops away is treated as unreachable and assigned a hop count equal to infinity. This maximum hop count is called the network diameter.
Split Horizon and Poison Reverse Efficiency Techniques
Because RIP functions by periodically flooding the entire routing table out to the network, it generates a lot of traffic. The split horizon and poison reverse techniques can help reduce the amount of network traffic originated by RIP hosts and make the transmission of routing information more efficient.
If a router receives a set of route advertisements on a particular interface, RIP determines that those advertisements do not need to be retransmitted out the same interface. This technique, known as split horizon, helps limit the amount of RIP routing traffic by eliminating information that other neighbors on that interface have already learned. Figure 2 shows an example of the split horizon technique.
In Figure 2, Router A advertises routes to Routers C, D, and E to Router B. In this example, Router A can reach Router C in 2 hops. When Router A advertises the route to Router B, Router B imports it as a route to Router C through Router A in 3 hops. If Router B then readvertised this route to Router A, Router A would import it as a route to Router C through Router B in 4 hops. However, the advertisement from Router B to Router A is unnecessary, because Router A can already reach the route in 2 hops. The split horizon technique helps reduce extra traffic by eliminating this type of route advertisement.
Similarly, the poison reverse technique helps to optimize the transmission of routing information and improve the time to reach network convergence. If Router A learns about unreachable routes through one of its interfaces, it advertises those routes as unreachable (hop count of 16) out the same interface. Figure 3 shows an example of the poison reverse technique.
In Figure 3, Router A learns through one of its interfaces that routes to Routers C, D, and E are unreachable. Router A readvertises those routes out the same interface as unreachable. The advertisement informs Router B that Routers C, D, and E are definitely not reachable through Router A.
Limitations of Unidirectional Connectivity
Because RIP processes routing information based solely on the receipt of routing table updates, it cannot ensure bidirectional connectivity. As Figure 4 shows, RIP networks are limited by their unidirectional connectivity.
In Figure 4, Routers A and D flood their routing table information to Router B. Because the path to Router E has the fewest hops when routed through Router A, that route is imported into Router B's forwarding table. However, suppose that Router A can transmit traffic but is not receiving traffic from Router B because of an unavailable link or invalid routing policy. If the only route to Router E is through Router A, any traffic destined for Router A is lost, because bidirectional connectivity was never established.
OSPF establishes bidirectional connectivity with a three-way handshake.
See Also
RIPng Overview
The Routing Information Protocol next generation (RIPng) is an interior gateway protocol (IGP) that uses a distance-vector algorithm to determine the best route to a destination, using hop count as the metric. RIPng exchanges routing information used to compute routes and is intended for IP version 6 (IPv6)-based networks. RIPng is disabled by default.
On devices in secure context, IPv6 is disabled. You must enable IPv6 to use RIPng. For instructions, see the Junos OS Interfaces Configuration Guide for Security Devices.
This topic contains the following sections:
RIPng Protocol Overview
The RIPng IGP uses the Bellman-Ford distance-vector algorithm to determine the best route to a destination, using hop count as the metric. RIPng allows hosts and routers to exchange information for computing routes through an IP-based network. RIPng is intended to act as an IGP for moderately-sized autonomous systems.
RIPng is a distinct routing protocol from RIPv2. The Junos OS implementation of RIPng is similar to RIPv2, but has the following differences:
RIPng does not need to implement authentication on packets.
Junos OS does not support multiple instances of RIPng.
Junos OS does not support RIPng routing table groups.
RIPng is a UDP-based protocol and uses UDP port 521.
RIPng has the following architectural limitations:
The longest network path cannot exceed 15 hops (assuming that each network, or hop, has a cost of 1).
RIPng is prone to routing loops when the routing tables are reconstructed. Especially when RIPng is implemented in large networks that consist of several hundred routers, RIPng might take an extremely long time to resolve routing loops.
RIPng uses only a fixed metric to select a route. Other IGPs use additional parameters, such as measured delay, reliability, and load.
RIPng Standards
RIPng is defined in the following documents:
RFC 2080, RIPng for IPv6
RFC 2081, RIPng Protocol Applicability Statement
To access Internet Requests for Comments (RFCs) and drafts, see the Internet Engineering Task Force (IETF) website.
RIPng Packets
A RIPng packet header contains the following fields:
Command—Indicates whether the packet is a request or response message. Request messages seek information for the router’s routing table. Response messages are sent periodically or when a request message is received. Periodic response messages are called update messages. Update messages contain the command and version fields and a set of destinations and metrics.
Version number—Specifies the version of RIPng that the originating router is running. This is currently set to Version 1.
The rest of the RIPng packet contains a list of routing table entries consisting of the following fields:
Destination prefix—128-bit IPv6 address prefix for the destination.
Prefix length—Number of significant bits in the prefix.
Metric—Value of the metric advertised for the address.
Route tag—A route attribute that must be advertised and redistributed with the route. Primarily, the route tag distinguishes external RIPng routes from internal RIPng routes when routes must be redistributed across an exterior gateway protocol (EGP).
See Also
Supported RIP and RIPng Standards
Junos OS substantially supports the following RFCs, which define standards for RIP (for IP version 4 [IPv4]) and RIP next generation (RIPng, for IP version 6 [IPv6]).
Junos OS supports authentication for all RIP protocol exchanges (MD5 or simple authentication).
RFC 1058, Routing Information Protocol
RFC 2080, RIPng for IPv6
RFC 2082, RIP-2 MD5 Authentication
Multiple keys using distinct key IDs are not supported.
RFC 2453, RIP Version 2
The following RFC does not define a standard, but provides information about RIPng. The IETF classifies it as “Informational.”
RFC 2081, RIPng Protocol Applicability Statement