EIGRP, the Enhanced Interior Routing Protocol, is a Cisco proprietary protocol, meaning other vendors don't support it. While this may turn you off right away (and it did for me until I got into it), it is a good protocol, fairly scalable, and converges quickly.
The objectives associated with it are:
EIGRP is an extension of IGRP (hence the E, for "Enhanced"). It supports Variable Length Subnet Masking (VLSM), incremental updates, load balancing, and summarization. It can also handle multiple protocols, such as IP, IPX, and Appletalk.
It is a distance vector protocol. Never forget this -- even though it feels like a link state protocol, it isn't. There are some cases (examples to follow later) where treating it like a link state protocol will burn you.
Another interesting thing about EIGRP is the use of the Diffusing Update Algorithm (DUAL), in which the router dynamically queries the network for a better route to a downed network. This reduces the size of the tables, allowing the protocol to scale to more networks.
EIGRP uses feasible distance and advertised distance to calculate the best routes (more in a bit). Though the formula will be introduced later, the basic metric is 256 * (sum of delays along the path) * (lowest bandwidth along the path)
There are three databases that EIGRP uses (and there is one copy of the database per protocol):
Time to explain some of those terms:
Feasible distance (FD) is the cost of the best route to a destination, incuding the local link cost.
Advertised Distance (AD) is the cost of a route as advertised by the neighbor, so it does not include the local link cost
If the advertised distance is less than the feasible distance, the route is tagged as a feasible successor.
An example will help clarify the calculation and meaning of the terms. Like the examples in Doyle's Routing TCP/IP volume 1, the metrics below are simply delay, meaning EIGRP will add them up and multiply by 256. The network is pictured below:
The link between router A and B is given the network address AB. A link connected only to router B is called network B and has a cost of 1. Hopefully this will remove any complexity associated with using numbers.
Router C will see two entries in its neighbor table, namely routers E and D, along with the interfaces used to get there.
In the topology table, C will have two possibilities to get to network D:
Via D, with an AD of 1
Via C, with an AD of 4+1 = 5
Thus, the FD of the route is 1 (AD) +1 (link cost) =2 and the packets will go over the direct link. (I'm ignoring the factor of 256 here)
Now, the AD of the other feasible route (5) is not less than the FD of the good route, so the backup route will not make it to the topology table.
Looking at the prefix to network D from the perspective of router E, there are two ways.
C advertises a cost of 2 for a FD of 4
D advertises a cost of 1 for a FD of 5
The route via C will be chosen with a FD of 4, but since D's AD of 1 is less than 4, D will be listed as feasible successor.
If a device is a feasible successor, it can be considered the hot backup. So, if the primary route goes down, the route is immediately chosen. If not, the router has to go through DUAL to find the route.
That's a basic look at EIGRP calculations. Next time I'll get into the operation and DUAL.
Posted by Sean at April 6, 2004 12:58 PM | TrackBack