Notes on EIGRP FundamentalsPosted: May 27, 2011
This post will delve in to the fundamentals of EIGRP for CCNP ROUTE studies.
There are 2 types of routing protocols:
1. Link State
2. Distance Vector
EIGRP is considered a hybrid protocol. It has characteristics of both link state and distance vector. It behaves like a distance vector protocol because it exchanges the entire routing table with neighbors initially. Beyond that, it behaves much more like a link state protocol (only changed routes are sent after a topology change). It is also Cisco proprietary, which is a problem for inter-operability.
EIGRP relies on multicasting (hello packets) to 126.96.36.199 and uses RTP (reliable transport protocol) to handle the transport of messages between routers.
EIGRP supports multiple routed protocols: IP, IPX, and AppleTalk
Some basic rules when configuring EIGRP
- An autonomous system number is used, and only routers with the same ASN will exchange routes (become neighbors).
- IOS enables only EIGRP on interfaces matched by an EIGRP “network” command. When it is configured the routers will A) attempt to discover EIGRP neighbors on that interface using multicast hello messages, and B) advertise to other neighbors about the subnet connected to the interface.
- EIGRP behaves classfully by default – particularly when no mask is used after a “network” command.
- When no mask is used on the “network” command EIGRP is enabled on all of the routers interfaces directly connected to the configured classful network.
- When wildcard masks are in use the router performs ACL logic to compare the network ID configured in the network command with each interface’s IP address.
- EIGRP auto-summarizes by default.
Assuming the network is in order, and that L2 and L3 interfaces are configured correctly, and that no L1 issues exist, in order to become neighbors the following criteria must be met:
- The ASN numbers must match
- Metric weights (k values) must match
Note that timers do not need to match
- Hello – unreliable via multicast
- Acknowledgment – unreliable via unicast
- Updates – reliable via RTP and unicast (link cost change updates are multicast though)
- Queries – reliable via RTP and multicast
- Replies – reliable via RTP and unicast
- Requests – unreliable via multicast or unicast (used to get specific info from one or more neighbors)
- Route Table – where the best route (successor) to each destination is kept
- Topology Table – where all the feasible routes are kept (feasible successor), but also contains successor routes. Up to six valid routes for any destination will be stored.
- Neighbor Table – where EIGRP neighbors and info about them are kept
(Diffusing Update Algorithm) is used to find loop-free routes to destinations. When DUAL is calculating routes it places those routes in ACTIVE state. ACTIVE state is basically a non-working route. On the contrary, PASSIVE is when a route is in use and not being calculated by DUAL.
Advertised Distance vs. Feasible Distance
- Advertised Distance is the distance from a neighbor (next hope router) to the destination network. It is also referred to as the “AD”.
- Feasible Distance is the AD + the metric to reach the neighbor advertising the AD. It is also referred to as the “FD”. The FD is also considered the EIGRP “metric”.
I drew this up on my iPad to describe the difference as a picture, but to also demonstrate that valid routes must have a FD that is larger than the AD. This is how routing loops are prevented.
Successor and Feasible Successor
The route with the lowest metric (feasible distance) will be considered the successor route (primary). This route is placed in the route table. Backup routes (feasible successor) will contain FD that is greater than the FD of the successor, but must have an AD that is lower than the FD of the successor. This is the Feasibility Condition. As long as a route meets these conditions (lower AD than the successor FD, and higher FD than the successor FD) then it can be placed in the topology table as a feasible successor route.
For more on this topic check this post out.
EIGRP Metric (Feasible Distance)
- K1 = 1
- K2 = 0
- K3 = 1
- K4 = 0
- K5 = 0
The default metric takes only bandwidth and delay in to consideration. Additionally, MTU never plays a part of the equation.
Bandwidth is the link with the least amount of bandwidth. Assuming it is 64Kb you would use it to divide 10,000,000 and then multiply by 256. So 10,000,000 / 64 * 256.
The “delay” value is cumulative. Delay is associated to each interface in milliseconds, and as a particular route crosses router after router (hops) the delay becomes cumulative. We can use the show interface command to see the delay value associated to an interface. Sum up all of the delays, and convert in to 10’s of milliseconds, then divide by 256.
Equal and Un-equal Cost Load Balancing
EIGRP has the ability to load balance. It will enter up to four equal-cost routes without any configuration needed. The maximum number of paths that can be load balanced is 16. This is done with the maximum-paths command withint the EIGRP ASN.
Un-equal cost load balancing is done by configuring the variance command. The variance command tells the router to multiple the feasible distance (metric) of the best route (successor) by any given value. The default value is “1” (effectively no change). The resulting value is used to determine which routes are permitted to take part in load balancing. Any route with a metric (feasible distance) below the multiplied value will be able to take part in un-equal cost load balancing. Note: the route must meet the Feasibility Condition. That is, the AD of the route must be less than the FD of the successor.
When un-equal cost load balancing is in effect, the load each link carries is proportional to their metric. If one path’s metric indicates that it is twice as good as another, that path will carry roughly twice as much data.