©2019 Security Unleashed | New Delhi

  • Animesh Gupta

What is EIGRP?


Enhanced Interior Gateway Routing Protocol (EIGRP) is an advanced distance vector routing protocol based on the principles of the Interior Gateway Routing Protocol (IGRP).EIGRP is a successor to the Interior Gateway Routing Protocol (IGRP). Both are owned by Cisco and operate only on their devices. Cisco introduced EIGRP because it needed a protocol with faster converging abilities, route selection and calculation and the ability to record information from neighboring devices.

EIGRP has the following characteristics:

  1. Advanced operational efficiency

  2. Capabilities of both link state and distance vector

  3. A classless routing protocol

  4. Unique features including use of Reliable Transport Protocol (RTP), a diffusing update algorithm (DUAL), updates and updated information about neighbors

  5. Faster converging because it precalculates routes and does not broadcast hold-down timer packets before converging

EIGRP uses bandwidth, delay, load and reliability to calculate the metric for its routing table (not hop count used by legacy protocols). For this reason, EIGRP always selects and calculates the most optimal route for efficiency. EIGRP uses a DUAL algorithm to avoid loops and send occasional hello packets to check the status of neighbor routers.


EIGRP is an enhanced version of IGRP developed by Cisco. Unlike IGRP and RIP, EIGRP does not send out periodic route updates. EIGRP updates are sent out only when the network topology changes. Key capabilities that distinguish EIGRP from other routing protocols include fast convergence, support for variable-length subnet mask, support for partial updates, and support for multiple network layer protocols.


A router running EIGRP stores all the neighbor routing tables so that it can quickly adapt to alternate routes. If no appropriate route exists, EIGRP queries its neighbors to discover an alternate route. These queries propagate until an alternate route is found. Its support for variable-length subnet masks permits routes to be automatically summarized on a network number boundary. In addition, EIGRP can be configured to summarize on any bit boundary at any interface. EIGRP does not make periodic updates. Instead, it sends partial updates only when the metric for a route changes. Propagation of partial updates is automatically bounded so that only those routers that need the information are updated. As a result of these two capabilities, EIGRP consumes significantly less bandwidth than IGRP. Neighbor discovery is the process that the ASA uses to dynamically learn of other routers on directly attached networks. EIGRP routers send out multicast hello packets to announce their presence on the network. When the ASA receives a hello packet from a new neighbor, it sends its topology table to the neighbor with an initialization bit set. When the neighbor receives the topology update with the initialization bit set, the neighbor sends its topology table back to the ASA.


The hello packets are sent out as multicast messages. No response is expected to a hello message. The exception to this is for statically defined neighbors. If you use the neighbor command to configure a neighbor, the hello messages sent to that neighbor are sent as unicast messages. Routing updates and acknowledgements are sent out as unicast messages. Once this neighbor relationship is established, routing updates are not exchanged unless there is a change in the network topology. The neighbor relationship is maintained through the hello packets. Each hello packet received from a neighbor contains a hold time. This is the time in which the ASA can expect to receive a hello packet from that neighbor. If the ASA does not receive a hello packet from that neighbor within the hold time advertised by that neighbor, the ASA considers that neighbor to be unavailable. The EIGRP protocol uses four key algorithm technologies, four key technologies, including neighbor discover/recovery, Reliable Transport Protocol (RTP), and the fourth one, DUAL being important for route computations. DUAL saves all routes to a destination in the topology table, not just the least-cost route. The least-cost route is inserted into the routing table. The other routes remain in the topology table. If the main route fails, another route is chosen from the feasible successors. A successor is a neighboring router used for packet forwarding that has a least-cost path to a destination. The feasibility calculation guarantees that the path is not part of a routing loop. If a feasible successor is not found in the topology table, a route recomputation must occur. During route recomputation, DUAL queries the EIGRP neighbors for a route, who in turn query their neighbors. Routers that do no have a feasible successor for the route return an unreachable message. During route recomputation, DUAL marks the route as active. By default, the ASA waits for three minutes to receive a response from its neighbors. If the ASA does not receive a response from a neighbor, the route is marked as stuck-in-active. All routes in the topology table that point to the unresponsive neighbor as a feasibility successor are removed. Note EIGRP neighbor relationships are not supported through the IPSec tunnel without a GRE tunnel


Configuration Example for EIGRP

The following example shows how to enable and configure EIGRP with various optional processes:


Step 1 Enable EIGRP:


hostname(config)# router eigrp 2 hostname(config-router)# network 10.0.0.0 255.0.0.0


Step 2 Configure an interface from sending or receiving EIGRP routing message:


hostname(config-router)# passive-interface {default}

Step 3 Define an EIGRP neighbor:


hostname(config-router)# neighbor 10.0.0.0 interface interface1


Step 4 Configure the interfaces and networks that participate in EIGRP routing:


hostname(config-router)# network 10.0.0.0 255.0.0.0


Step 5 Change the interface delay value is used in EIGRP distance calculations:


hostname(config-router)# exit hostname(config)# interface phy_if hostname(config-if)# delay 200