EIGRP stands for Enhanced Interior Gateway Routing Protocol. It is a Cisco-proprietary routing protocol for TCP/IP. It is based on IGRP routing protocol.


Features and characteristics of EIGRP

  • It is a Cisco Proprietary routing protocol.
  • It is based on IGRP Routing protocol.
  • It is an enhanced version of IGRP (Interior Gateway Routing Protocol) protocol.
  • In comparison of IGRP it provides faster convergence times, superior handling of routing loops and improved scalability.
  • It was released in 1994.
  • It is a hybrid routing protocol.
  • It has characteristics of both distance vector and link state protocols.
  • It uses DUAL (Diffusing Update Algorithm) algorithm to select the best path.
  • It uses RTP (Reliable Transport Protocol) to communicate with neighbors.
  • It uses multicast for routing updates.
  • It supports IP [Both IPv4 and IPV6], Apple Talk and IPX routed protocols.
  • It includes subnet mask information in routing updates.
  • It supports route summarization and discontiguous networks.
  • It supports VLSM/CIDR.
  • It supports load balancing across the six routes for a single destination.
  • It supports trigger updates.
From introduction to till the preparation of this tutorial, EIGRP is ruling the world of routing protocols. The only negative about EIGRP was Cisco kept this protocol as proprietary protocol. In order to run this protocol, we had to buy all routers from Cisco. This thing was changed a little in 2013 when partial functionality of EIGRP was converted in open standard. Now we can also buy routers from other vendors along with Cisco, still running EIGRP on all routers.
Since EIGRP is hybrid protocol, it has advantages of both link state and distance vector protocol. It uses composite metric calculation formula to select the best route for destination. It sends partial or full update only when something is change in network. It maintains three tables for ultra-fast convergence.

EIGRP TABLE

  1. Neighbor Table
  2. Topology Table
  3. Routing Table

Neighbor Table

 


EIGRP shares routing information only with neighbors. To know who the neighbors are, it uses neighbor table. When a new neighbor is discovered, EIGRP would add its address and interface on which neighbor is connected in neighbor table. EIGRP uses separate neighbor table for each routed protocol.

Topology Table

 

EIGRP uses this table to store all routes which it learned from neighbors. It contains a list of all destinations and routes advertised by neighboring routers. EIGRP selects single best route for each destination from this list. That route goes in routing table. Remaining routes are marked as backup routes. EIGRP refers selected route as Successor and backup route as Feasible Successor. EIGRP uses separate topology table for each routed protocol.

Routing Table

 

EIGRP stores single best (Successor) route for each destination in this table. Router uses this table to forward the packet. There is a separate routing table for each routed protocol.

 EIGRP Characteristic

DUAL

EIGRP uses DUAL (Diffusing Update Algorithm) to provide the fastest route convergence among all protocols. Route convergence includes:-
  • Selecting best route from all available routes
  • Supporting VLSMs
  • Dynamically recovering from route failure
  • Finding an alternative route if primary route goes down
DUAL uses topology table along with RTP to accomplish above tasks in minimal time. As we know EIGRP maintain a copy of all routes including neighbors in topology table, so it would be the first place to look for an alternative route in a route failure situation. If EIGRP does not find an alternative here, it will ask neighbors for help. If neighbors have any updates about asked route, they will reply back with that information. This strong mechanism allows DUAL to find and maintain the best routes for destination speedily.

Autonomous System

EIGRP shares routing information only with neighbors. In order to become a neighbor AS number must be matched. AS create a logical boundary for route information. By default router will not propagate route information outside the AS. For example a router which belongs to AS number 10 will not share routing information with the router that belongs to AS number 20 or any other AS numbers except AS number 10. For easy administration a large network may have multiple ASes.
Not all routing protocols understand the concept of AS. Luckily EIGRP not only understand the concept of AS but also supports multiple ASes. We can easily configure multiple AS instance with EIGRP to divide a large network in smaller segments. By default EIGRP routers will not share routing information between different AS.

 

Metric

EIGRP uses metric to select the best route from all available routes for destination. Metric has five components.

  • Bandwidth
  • Load
  • Delay
  • Reliability
  • MTU
 
From these only bandwidth and delay are by default enabled.

 


 

EIGRP Neighborship Requirements and Conditions
This is the second part of this article. In this part we will explain how two routers become EIGRP neighbor and maintain this neighborship. In order to become an EIGRP neighbor, three essential configuration values must be matched. This part explains these values with neighborship building process in detail with example.

EIGRP Packets

Hello packets don’t have to be acknowledged since EIGRP uses a holddown time. If a
router doesn’t receive hello packets in an X amount of time it will drop the neighbor
adjacency.
So which packets should be acknowledged? Think about routing information, if there’s a
change in the network you want to make sure all routers receive this routing update.
Let me show you all the different EIGRP packets:

Hello

• Update

• Query

• Reply

• ACK (Acknowledgement)

 

Hello packets are used for neighbor discovery. As soon as you send hello packets and
receive them your EIGRP routers will try to form the neighbor adjacency.

Update packets have routing information and are sent reliable to whatever router that
requires this information. Update packets can be sent to a single neighbor using unicast or
to a group of neighbors using multicast.

Query packets are used when your EIGRP router has lost information about a certain
network and doesn’t have any backup paths. What happens is that your router will send
query packets to its neighbors asking them if they have information about this particular
network.

Reply packets are used in response to the query packets and are reliable.

ACK packets are used to acknowledge the receipt of update, query and replay packets. ACK
packets are sent by using unicast.



EIGRP Metric K Values Explained with Examples

 One more thing we have to talk about…the EIGRP metrics. Best path select EIGRP best on lowest metrics   Let’s take a good look at the EIGRP metrics and the formula.
EIGRP uses the following components for the metric which are represented by K-values:




Bandwidth (K1)

• Loading (K2)

• Delay (K3)

• Reliability (K4)

• MTU (K5)

 



In this screenshot where I used the command show ip protocols you can see which Kvalues
are enabled by default. K1 is bandwidth and K3 which is delay. As you can see it
doesn’t show “bandwidth and delay enabled” but only the K-values. The K-values and to
which component they translate is something you’ll have to remember.




Bandwidth K1:


If you use the show interface FastEthernet 0/0 command you can see the interface
information. The screenshot above only shows part of the output. You can see the
bandwidth is 100000 Kbit which is a 100Mbit interface.


 
Bandwidth is a static value which can be changed by using the bandwidth command. Keep
in mind this doesn’t change the actual bandwidth of the interface! This command is ONLY
used to influence routing protocols like EIGRP.




Loading K2:

 Loading will show you how busy the interface is based on the packet rate and the bandwidth
on the interface. This is a value that can change over time so it’s a dynamic value.


Delay K3:


Delay reflects the time it will take for packets to cross the link and is a static value. Cisco
IOS will have default delay values for the different types of interface. A FastEthernet
interface has a default delay of 100 usec.


If you use the delay command you can change this value to influence routing protocols like
EIGRP. It doesn’t actually change the delay for this interface but it is only used to influence
routing protocols.
Here

 
Here you see the new delay I just configured on the interface.

Reliability K4:


 Reliability at 255/255 is 100%. This means that you don’t have issues on the physical or
data-link layer. If you are having issues this value will decrease. Since this is something
that can change it’s a dynamic value.


MTU K5:


MTU or Maximum Transmission Unit is being exchanged between EIGRP neighbors but not
used for the metric calculation.

By default only K1 (bandwidth) and K3 (delay) are enabled and we don’t use K2 (loading) or
K4 (reliability). Why not? Because loading and reliability are dynamic values and they can
change over time. You don’t want your EIGRP routers calculating 24/7 and sending updates
to each other just because the load or reliability of an interface has changed. We want
routing protocols to be nice and quiet and only base their routing decisions on static values
like bandwidth and delay. If you only use those two static values our EIGRP routers don’t
have to do any recalculation unless an interface goes down or a router died.

 What does the EIGRP metric calculation look like? Is it just a big blender where we put in all
those values and stir it up into a nice value? Let’s take a look at the actual formula:


            Metric = bandwidth (slowest link) + delay (sum of delays)


• Bandwidth: [107/ minimum bandwidth in the path] * 256.
• Delay: sums of delays in the path multiplied by 256 (in tens of microseconds).

 So the formula looks like:


     Metric = ( 107/ minimum bandwidth) * 256 + (sum of delays) * 256

 

The multiplication is done so EIGRP is compatible with IGRP (the predecessor of EIGRP).

 The lowest bandwidth in the upper path is our 64kbps link so the EIGRP bandwidth
calculation will look like this:


Bandwidth = (107 / slowest link) * 256
Bandwidth = (10,000,000 / 64) * 256 = 156,250 * 256 = 40,000,000
Now let’s look at the delay calculation for the upper path:
Delay = [sum of delays] * 256
Delay = [1000+1000+1000] * 256
Delay = 768,000

 
Let’s add those numbers together and we’ll have the total metric:


Metric = bandwidth + delay

Metric = 40,000,000 + 768,000
Metric = 40,768,000


Same metric method will use in both interface lowest metric will win 




EIGRP BASIC CONFIGURATION LAB

EIGRP CLASS LESS CONFIGURATION LAB

EIGRP MD5 AUTHENTICATION LAB