Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Routing Information Protocol
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Versions== There are three standardized versions of the Routing Information Protocol: ''RIPv1'' and ''RIPv2'' for [[IPv4]], and ''RIPng'' for [[IPv6]]. ===RIP version 1=== The original specification of RIP was published in 1988.{{Ref RFC|1058}} When starting up, and every 30 seconds thereafter, a router with RIPv1 implementation [[Broadcasting (networking)|broadcasts]] to {{IPaddr|255.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.<ref name="ciscopress.com"/> 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.<ref name="ciscopress.com"/> The RIPv1 protocol adds a small random time variable to the update time, to avoid routing tables synchronizing across a LAN.<ref>{{Cite book|title=CCIE Professional Development: Routing TCP/IP Volume I, Second Edition |author1=Jeff Doyle |author2=Jennifer Carroll |publisher=ciscopress.com|year=2005 |isbn=9781587052026 |page=171}}</ref> 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.<ref>[http://www.icir.org/floyd/papers/sync_94.pdf The Synchronization of Periodic Routing Messages], S. Floyd & V. Jacobson,April 1994</ref> 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.<ref>{{Cite book|title= CCIE Professional Development: Routing TCP/IP Volume I, Second Edition|author1=Jeff Doyle |author2=Jennifer Carroll |publisher= ciscopress.com|year=2005 |isbn= 9781587052026|page=175}}</ref> RIPv1 uses [[classful address|classful]] routing. The periodic routing updates do not carry [[subnetwork|subnet]] information, lacking support for [[VLSM|variable length subnet masks]] (VLSM). This limitation makes it impossible to have different-sized [[subnetwork|subnet]]s 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,<ref name="ciscopress.com"/> published in 1994,{{Ref RFC|1723}} and declared [[Internet Standard]] 56 in 1998.{{Ref RFC|2453}} 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{{Ref RFC|2453|repeat=yes}} allows fine-grained interoperability adjustments. In an effort to avoid unnecessary load on hosts that do not participate in routing, RIPv2 ''[[multicast]]s'' the entire routing table to all adjacent routers at the address [[Multicast address|{{IPaddr|224.0.0.9}}]], as opposed to RIPv1 which uses [[Broadcasting (networking)|broadcast]]. [[Unicast]] addressing is still allowed for special applications. ([[MD5]]) authentication for RIP was introduced in 1997.{{Ref RFC|2082}}{{Ref RFC|4822}} 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]], the next generation [[Internet Protocol]].{{Ref RFC|2080}} 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.{{cn|date=June 2023}} * 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 {{IPaddr|FF02::9}}.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)