Enhanced Interior Gateway Routing Protocol (EIGRP) is a routing protocol developed by Cisco. This article takes up the basics of its operation and configuration.

 
Introduction:

Enhanced Interior Gateway Routing Protocol (EIGRP) is an Advanced Distance (distance vector) routing protocol (or hybrid depending on the point of view). Although its overall functioning resembles very much a protocol of the "distance vector" type, it has a series of characteristics that one finds for example in OSPF which is a "link state protocol" Such as the establishment of adjacency relations.

Characteristics
  • Supports the VLSM (Variable Length Subnet Mask), so it's a "classless" routing protocol.
  • Operates on the basis of the DUAL algorithm for efficient selection of roads while avoiding loops.
  • Adjacency relations with neighboring routers.
  • Transmissions of messages in multicast (224.0.0.10) and unicast
  • Supports several network layer protocols: IPv4, IPv6, AppleTalk, IPX, ...
  • Load-balancing and especially on roads having different metrics.
  • Summarization "anywhere on the network.
  • "Auto-summarization", by default, between major networks (between two classfull networks).
  • Message exchange between routers provided by RTP (Reliable Transfer Protocol).
  • Metric taking into account the bandwidth and the delay of the interfaces. Other parameters can be configured in addition (reliability and load of the interface).
  • Administrative distance for internal routes: 90 (default)
  • Administrative distance for external routes: 170 (default)
Operation

First, EIGRP operates on the basis of an Autonomous System Number ("ASN"). That is, it can only communicate with routers where EIGRP is configured for the same DSC.
Then, once it has been activated on an interface, either dynamically or statically, EIGRP tries to discover potential neighbors for it to send "HELLO" messages.
When two routers receive HELLO messages from each other, they then check the adjacency conditions to decide whether or not they will become EIGRP (neighbors) neighbors.
For two routers to become EIGRP neighbors they must fulfill the following conditions:
  • Operate in the same AS (Autonomous System), so be configured with the same ASN.
  • Both routers must be able to send and receive IP packets.
  • The interfaces must be configured with an IP address in the same subnet.
  • The interface must not be configured as passive.
  • The values ​​K (values ​​that define the calculation of the metric) must match.
  • EIGRP authentication (if configured) must be passed successfully.
If these different conditions are verified, the two routers then consider themselves as neighbors EIGRP, add this relation in their neighbor table, and start exchanging information.
When a neighbor relationship has been established, each router begins by sending all its known routes for which it has an active interface AND configured in EIGRP. Subsequently, only changes will be sent.
 
In order to guarantee a certain stability, routers exchange HELLO messages permanently. These HELLO messages are sent at regular intervals and have a lifetime. If one of the two routers has not received a new HELLO before the previous one has elapsed, the neighboring router is considered faulty, the adjacency is broken and the routes received by that neighbor are removed from the routing.
Each router keeps all the information about routes received from its neighbors in memory and stores it in its topology table. EIGRP then uses the DUAL algorithm to select the best route to each subnet, calculates the metric to be associated with it, and places the result in its routing table.
 
The metric:

By default, EIGRP calculates the metric of a subnet taking into account the bandwidth and the delay of the interfaces. Other elements can be configured to enter the calculation: the reliability of the interface and the load of the interface.
The metric (with the default parameters) is calculated as follows:
  Metric = ((10,000,000 / PPBP) + S [delays]) x 256 
PPBP: Smallest bandwidth to subnet in kbps
S [delays]: Sum of the delays of the interfaces towards the subnet expressed in 10 μs (ten μs)
 
"Feasible Distance" and "Reported Distance" :

The "Feasible Distance" (FD) is the metric for a subnet from the point of view of the router itself, used to choose the best route to that subnet.
Reported Distance (RD) is the metric for a subnet from the point of view of the neighboring router. (The metric announced by the neighboring router).
When two routers exchange their topology, they send "Update" messages containing a series of information (concerned subnet, delay, bandwidth, interface load, interface reliability, MTU and number of jumps ).
The router that receives the information integrates it into its topology table and then computes the RD of the subnet with this information and the FD for that subnet. Here is an example:
R1 is connected to the 192.168.0.0 / 24 subnet via its FastEthernet0 / 0 interface
R1 and R2 are connected via their respective Serial 0/0 interfaces. (172.16.0.0 / 30)
The following diagram shows the update sent by R1 to R2 concerning its subnet 192.168.0.0

EIGRP
EIGRP TOPOLOGY

"Successor" and "Feasible Successor":

One of the special features of EIGRP is that it maintains in its topology table all information received from its neighbors, including routes that have not been integrated into the routing table. This is where we meet the terms "Successor" and "Feasible Successor".
 
When several possible routes exist, the "Successor" is the route that has the smallest metric towards the subnet ... so that has the smallest "Feasible Distance". The router that announces this route will then be the next hop, the next jump to this subnet. This route will be placed in the routing table.
Under certain conditions, other routes may be considered valid but not the best. These are the "Feasible Successors". These routes are, in a default configuration, not laced in the routing table. However, if the current "Successor" were to fall, EIGRP would then directly search for an alternative in its topology table among the "Feasible Successors".
 
For a route to be considered as "Feasible Successor", the RD of that route must be strictly lower than the FD of the best route. Example: (the values ​​FD and RD are here simplified and not realistic in order to make understanding easier).
 
A router has, in its topology, three routes to subnet 192.168.0.0 / 24:
Route 1: via 10.0.0.1, RD = 1000, FD = 2000
Route 2: via 10.0.1.1, RD = 1500, FD = 2750
Route 3: via 10.0.2.1, RD = 2500, FD = 3000
 
Route 1 will be the "Successor", since it is the smallest FD.

Route 2 will be a "Feasible Successor" because RD (route2) 

Route 3 will not be a "Feasible Successor", RD (cost3)> FD (route1)
 
What happens during an accident on the network?

Of course, a router loses a connection for a reason x or y. Whether it is because of a faulty interface, a neighbor who no longer responds, ... EIGRP will try to find a solution ...
  1. EIGRP analyzes its topology. If one or more "Feasible Successor" exists, it replaces the route with that of the FS with the smallest FD.
  2. If EIGRP does not have an FS in its topology, it enters a query process. He sends queries to his neighbors in search of a new route to the lost subnet. These neighbors, if they have no immediate solution to propose, in turn send requests to their own neighbors ... etc.
In other words, the presence of an FS in the topology makes it possible to improve substantially the convergence of the network.
 
Basic configuration

Let's move on to the basic configuration of EIGRP, so we will:
  1. Configure EIGRP to work in an ASN. (Router eigrp )
  2. Enable EIGRP dynamically on the different interfaces of the router (network [inverse mask])
The example illustrated above is repeated here. R1 connected to a subnet 192.168.0.0/24 via its interface Fa0 / 0 (ip address 192.168.0.1 / 24), also connected to R2 via its interface S0 / 0 (ip address 172.16.0.1/30). R2 having its S0 / 0 interface configured with an ip address 172.16.0.2/30.
 
On R1:
   
 R1> enable
 R1 # configure terminal
 R1 (config) #router eigrp 10
 R1 (config-router) # network 192.168.0.0
 R1 (config-router) # network 172.16.0.0 0.0.0.3
 R1 (config-router) #exit
 R1 (config) #exit
 R1 # 
 
On R2:
 
 R2> enable
 R2 # configure terminal
 R2 (config) #router eigrp 10
 R2 (config-router) # network 172.16.0.0
 R2 (config-router) #exit
 R2 (config) #exit
 R2 # 
 
Some explanations…


Thus, EIGRP has been activated here on both routers for ASN 10.

On R1 the interface Fa0 / 0 and S0 / 0 have been activated via the network commands.
On R2, EIGRP is enabled for the S0 / 0 interface.

Note the difference in use of the "network" command. When specifying only the subnet (without inverse mask) EIGRP will be enabled for all corresponding interfaces. So in the case of "network 172.16.0.0" all interfaces whose IP address would start with 172.16 .... Would be included.
On the other hand, if you specify a wildcard mask, EIGRP compares each interface by applying the mask (as in the case of access-lists). One can easily calculate the IP addresses that correspond to unsubnet / inverse mask by a simple addition. For example, in the case of "network 172.16.0.0 0.0.0.3":
 
  172. 16. 0. 0
 + 0. 0. 0. 3
 =================
 172. 16. 0. 3 
 
Therefore, all addresses between 172.16.0.0 and 172.16.0.3 will be taken into account.
Use of the inverse mask is optional. However, this makes it possible to target the interfaces that one wishes to activate without risk of encompassing one or the other for which EIGRP should not be active.

EIGRP Operations Check:

The first thing to check is if EIGRP is working well with the command "show ip protocols"
  
 R1 # sh ip protocols
 Routing Protocol is " eigrp 10 "
  Outgoing update filter for all interfaces is not set
  Incoming update filter for all interfaces is not set
  Default networks flagged in outgoing updates
  Default networks accepted from incoming updates
  EIGRP metric weight K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0
  EIGRP maximum hopcount 100
  EIGRP maximum metric variance 1
  Redistributing: eigrp 10
  EIGRP NSF-aware route hold timer is 240s
  Automatic network summarization is in effect
  Automatic address summarization:
  192.168.0.0/24 for Serial0 / 0
  172.16.0.0/16 for FastEthernet0 / 0
  Summarizing with metric 2169856
  Maximum path: 4
  Routing for Networks: 
   172.16.0.0/30 
   192.168.0.0
  Routing Information Sources:
  Gateway Distance Last Update
  (This router) 90 00:30:36
  172.16.0.2 90 00:29:08
  Distance: internal 90 external 170
 R1 # 
  • It is therefore confirmed here that EIGRP is active and is configured for ASN 10.
  • The second line highlighted is the K values ​​which define the calculation parameters of the EIGRP metric. It is always useful to find them in the case of adjacency establishment problems (see the paragraph on condition for adjacency above).
  • The third line in blue indicates that auto-summary is active (default). This makes EIGRP announce a summary of each classfull network (the few lines just below) since R1 is at the border of two major networks.
  • The fourth colored part indicates for which subnets EIGRP was activated via the commands "network [inverse mask]"
  • Finally, the last line gives the administrative distances used. Here are the default EIGRP values.
Step 2, check which EIGRP interfaces are enabled: "show ip eigrp interfaces"
  
 R1 # sh ip eigrp interfaces
 IP-EIGRP interfaces for process 10
 Xmit Queue Mean Pacing Time Multicast Pending
 Peers Un Reliable SRTT Un / Reliable Flow Timer Routes
 Fa0 / 0 0 0/0 0 0/10 0 0
 Se0 / 0 1 0/0 83 0/15 0 0
 R1 # 
 
Step three, check the adjacencies via the command "show ip eigrp neighbors"
 
 R1 # sh ip eigrp neighbors
 IP-EIGRP neighbors for process 10
 H Address Interface Hold Uptime SRTT RTO Q Seq
  (Sec) (ms) Cnt Num
 0 172.16.0.2 Se0 / 0 11 00:25:51 83 498 0 3
 R1 # 
 
We thus have here an adjacency with R2 (172.16.0.2). We also find the interface via which the adjacency is formed.
The "Hold" column indicates the lifetime of the last received Hello message. If this value falls to zero, the adjacency is considered to be faulty and is canceled.
 
Finally, analyze the routing table and topology table: "show ip route" and "show ip eigrp topology"
 
  R2 # sh ip route
 C - connected, S - static, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  E1 - OSPF external type 1, E2 - OSPF external type 2
  I-IS-IS-IS-IS-IS-IS-IS-IS
  Ia - IS-IS inter area, * - candidate default, U - per-user static route
  O - ODR, P - periodic downloaded static route
 
 Gateway of last resort is not set
 
  172.16.0.0/30 is subnetted, 1 subnets
 C 172.16.0.0 is directly connected, Serial0 / 0
 D 192.168.0.0/24 [90/2195456] via 172.16.0.1, 00:27:10, Serial0 / 0
 R2 # 
 
R2 has well learned a route for subnet 192.168.0.0/24. The next-hop is 172.16.0.1. The output interface is Serial0 / 0. The value [90/2195456] indicates the administrative distance (90) and the metric for the road (2195456) which is also the FD of the road.
 
 R2 # sh ip eigrp topology
 IP-EIGRP Topology Table for AS (10) / ID (172.16.0.2)
 
 P - Passive, A - Active, U - Update, Q - Query, R - Reply,
 
 P 192.168.0.0/24, 1 successors, FD is 2195456
  Via 172.16.0.1 ( 2195456/281600 ), Serial0 / 0
 P 172.16.0.0/30, 1 successors, FD is 2169856
  Via Connected, Serial0 / 0
 R2 # 
 
The routes present in the routing table are found in the topology table. Note that if there were alternatives to these roads, so far as they were considered as feasible successors, they would have appeared in this table.
The values ​​2195456/281600 correspond to the RD (281600) and the FD (2195456) of the road. This means that R1 has announced at R2 a route to 192.168.0.0/24 and that it has a metric of 281600 for that route.
Just check on R1 ...
 
 R1 # sh ip eigrp topology
 IP-EIGRP Topology Table for AS (10) / ID (192.168.0.1)
 
 P - Passive, A - Active, U - Update, Q - Query, R - Reply,
 
 P 192.168.0.0/24, 1 successors, FD is 281600
  Via Connected, FastEthernet0 / 0
 P 172.16.0.0/16, 1 successors, FD is 2169856 
   Via Summary (2169856/0), Null0
 P 172.16.0.0/30, 1 successors, FD is 2169856
  Via Connected, Serial0 / 0
 R1 # 
 
Indeed ... R1 does have a metric of 281600 to reach the subnet 192.168.0.0/24. An interesting thing to note here ... the presence of a summary (in green). Since auto-summary is active by default and R1 is at the border of two major networks (192.168.0.0 and 172.16.0.0), EIGRP creates a summary and announces it to its neighbors.
We find this summary in the routing table of R1 ...
 
  R1 # sh ip route
 C - connected, S - static, R - RIP, M - mobile, B - BGP
  D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
  N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
  E1 - OSPF external type 1, E2 - OSPF external type 2
  I-IS-IS-IS-IS-IS-IS-IS-IS
  Ia - IS-IS inter area, * - candidate default, U - per-user static route
  O - ODR, P - periodic downloaded static route
 
 Gateway of last resort is not set
 
  172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
 C 172.16.0.0/30 is directly connected, Serial0 / 0
 D 172.16.0.0/16 is a summary, 00:27:45, Null0
 C 192.168.0.0/24 is directly connected, FastEthernet0 / 0
R1 # 


This concludes this first article about EIGRP.




 
Top