While RIP is a good protocol to use in a small and simple network, its disadvantages become obvious in large and complex networks. Few problems associated with RIP in such networks are:
- It has a maximum hop count of 15. This means that RIP cannot be used on a network spanning more than 15 routers
- It uses hop count as the sole metric even where multiple paths are available. Hop count is not a suitable metric since links can have varied bandwidths. For example, in Figure 5-2 if the link between RouterA and RouterB has a bandwidth of 1Mbps while the link between RouterA and RouterC has a bandwidth of 128Kbps, RIP will still consider both links equal since the hop count is same. It is usually desirable to use the better link before the slower one.
- It has a high convergence time.
Due to these disadvantages, other routing protocols such as EIGRP should be considered in place of RIP.
EIGRP is a Cisco proprietary classless routing protocol that is essentially an enhanced distance vector protocol or a hybrid protocol. It takes various features of distance vector protocols and link state protocols to overcome the disadvantages associated with distance vector protocols while retaining the simplicity associated with them.
EIGRP inherits the following features of a distance vector protocol:
- It has a maximum hop count limit of 100 by default and can be increased up to 255.
- It uses routing-by-rumor mechanism.
- Implements loop avoidance techniques such as split horizon.
It inherits the following features of a link state protocol:
- It discovers neighbors and periodically checks their status
- Instead of periodic updates, it send updates when change occurs
EIGRP has some features that make it standout from other protocols such as RIP and OSPF. While discussing each of them in out of scope of CCNA, the most important ones are listed below:
- Supports multiple routed protocols such as IPv4, IPv6, Appletalk, IPX etc via protocol-dependent modules (PDMs)
- Is a classless protocol and supports VLSM/CIDR.
- Supports summaries and discontiguous networks
- Uses neighbor discovery.
- Utilizes Reliable Transport Protocol (RTP) for communication between neighbors
- Uses Diffusing Update Algorithm (DUAL) for best path selection. This algorithm considers multiple metrics for the purpose.
The following sections look at the various features of EIGRP in detail.
Multiple Network Protocol Support
EIGRP provides support for multiple Network layer protocols such as IPv4, IPv6, IPX and Appletalk. It supports these protocols through the use of Protocol Dependent Modules (PDMs). Separate tables are maintained for each network layer protocol for which EIGRP is being run. While you will be learning about EIGRP in respect to IPv4 only, it is important to remember that EIGRP supports multiple protocols. The only other routing protocol that supports multiple network layer protocol is Intermediate System-to-Intermediate System (IS-IS).
Neighbor Discovery and Communication
One of the most important features that EIGRP adopts from link state protocols is neighbor discovery and adjacency formation. Unlike distance vector protocols, link state protocols and EIGRP will not exchange routes with just anyone. Routers running EIGRP will first discover other routers running EIGRP by sending out Hello packets. They packets are multicast to address 126.96.36.199. When two routers receive Hello packets from each other, they compare the following information found in the packet:
- Autonomous System (AS) Number – A router can belong to one or more EIGRP autonomous systems. As you know, an AS is group of devices under a single administrative domain. EIGRP adjacency can be formed only between routers that belong to the same AS. The hello packets contain the AS number to which the sending router belongs to.
- Identical Metrics (K values) – EIGRP uses various metrics to calculate the best path. These metrics are also called K-values. A router can be configured to use some or all of these metrics. Two routers cannot form an adjacency if they have been configured to use different sets of K-values. These metrics are discussed in detailed later in the chapter.
EIGRP routers form adjacency because routing updates are not sent out periodically via EIGRP like normal distance vector protocols. So EIGRP needs a way to know when a new neighbor has joined or when a previously known neighbor went down. The only time EIGRP sends out the entire table is when a new neighbor is discovered.
Another benefit of adjacency is that it helps divide the routers into different autonomous systems. Routers belonging to different autonomous systems will not form adjacency and hence will not share the routing tables. This is very beneficial in a large network where routing tables can become huge. Dividing the routers into different autonomous systems can help reduce the routing table size.
EIGRP uses a proprietary protocol called Reliable Transport Protocol (RTP) to manage communications between neighbors. This protocol is designed to provide very reliable communication between neighbors. RTP uses both multicast and unicast to deliver updates quickly and tracks acknowledgement of updates.
EIGRP will send out updates whenever there is a change in the network. This update is sent to multicast address 188.8.131.52. Each update is assigned a sequence number and neighbors have to acknowledge receipt of each update. Using sequence numbers an EIGRP router is able to track which neighbors have acknowledged an update. If an acknowledgement is not received from a neighbor, EIGRP will send the same update to this neighbor using unicast. If an acknowledgement is not received after 16 unicast messages, the neighbor is declared dead. This process is often referred to as reliable multicast.
When EIGRP sends out an update, loss of packets can cause routing tables in the network to get corrupted.Thus the reliability offered by RTP is very important to EIGRP.
Diffusing Update Algorithm (DUAL) and EIGRP metrics
EIGRP uses Diffusing Update Algorithm (DUAL) for selecting the best path to remote networks. The main features of DUAL are:
- Support of VLSMs
- Recovering lost routes dynamically.
- Determining the backup route and using it when the main route is lost.
- Finding alternate routes if a route is lost and no backup route is found.
- Using various metrics to determine the best routes.
DUAL is responsible for the fast convergence time in EIGRP. In fact, the convergence time of EIGRP is possibly the fastest amongst all routing protocols. This fast convergence is achieved because all EIGRP routers maintain a copy of the network topology. If the best route goes down, a router simply scans the topology table and selects a backup route. If a backup route is not found in the topology table, the router will reach out to its neighbors to find an alternate path.
Another feature that differentiates DUAL is the use of multiple metrics to calculate the best path instead of using single metric like most other routing protocols. EIGRP can use the following four metrics to calculate the best path:
- Bandwidth (also called path bandwidth value)
- Delay (also called cumulative line delay)
By default it uses only bandwidth and delay to calculate the best path, but it can be configured to also use the other two metrics. Remember that an adjacency will not form between two routers that have been configured to use different metrics.
A fifth element, maximum transmission unit (MTU) size, is also required in some situations such as redistribution but is never used in EIGRP calculations. This value represents the smallest MTU value between the router and the remote destination network.
To find the best path to a network, DUAL uses the different metrics of each path in an algorithm to compute the cost of the path. The path with the lowest cost is considered the best. The exact formula used to calculate the path using the metrics is out of scope of the CCNA exam.
Route Discovery and Best Path Selection
So far, you have learned about RTP and DUAL and how routers form adjacencies. EIGRP is one protocol that believes in finding and storing as much information about the network as possible. As a router learns about neighbors and forms an adjacency, it stores the details of each neighbor in a table called the Neighborship or Neighbor table.
After adjacencies have formed, routing tables are exchanged between neighbors. These tables contain information regarding remote networks and path to them. This information is stored in a table called the Topology table. The information received from the neighbor consists of the following:
- Remote network’s address
- Remote network’s subnet mask
- Next hop to the remote network
- Cost to the remote network
Figure 5-3 Reported and Feasible distance
While the first three items are self explanatory, the cost is something that needs further explanation. The cost reported by the neighbor is the cost from the neighbor to the destination network. It does not include the cost from the receiving router to the neighbor (advertising router). This cost is known as the Reported or Advertised distance.
When the receiving router adds the cost between itself and the neighbor to the reported distance, the resulting cost is known as the feasible distance.
To further understand this, consider the network shown in Figure 5-3. Assuming that EIGRP is running on all routers in the network, RouterB learns about the 192.168.1.0/24 network from RouterD. The cost (feasible distance) from RouterB to the destination network is x. When RouterB advertises this network to RouterA, it will report the cost as x. Here x is the reported distanced for RouterA. The cost between RouterA and RouterB is z. RouterA will add this cost to the reported distance to find the feasible distance or the total cost to the destination network. For the network 192.168.1.0/24, the feasible distance on RouterA is x+z.
It is important to understand here that the receiving router, RouterA in our case, has to add the cost between itself and the advertising router (RouterB is our case) to get the total cost to the destination network. This total cost is known as the feasible distance.
For each destination network that a router learns about, it will select the path with the lowest cost. This path is then sent to the router to be added to the routing table and is known as the Successor.
To select a backup path, the router compares the feasible distance of the successor with the reported distance of other available paths to the same destination network. If the reported distance of the other path is less than the feasible distance of the successor, the other path is marked as a backup path and is known as the feasible successor.
To further understand how a feasible successor is selected, assume that the successor route to 192.168.1.0/24 network from RouterB in Figure 5-3, is the RouterA->RouterB->RouterD path. The feasible distance of this path is the sum of z and x (z+x). On the other hand, RouterA learns of another path to the 192.168.1.0/24 network from RouterC. The reported distance of this path is y. This route will be considered as a backup route or the feasible successor only if y is less than the sum of z and x (y < z+x).
EIGRP will store up to six feasible successors to a single destination in the topology table.
This section introduced a lot of new and important EIGRP concepts and it is important to remember them. The list below summarizes important topics discussed in this section above:
- Neighbor Table – Stores information about routers with whom an adjacency has been formed.
- Topology Table – Stores information about every route and destination network learned from neighbors.
- Reported Distance – The cost from the advertising router to the destination network.
- Feasible Distance – The cost from the receiving router to the destination network. This is the reported distance plus the cost of path between the receiving and the advertising router.
- Successor – The best route to a destination network.
- Feasible Successor – The backup routes to a destination network. The reported distance of a route has to be less that the feasible distance of the successor for it to be marked as a feasible successor.