Friday, October 4, 2013

Distance-Vector Routing Protocols

The distance-vector routing algorithm passes complete routing table contents to neighboring routers, which then combine the received routing table entries with their own routing tables to complete the router’s routing table. This is called routing by rumor, because a router receiving an update from a neighbor router believes the information about remote networks without actually finding out for itself.

It’s possible to have a network that has multiple links to the same remote network, and if that’s the case, the administrative distance of each received update is checked first. If the AD is the same, the protocol will have to use other metrics to determine the best path to use to that remote network.

RIP uses only hop count to determine the best path to a network. If RIP finds more than one link with the same hop count to the same remote network, it will automatically perform a round-robin load balancing. RIP can perform load balancing for up to six equal-cost links (four by default).

Routing Information Protocol (RIP)

Routing Information Protocol (RIP) is a true distance-vector routing protocol. RIP sends the complete routing table out to all active interfaces every 30 seconds. RIP only uses hop count to determine the best way to a remote network, but it has a maximum allowable hop count of 15 by default, meaning that 16 is deemed unreachable. RIP works well in small networks, but it’s inefficient on large networks with slow WAN links or on networks with a large number of routers installed.

RIP version 1 uses only classful routing, which means that all devices in the network must use the same subnet mask. This is because RIP version 1 doesn’t send updates with subnet mask information in tow. RIP version 2 provides something called prefix routing and does send subnet mask information with the route updates. This is called classless routing.

RIP Timers

RIP uses four different kinds of timers to regulate its performance:

Route update timer Sets the interval (typically 30 seconds) between periodic routing updates
in which the router sends a complete copy of its routing table out to all neighbors.

Route invalid timer Determines the length of time that must elapse (180 seconds) before a router determines that a route has become invalid. It will come to this conclusion if it hasn’t heard any updates about a particular route for that period. When that happens, the router will send out updates to all its neighbors letting them know that the route is invalid.

Holddown timer This sets the amount of time during which routing information is suppressed. Routes will enter into the holddown state when an update packet is received that indicated the route is unreachable. This continues either until an update packet is received with a better metric or until the holddown timer expires. The default is 180 seconds.

Route flush timer Sets the time between a route becoming invalid and its removal from the routing table (240 seconds). Before it’s removed from the table, the router notifies its neighbors of that route’s impending demise. The value of the route invalid timer must be less than that of the route flush timer. This gives the router enough time to tell its neighbors about the invalid route before the local routing table is updated.

RIP Version 2 (RIPv2)

RIP version 2 is mostly the same as RIP version 1. Both RIPv1 and RIPv2 are distance-vector protocols, which means that each router running RIP sends its complete routing tables out all active interfaces at periodic time intervals. Also, the timers and loop-avoidance schemes are the same in both RIP versions (i.e., holddown timers and split horizon rule). Both RIPv1 and RIPv2 are configured as classful addressing (but RIPv2 is considered classless because subnet information is sent with each route update), and both have the same administrative distance (120).

Similar to RIPv1, RIPv2 automatically summarizes at major network boundaries. However, with RIPv2 automatic summarization can be disabled with the no auto-summary command. Automatic summarization must be disabled to support discontiguous networks. RIPv2 also supports CIDR supernets and VLSM because the specific subnet mask is included with the network address in every routing update. You can use the debug ip rip command to view the RIP update sending the subnet mask with the network address as part of the route entry.

The show ip protocols command will display that RIP is now sending and receiving version 2 updates and whether or not automatic summarization is in effect.

Enhanced Interior Gateway Routing Protocol (EIGRP)

Enhanced Interior Gateway Routing Protocol (EIGRP) is a distance vector, classless routing protocol that was released in 1992 with IOS 9.21. As its name suggests, EIGRP is an enhancement of Cisco IGRP (Interior Gateway Routing Protocol). Both are Cisco proprietary protocols and only operate on Cisco routers.
Enhanced Interior Gateway Routing Protocol (EIGRP) is a proprietary Cisco protocol that runs on Cisco routers. It is important for you to understand EIGRP because it is probably one of the two most popular routing protocols in use today.

The main purpose in Cisco's development of EIGRP was to create a classless version of IGRP. EIGRP includes several features that are not commonly found in other distance vector routing protocols like RIP (RIPv1 and RIPv2) and IGRP. These features include:
  • Reliable Transport Protocol (RTP)
  • Bounded Updates
  • Diffusing Update Algorithm (DUAL)
  • Establishing Adjacencies
  • Neighbor and Topology Tables
Although EIGRP may act like a link-state routing protocol, it is still a distance vector routing protocol.
Unique to EIGRP is its Reliable Transport Protocol (RTP) which provides reliable and unreliable delivery of EIGRP packets. In addition, EIGRP establishes relationships with directly connected routers that are also enabled for EIGRP. Neighbor relationships are used to track the status of these neighbors. RTP and the tracking of neighbor adjacencies set the stage for the EIGRP workhorse, the Diffusing Update Algorithm (DUAL).

As the computational engine that drives EIGRP, DUAL resides at the center of the routing protocol, guaranteeing loop-free paths and backup paths throughout the routing domain. Like RIPv2, EIGRP can operate with classful or classless routing behavior.

EIGRP Features and Operation

Enhanced IGRP (EIGRP) is a classless, enhanced distance-vector protocol that gives us a real edge over another Cisco proprietary protocol, Interior Gateway Routing Protocol (IGRP). That’s basically why it’s called Enhanced IGRP. Like IGRP, EIGRP uses the concept of an autonomous system to describe the set of contiguous routers that run the same routing protocol and share routing information. But unlike IGRP, EIGRP includes the subnet mask in its route updates. And as you now know, the advertisement of subnet information allows us to use Variable Length Subnet Masks (VLSMs) and summarization when designing our networks!

EIGRP is sometimes referred to as a hybrid routing protocol because it has characteristics of both distance-vector and link-state protocols. For example, EIGRP doesn’t send link-state packets as OSPF does; instead, it sends traditional distance-vector updates containing information about networks plus the cost of reaching them from the perspective of the advertising router. And EIGRP has link-state characteristics as well—it synchronizes routing tables between neighbors at startup and then sends specific updates only when topology changes occur. This makes EIGRP suitable for very large networks. EIGRP has a maximum hop count of 255 (the default is set to 100).
There are a number of powerful features that make EIGRP a real standout from IGRP and other protocols.

The main ones are listed here:
  • Support for IP and IPv6 (and some other useless routed protocols) via protocol dependent modules
  • Considered classless (same as RIPv2 and OSPF)
  • Support for VLSM/CIDR
  • Support for summaries and discontiguous networks
  • Efficient neighbor discovery
  • Communication via Reliable Transport Protocol (RTP)
  • Best path selection via Diffusing Update Algorithm (DUAL)