EIGRP (Enhanced Interior Gateway Routing Protocol) is an advanced distance vector routing protocol. This protocol is an evolution of an earlier Cisco protocol called IGRP, which is now considered obsolete. EIGRP supports classless routing and VLSM, route summarization, incremental updates, load balacing and many other useful features. It is a Cisco propriatery protocol, so all routers in a network that is running EIGRP must be Cisco routers.
Routers running EIGRP must become neighbors before exchanging routing information. To dynamically discover neighbors, EIGRP routers use the multicast address of 184.108.40.206. Each EIGRP router stores routing and topology information in three tables:
- Neighbor table – stores information about EIGRP neighbors
- Topology table – stores routing information learned from neighboring routers
- Routing table – stores the best routes
Administrative distance of EIGRP is 90, which is less than both the administrative distance of RIP and the administrative distance of OSPF, so EIGRP routes will be preferred over these routes. EIGRP uses Reliable Transport Protocol (RTP) for sending messages.
EIGRP calculates its metric by using bandwidth, delay, reliability and load. By default, only bandwidth and delay are used when calulating metric, while reliability and load are set to zero.
EIGPR uses the concept of autonomous systems. An autonomous system is a set of EIGRP enabled routers that should become EIGRP neighbors. Each router inside an autonomous system must have the same autonomous system number configured, otherwise routers will not become neighbors.
EIGRP must establish neighbor relationships with other EIGRP neighboring routers before exchanging routing information. To establish a neighbor relationships, routers send hello packets every couple of seconds. Hello packets are sent to the multicast address of 220.127.116.11.
The following fields in a hello packet must be the identical in order for routers to become neighbors:
- ASN (autonomous system number)
- subnet number
- K values (components of metric)
Routers send hello packets every couple of seconds to ensure that the neighbor relationship is still active. By default, routers considers the neighbor to be down after a hold-down timer has expired. Hold-down timer is, by default, three times the hello interval. On LAN network the hold-down timer is 15 seconds.
Feasible and reported distance
Two terms that you will often encounter when working with EIGRP are feasible and reported distance. Let’s clarify these terms:
- Feasible distance (FD) – the metric of the best route to reach a network. That route will be listed in the routing table.
- Reported distance (RD) – the metric advertised by a neighboring router for a specific route. It other words, it is the metric of the route used by the neighboring router to reach the network.
To better understand the concept, consider the following example.
EIGRP has been configured on R1 and R2. R2 is directly connected to the subnet 10.0.1.0/24 and advertises that subnet into EIGRP. Let’s say that R2’s metric to reach that subnet is 28160. When the subnet is advertised to R1, R2 informs R1 that its metric to reach 10.0.1.0/24 is 28160. From the R1’s perspective that metric is considered to be the reported distance for that route. R1 receives the update and adds the metric to the neighbor to the reported distance. That metric is called the feasible distance and is stored in R1’s routing table (30720 in our case).
The feasible and reported distance are displayed in R1’s EIGRP topology table:
R1#show ip eigrp topology IP-EIGRP Topology Table for AS 1/ID(192.168.0.1) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.0.1.0/24, 1 successors, FD is 30720 via 192.168.0.2 (30720/28160), FastEthernet0/0 P 192.168.0.0/24, 1 successors, FD is 28160 via Connected, FastEthernet0/0
Successor and feasible successor
Another two terms that appear often in the EIGRP world are successor and feasible successor. A successor is the route with the best metric to reach a destination. That route is stored in the routing table. A feasible successor is a backup path to reach that same destination that can be used immediately if the successor route fails. These backup routes are stored in the topology table.
For a route to be chosen as a feasible successor, one condition must be met:
- the neighbor’s advertised distance (AD) for the route must be less than the successor’s feasible distance (FD).
The following example explains the concept of a successor and a feasible successor.
R1 has two paths to reach the subnet 10.0.0.0/24. The path through R2 has the best metric (20) and it is stored in the R1’s routing table. The other route, through R3, is a feasible successor route, because the feasiblility condition has been met (R3’s advertised distance of 15 is less than R1’s feasible distance of 20). R1 stores that route in the topology table. This route can be immediately used if the primary route fails.
EIGRP topology table
EIGRP toplogy table contains all learned routes to a destination. The table holds all routes received from a neighbor, successors and feasible successors for every route, and interfaces on which updates were received. The table also holds all locally connected subnets included in an EIGRP process.
Best routes (the successors) from the topology table are stored in the routing table. Feasible successors are only stored in the topology table and can be used immediately if the primary route fails.
EIGRP is running on all three routers. Routers R2 and R3 both connect to the subnet 10.0.1.0/24 and advertise that subnet to R1. R1 receives both updates and calulates the best route. The best path goes through R2, so R1 stores that route in the routing table. Router R1 also calculates the metric of the route through R3. Let’s say that advertised distance of that route is less then feasible distance of the best route. The feasibility condition is met and router R1 stores that route in the topology table as a feasible successor route. The route can be used immediately if the primary route fails.