Notes on Feasibility Condition in EIGRP

While going back over my notes I saw that I had provided minimal information about Administrative Distance, Feasible Distance, and Feasibility Condition.  So here is a post to clarify a couple of items about this, particularly the Feasibility Condition.

As a reminder:

Advertised Distance: this is also called the Reported Distance, and this is important to know!  The concept of the AD/RD is that this is the metric as seen by the neighbor router (the router advertising the EIGRP route to you).  The Advertised Distance being sent to you is basically the neighbor routers Feasible Distance.  With each “hop” this number should goes up.  Your router will calculate a Feasible Distance, and then advertise that downstream as the Advertised Distance (or Reported Distance).  This concept is key in understanding how metrics are calculated.  Each router has to determine the cost on its own.  It uses information it knows about neighbors such as the speed of the wire used to get to the neighbor, combined with the Advertised Distance to calculate its own Feasible Distance.

Feasible Distance: this is the metric as calculated by your router.  This is ultimately used to choose the best path.

Now, it should be obvious that if a router receives an EIGRP advertisement on (2) of its interfaces for the same network that the route with the lowest Feasible Distance will become the “successor” route placed in the route table.  But, this is only if the Feasible Distance is greater than the advertised distance being given by the neighbor on that interface.  Otherwise, we might have a loop.  Further more, the second route being advertisded for this subnet (presumably on the other interface) should be placed in the topology table as the “feasible successor” route.  Do you ever wonder why they call this the “feasible” successor?  Well, this route is a valid backup route for the successor only because it meets the “Feasibility Condition”, therefore it’s the feasible successor.  Plainly, this means that the Advertised Distance being given on this 2nd interface is lower than the Feasible Distance (metric) on the successor route’s interface.  So what?  Well, this means that the backup route placed in the topology table is least likely to have a loop.  At least, this is how I understand it.  Remember, feasible successor routes are not just failover routes, but they are also used to load balance….so even the feasible successor must have an Advertised Distance smaller than the Feasible Distance.

Feasiblity Condition: if a non-successor route’s Advertised Distance is less than the Feasible Distance then the Feasibility Condition has been met.


Notes on EIGRP Fundamentals

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 224.0.0.10 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

  1. An autonomous system number is used, and only routers with the same ASN will exchange routes (become neighbors).
  2. 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.
  3. EIGRP behaves classfully by default – particularly when no mask is used after a “network” command.
  4. 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.
  5. 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.
  6. 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:

  1. The ASN numbers must match
  2. Metric weights (k values) must match

Note that timers do not need to match

Packet Types

  1. Hello – unreliable via multicast
  2. Acknowledgment – unreliable via unicast
  3. Updates – reliable via RTP and unicast (link cost change updates are multicast though)
  4. Queries – reliable via RTP and multicast
  5. Replies – reliable via RTP and unicast
  6. Requests – unreliable via multicast or unicast (used to get specific info from one or more neighbors)

EIGRP Tables

  1. Route Table – where the best route (successor) to each destination is kept
  2. 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.
  3. Neighbor Table – where EIGRP neighbors and info about them are kept

DUAL

(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

  1. Advertised Distance is the distance from a neighbor (next hope router) to the destination network.  It is also referred to as the “AD”.
  2. 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)

The metric is calculated using the following equation (of which the “K” values are ON (1) or OFF (0)):  [K1 * bandwidth + ((K2 * bandwidth) / (256 – load)) + K3 * delay] * [K5 / (reliability + K4)]
Remember that K values must match on all routers in the EIGRP ASN.  The only values that are taken in to account are bandwidth and delay.  Additionally, load and reliability can be used.
The default K values are:
  1. K1 = 1
  2. K2 = 0
  3. K3 = 1
  4. K4 = 0
  5. 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.