EIGRP (Enhanced Interior Gateway Routing Protocol) is an advanced vector distance protocol, an enhanced version by Cisco’s proprietary Interior Gateway Routing Protocol (IGRP). EIGRP uses the same algorithm as IGRP; however, the convergence properties and operational efficiency of EIGRP are significantly improved.
EIGRP has four basic components:
Neighbor discovery and recovery
Neighbor discovery and recovery is the process used by routers to dynamically learn about other routers in their directly connected networks. Routers must also discover when their neighbors become inaccessible or inoperable. Neighbor discovery and recovery is achieved with low overhead by periodically sending small hello packets.
Reliable Transport Protocol (RTP)
RTP is responsible for the orderly and guaranteed delivery of EIGRP packets to all neighbors. It supports intermixed transmission of multicast and unicast packets. IP protocol 88
Diffusing Update Algorithm (DUAL)
Algorithm used by EIGRP to identify possible routes to a destination and choose the best one. It keeps track of all routes advertised by all neighbors. DUAL uses distance information (known as a metric) to select efficient, loop-free routes. DUAL selects routes to be inserted into a routing table based on feasible successors.
PDMs are responsible for routing tasks specific to each network-layer protocol (IPv4 , IPv6).
Equal and Unequal Cost Load Balancig
EIGRP supports equal-cost load balancing and unequal cost load balancing, allowing administrators to better distribute traffic flow across their networks.
NOTE: In 2013, EIGRP was released as an open standard so that different vendors could add it to their products. However, there are advanced features unique to EIGRP that remain proprietary.
EIGRP uses six different packets to communicate with its neighbor routers; these messages are sent through the RTP protocol:
- Hello Packets: used for neighbor discovery and to maintain neighbor adjacencies. In modern networks, hello packets are sent every 5 seconds, and in slower networks it is every 60 seconds. EIGRP uses a wait timer to determine the maximum time the router must wait to receive the next hello before declaring that neighbor unreachable. By default, the timeout is three times the hello interval, or 15 seconds on most networks and 180 seconds on low-speed networks. EIGRP declares the route inactive, and DUAL searches for a new route by sending query packets if the timeout expires.
- Update packets: propagates routing information to EIGRP neighbors.
- Acknowledgment packets: Acknowledges receipt of an EIGRP message that was sent by trusted delivery.
- Query packets: used to query routes to neighbors.
- Reply packets: sent in response to an EIGRP query.
RTP can send EIGRP unicast and multicast packets. It uses IP address 22.214.171.124 for IPv4 multicast and FF02::A for IPv6.
For example, if we have Router A and Router B the EIGRP process is as follows:
- Router A sends a hello.
- Router B sends back a hello and an update with the network information.
- Router A sends an ACK for Router B’s update.
- Router B sends an update with the network information to Router A.
- Router B sends an ACK.
After EIGRP has converged between routers, each router has the complete EIGRP topology. Here is where we must pay attention to the following terminology that EIGRP uses to understand how it works:
- Feasible Distance (FD) – Total Cost – This is the total metric or best path to the remote network that a router has.
- Advertised/Reported Distance (AD/RD) – Cost from the neighbor – The Feasible Distance at which a neighboring router knows that same remote route.
- Successor – Neighbor or router with the best route to a destination network (next-hop router).
- Feasible successor – Another backup router to reach the same route.
Note: For a router to be considered a Feasible successor, the AD must be less than the FD of the successor.
Tables used by EIGRP
EIGRP uses different tables to select the best routes and maintain stable convergence:
- Neighbor table
- Sending Hello packets every 5 seconds by default.
- Validation of basic parameters. Here it corroborates that the neighbor router belongs to the same AS; the K value (used to calculate the metric) must be the same.
- Use the multicast IP 126.96.36.199 for IPv4.
- Topology table
- Complete route exchange initially
- Updates with any change in the network
- Uses RTP (Reliable Transport Protocol)
- Builds its topology table with routing information (Successor and Feasible Successor)
- Routing table
- Adds the best routes to the routing table, i.e., the successor routes.
In general, we can say that the operation of EIGRP consists of four phases:
- Neighbor Dicscovery:
- Hello packets are sent to the IP multicast 188.8.131.52 to detect other EIGRP devices in the network.
- EIGRP speaking routers become neighbors if the hello packets match:
- Same autonomous system
- Equal K values
- Peer address must be configured on the IP of the primary or main subnet (Does not work with IP of a secondary subnet)
- Approve authentication if configured
- Topology Exchange
- Neighboring routers exchange their complete topology table when the neighbor relationship is established. Subsequently, partial updates are sent only when necessary.
- Network metrics are calculated through bandwidth, delay, load, reliability and MTU attributes.
- Topology information is sent within Update packets and can be sent to IP multicast 184.108.40.206 or via unicast.
- Routing Table Update
- The topology table is analyzed, and the best route is calculated for each prefix, i.e., the routes with the smallest Feasible Distance are selected and put into the routing table (RIB).
- The Feasible Successors are calculated if they exist.
- Neighboring routers exchange periodic hello packets for detecting failures.
- Partial updates are sent when the topology is updated.
EIGRP uses K values to calculate its metric composed of the routes it learns by EIGRP and is called Feasible Distance, the k values are as follows:
- K1 (Bandwidth)=1
- K2 (Load)=0
- K3 (Delay)=1
- K4 (Reliability)=0
- K5 (MTU)=0
By default, only K1 and K3 are used to calculate the metric through a short formula:
If we add any other value such as K2, K4 and K5 EIGRP will use the following long formula:
It is not that there are two different formulas, it is the same formula, but it can be reduced or simplified when using the default values.
Its internal administrative distance is 90, the external is 170.