Home  

Random  

Nearby  



Log in  



Settings  



Donate  



About Wikipedia  

Disclaimers  



Wikipedia





Routing Information Protocol





Article  

Talk  



Language  

Watch  

Edit  





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.[1]

Development of distance-vector routing

edit

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 routedorgated daemon. Ultimately, RIP had been extensively deployed[2] before the standard, written by Charles Hedrick, was passed as RIPv1 in 1988.[3]

The RIP hop count

edit

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.[4]

Versions

edit

There are three standardized versions of the Routing Information Protocol: RIPv1 and RIPv2 for IPv4, and RIPng for IPv6.

RIP version 1

edit

The original specification of RIP was published in 1988.[3] When starting up, and every 30 seconds thereafter, a router with RIPv1 implementation broadcaststo255.255.255.255 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.[4]

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.[4] The RIPv1 protocol adds a small random time variable to the update time, to avoid routing tables synchronizing across a LAN.[5] 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.[6]

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.[7]

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

edit

Due to the deficiencies of the original RIP specification, RIP version 2 (RIPv2) was developed in 1993,[4] published in 1994,[8] and declared Internet Standard 56 in 1998.[9] It included the ability to carry subnet information, thus supporting Classless Inter-Domain Routing (CIDR). To maintain backward compatibility, 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[9] 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 224.0.0.9, as opposed to RIPv1 which uses broadcast. Unicast addressing is still allowed for special applications.

(MD5) authentication for RIP was introduced in 1997.[10][11]

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

edit

RIPng (RIP next generation) is an extension of RIPv2 for support of IPv6, the next generation Internet Protocol.[12] The main differences between RIPv2 and RIPng are:

RIPng sends updates on UDP port 521 using the multicast group ff02::9.

RIP messages between routers

edit

RIP messages use the User Datagram Protocol on port 520 and all RIP messages exchanged between routers are encapsulated in a UDP datagram.[4]

RIPv1 Messages

edit

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

edit

The routing information protocol uses the following timers as part of its operation:[13]

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.[13]
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.[13]
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.[13]
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.[13]

Limitations

edit

Implementations

edit

Similar protocols

edit

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

edit

References

edit
  1. ^ "Service Name and Transport Protocol Port Number Registry". www.iana.org. The Internet Assigned Numbers Authority (IANA). p. 10. Retrieved 25 February 2022.
  • ^ Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition. ciscopress.com. p. 169. ISBN 9781587052026.
  • ^ a b C. Hedrick (June 1988). Routing Information Protocol. Network Working Group. doi:10.17487/RFC1058. RFC 1058. Historic. Updated by RFC 1388 and 1723.
  • ^ a b c d e Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition. ciscopress.com. p. 170. ISBN 9781587052026.
  • ^ Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition. ciscopress.com. p. 171. ISBN 9781587052026.
  • ^ The Synchronization of Periodic Routing Messages, S. Floyd & V. Jacobson,April 1994
  • ^ Jeff Doyle; Jennifer Carroll (2005). CCIE Professional Development: Routing TCP/IP Volume I, Second Edition. ciscopress.com. p. 175. ISBN 9781587052026.
  • ^ G. Malkin (November 1994). RIP Version 2 - Carrying Additional Information. Network Working Group. doi:10.17487/RFC1723. RFC 1723. Obsolete. Obsoleted by RFC 2453. Obsoletes RFC 1388. Updates RFC 1058.
  • ^ a b G. Malkin (November 1998). RIP Version 2. Network Working Group. doi:10.17487/RFC2453. STD 53. RFC 2453. Internet Standard. Obsoletes RFC 1723 and 1388. Updated by RFC 4822.
  • ^ F. Baker; R. Atkinson (January 1997). RIP-2 MD5 Authentication. Network Working Group. doi:10.17487/RFC2082. RFC 2082. Obsolete. Obsoleted by RFC 4822.
  • ^ R. Atkinson; M. Fanto (February 2007). RIPv2 Cryptographic Authentication. Network Working Group. doi:10.17487/RFC4822. RFC 4822. Proposed Standard. Obsoletes RFC 2082. Updates RFC 2453.
  • ^ G. Malkin; R. Minnear (January 1997). RIPng for IPv6. Network Working Group. doi:10.17487/RFC2080. RFC 2080.G. Malkin (January 1997). RIPng Protocol Applicability Statement. Network Working Group. doi:10.17487/RFC2080. RFC 2080. Proposed Standard.
  • ^ a b c d e Balchunas, Aaron. "Routing Information Protocol (RIP v1.03)" (PDF). routeralley.com. Archived (PDF) from the original on 10 October 2022. Retrieved 25 April 2014.
  • ^ C. Hendrik (June 1988). "RFC 1058 Section 2.2". Routing Information Protocol. The Internet Society. doi:10.17487/RFC1058.
  • ^ "Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide, Release 6.x - Configuring RIP [Cisco Nexus 9000 Series Switches]".
  • ^ "routed, rdisc – network RIP and router discovery routing daemon". FreeBSD manual pages.
  • ^ "routed, rdisc – network RIP and router discovery routing daemon". NetBSD manual pages.
  • ^ "ripd – Routing Information Protocol daemon". OpenBSD manual pages.
  • ^ "How do I change the LAN TCP/IP settings on my Nighthawk router?". Netgear Support pages.
  • Further reading

    edit

    Retrieved from "https://en.wikipedia.org/w/index.php?title=Routing_Information_Protocol&oldid=1230859736"
     



    Last edited on 25 June 2024, at 03:12  





    Languages

     


    العربية
    Aragonés
    Azərbaycanca
    Български
    Català
    Čeština
    Deutsch
    Español
    Euskara
    فارسی
    Français
    Galego

    Hrvatski
    Bahasa Indonesia
    Italiano
    עברית
    Latviešu
    Lombard
    Македонски

    Bahasa Melayu
    Монгол
    Nederlands

    Norsk bokmål
    Norsk nynorsk
    Polski
    Português
    Română
    Русский
    Shqip
    Slovenčina
    Српски / srpski
    Suomi
    Svenska
    Türkçe
    Українська
    Tiếng Vit
    Yorùbá

     

    Wikipedia


    This page was last edited on 25 June 2024, at 03:12 (UTC).

    Content is available under CC BY-SA 4.0 unless otherwise noted.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Terms of Use

    Desktop