EIGRP is a Cisco proprietary routing protocol that was developed to route various network layer protocols. There is a shift to monolithic IP-only network architecture, with open standards for internet and cloud connectivity. OSPF has started to replace EIGRP since it is proprietary and less scalable. EIGRP is a complex routing protocol that is non-hierarchical and often difficult to troubleshoot.
EIGRP is classified as an advanced distance vector protocol with characteristics of both distance vector and link state protocols. For example, EIGRP only has a neighbor topology table instead of a complete network map. Similar to link state protocols, EIGRP does form neighbor adjacency and sends event-triggered updates instead of periodic full routing table updates. It is a classless protocol similar to OSPF, where subnet information is included in routing updates. That is an advantage since variable length subnet masks (VLSM) enable classless subnetting and route summarization on any bit boundary. Contrast that with distance vector protocols that support only classful subnetting. There is unequal cost path load balancing as well that is unique to EIGRP with the variance feature.
There is a flat topology architecture with EIGRP and no hierarchical levels as with OSFP or IS-IS. Instead you assign a router interface to an autonomous system (AS). EIGRP routes must be redistributed between different AS numbers. The advantage of multiple AS design is that query updates for a new route are not flooded outside the local autonomous systems. The smaller network domain size enables faster convergence time and less route flapping.
Figure 1 EIGRP Autonomous Systems
EIGRP routers first sends multicast hello packets to all neighbors on startup and builds a neighbor topology table. Then full routing tables are exchanged with each neighbor as unicast update packets to build a topology table. Routing updates are sent with Reliable Transport Protocol (RTP) for connection-oriented guaranteed delivery of packets. Neighbor adjacency occurs when neighbor routers have exchanged hello messages and update packets are sent to neighbors with full routing table.
DUAL algorithm calculates best path route to each destination from the topology table and populates EIGRP routing table with successor (best available) route for each destination. That is based on routes advertised from directly connected neighbors. The Feasible Distance (FD) of a route is computed based on the reported distance (RD) + Local Distance (LD) to the advertising neighbor router. The reported distance is the path metric to a destination that a neighbor advertises with a route. The Local Distance is the metric from the local router querying for a route to that upstream neighbor router.
Figure 2 EIGRP Feasible Distance Computation
EIGRP calculates route metric for each forwarding path to a destination based on interface bandwidth and delay by default. The values for bandwidth and delay are advertised to all connected neighbors within EIGRP update packets. EIGRP selects the lowest (minimum) bandwidth value of all outgoing interfaces in forwarding path to a destination as input for path metric calculation. The physical interface speed is advertised however bandwidth command is an option to modify metric calculation and affect path selection. Delay is a fixed value based on interface speed and cumulative on all outbound interfaces in forwarding path. That cumulative value is also used as input for metric calculation and ultimately deriving Feasible Distance.
EIGRP metric calculation is such that higher bandwidth results in a lower metric value preferred by routing protocols. EIGRP selects the path between source and destination based on lowest Feasible Distance (FD) when there are multiple routes to the same destination. EIGRP calculates Feasible Distance metric for each available path to a destination. The route with lowest Feasible Distance referred to as successor route (best path) is installed in the topology and routing table. Any feasible successor (backup) routes that meet Feasibility Condition check are also installed in the EIGRP topology table.
EIGRP routers will respond to a neighbor query, and notify them when there is no route to a destination. The first step is a query sent to neighbor/s with infinity metric set for a particular route. Next, there is a local lookup in the topology database for a feasible successor. The last step is marking the unavailable route as active.
EIGRP hold down timer affects how fast the network converges when there is a link failure. Each router interface enabled with EIGRP sends hello packets to its EIGRP neighbors. The default hold down timer value is equivalent to three hello packets not sent from a neighbor. That is the time interval that EIGRP waits before declaring the neighbor unreachable, sends a goodbye message, and EIGRP neighbor adjacency is dropped.
EIGRP does support unequal cost load balancing across multiple links to the same destination with variance command. The default for EIGRP is load balancing across four equal cost paths when available. Additional metrics include MTU, load, and reliability that can be configured with K values for granular metric calculation.
- Advanced distance vector routing protocol
- Interior Gateway Protocol (IGP)
- Administrative distance: internal 90, external 170, summary 5
- Multiprotocol routing
- IPv6 support
- Cisco proprietary
- Layer 3 (IP protocol 88)
- Metric = bandwidth and delay (default)
- Classless routing
- Flat topology with autonomous systems
- Neighbor topology view only
- DUAL algorithm for best path: successor + feasible successor routes
- Event-triggered routing updates
- Periodic routing table refresh: none
- Multicast address: 18.104.22.168 (All EIGRP neighbors)
- Hello timer = 10 seconds, Dead timer = 40 seconds
- Reliable Transport Protocol (RTP) track replies for routing updates
- Hop count = 255
- Loop prevention: feasibility condition / split horizon / route poisoning
- Standard and wildcard masks
- Message authentication: none, text password, MD5
- Route auto-summarization: disabled (default)
- Scalable to medium and large enterprise domains
- Load balancing = 4 equal cost paths or multiple unequal cost paths