Home > EIGRP Tutorial

EIGRP Tutorial

December 3rd, 2010 Go to comments

In this article we will mention about the EIGRP protocol.

In the past, Enhanced Interior Gateway Routing Protocol (EIGRP) is a Cisco-proprietary routing protocol but from March-2013 Cisco opens up EIGRP as an open standard in order to help companies operate in a multi-vendor environment. EIGRP is a classless routing protocol, meaning that it sends the subnet mask of its interfaces in routing updates, which use a complex metric based on bandwidth and delay.

EIGRP is referred to as a hybrid routing protocol because it has the characteristics of both distance-vector and link-state protocols but now Cisco refers it as an advanced distance vector protocol.

Notice: the term “hybrid” is misleading because EIGRP is not a hybrid between distance vector and link-state routing protocols. It is a distance vector routing protocol with enhanced features.

EIGRP is a powerful routing protocol and it is really standout from its ancestor IGRP. The main features are listed below:

+ Support VLSM and discontiguous networks
+ Use Reliable Transport Protocol (RTP) to delivery and reception of EIGRP packets
+ Use the best path selection Diffusing Update Algorithm (DUAL), guaranteeing loop-free paths and backup paths throughout the routing domain
+ Discover neighboring devices using periodic Hello messages to discover and monitor connection status with its neighbors
+ Exchange the full routing table at startup and send partial* triggered updates thereafter (not full updates like distance-vector protocols) and the triggered updates are only sent to routers that need the information. This behavior is different from the link-state protocol in which an update will be sent to all the link-state routers within that area. For example, EIGRP will send updates when a new link comes up or a link becoming unavailable
+ Supports multiple protocols: EIGRP can exchange routes for IPv4, IPv6, AppleTalk and IPX/SPX networks
+ Load balancing: EIGRP supports unequal metric load balancing, which allows administrators to better distribute traffic flow in their networks.

* Notice: The term “partial” means that the update only includes information about the route changes.

EIGRP use metrics composed of bandwidth, delay, reliability, and load. By default, EIGRP uses only bandwidth and delay.

EIGRP use five types of packets to communicate:

+ Hello: used to identify neighbors. They are sent as periodic multicasts
+ Update: used to advertise routes, only sent as multicasts when something is changed
+ Ack: acknowledges receipt of an update. In fact, Ack is Hello packet without data. It is always unicast and uses UDP.
+ Query: used to find alternate paths when all paths to a destination have failed
+ Reply: is sent in response to query packets to instruct the originator not to recompute the route because feasible successors exist. Reply packets are always unicast to the originator of the query

EIGRP sends every Query and Reply message using RTP, so every message is acknowledged using an EIGRP ACK message.

EIGRP Route Discovery

Suppose that our network has 2 routers and they are configured to use EIGRP. Let’s see what will happen when they are turned on.

Firstly, the router will try to establish a neighboring relationships by sending “Hello” packets to others running EIGRP. The destination IP address is 224.0.0.10 which is the multicast address of EIGRP. By this way, other routers running EIGRP will receive and proceed these multicast packets. These packets are sent over TCP.

EIGRP_initial_route_discovery.jpg

After hearing “Hello” from R1, R2 will respond with another “Hello” packet.

EIGRP_initial_route_discovery_2.jpg

R2 will also send its routing table to R1 by “Update” packets. Remember that R2 will send its complete routing table for the first time.

EIGRP_initial_route_discovery_3.jpg

R1 confirms it has received the Update packet by an “ACK” message.

EIGRP_initial_route_discovery_4.jpg

R1 will also send to R2 all of its routing table for the first time

EIGRP_initial_route_discovery_5.jpg

R2 sends a message saying it has received R1′s routing table.

EIGRP_initial_route_discovery_6.jpg

Now both R1 & R2 learn all the paths of the neighbor and the network is converged. But there are some notices you should know:
+ After the network converged, “Hello” messages will still be sent to indicate that the it is still alive.
+ When something in the network changes, routers will only send partial updates to routers which need that information.
+ Hellos are sent as periodic multicasts and are not acknowledged directly.
+ The first hellos are used to build a list of neighbors; thereafter, hellos indicate that the neighbor is still alive

To become a neighbor, the following conditions must be met:
+ The router must hear a Hello packet from a neighbor.
+ The EIGRP autonomous system must be the same.
+ K-values must be the same.

EIGRP builds and maintains three tables:
+ Neighbor table: lists directly connected routers running EIGRP with which this router has an adjacency
+ Topology table: lists all routes learned from each EIGRP neighbor
+ Routing table: lists all best routes from the EIGRP topology table and other routing processes

Configuring EIGRP

Router(config)#router eigrp 1

Syntax: router eigrp <AS number>

Turn on the EIGRP process

1 is the Autonomous System (AS) number. It can be from 1 to 65535.

All routers in the same network must use the same AS number.

Router(config-router)#network 192.168.1.0

Router will turn on EIGRP 1 process on all the interfaces belonging to 192.168.1.0/24 network.

In the next part we will learn about the Feasible Distance & Administrative Distance of EIGRP

Comments (234) Comments
Comment pages
  1. user@million
    May 1st, 2013

    really thanks for clear explanations to the questions and topic wise tutorial which is really helpful :) :)

  2. Jazz
    May 29th, 2013

    Excellent excellent excellent

  3. Vishu
    June 9th, 2013

    Good Explanation, but some people makes same complicate topic…

  4. rahman
    June 15th, 2013

    Best explanation I have seen for EIGRP. Thanks you:)

  5. milton
    June 16th, 2013

    nice explanation,,,

  6. mohamed
    June 23rd, 2013

    very good explanation the best

  7. Potato
    June 26th, 2013

    It’s ver clear , thanks alot

  8. Lakhan
    July 3rd, 2013

    Great good

  9. David
    July 8th, 2013

    Amazing tutorial!

  10. parker
    July 11th, 2013

    Attention ! usec stands for micro second !

  11. Shadowone
    July 11th, 2013

    Hello, After the excellent explanation on EIGRP.. I just purchased the the premium membership.. I only wish I had known about this site about A month Ago!!
    Unfortunately I plan on taking my ICND2 Exam on 7/13/13. Hope to pass; but win lose or Draw I will Be a regular on this site..

    THanks Mr. 9tut

  12. amit
    July 17th, 2013

    excellent explanation

  13. shakthi
    July 21st, 2013

    great work…

  14. Anonymous
    July 24th, 2013

    Freedom
    superb!!!

  15. ATP
    July 25th, 2013

    It is very uiseful, now I inderstand

  16. OXYZEN
    August 12th, 2013

    THANK YOU VERY MUCH FOR GOOD EXPLANATION, I NEED ONE MORE THING WHY WE ARE GOING TO RIP TO EIGRP LET ME KNOW THE VALUABLE REASON FOR IT ?

  17. musa
    August 14th, 2013

    good explanation

  18. hamed
    August 18th, 2013

    very very nice 9tut

  19. Xth
    September 1st, 2013

    what is the slowest bandwidth means? i mean the hi bw the slowest or the hi is the fastest? sorry for noob question

  20. Qasim
    September 3rd, 2013

    Very nice and to the point according to the ccna level

  21. Hamada
    September 6th, 2013

    You’re the best, making all this huge effort with no Ads and so on .. you deserve a trophy.

  22. Hamza
    September 8th, 2013

    Nice explanation thanks

  23. Bader Albarakat
    September 13th, 2013

    Thank’s 9tut really nice explanation.

  24. Anonymous
    September 14th, 2013

    Boss

  25. jvalnciano
    September 16th, 2013

    you guys are awesome!!!!!

  26. Abdul Ahad
    September 16th, 2013

    Long Live 9tut..!!
    u are awesome..

  27. mina-me
    September 20th, 2013

    god pless u :), ithought i will never understand this terms :)

  28. Anonymous
    September 23rd, 2013

    Great article BUT… your note about the DLY shown in the “show interface” output being in milliseconds and not microseconds is incorrect. It is indeed microseconds (µsec or 1/1000 of a ms) and the ‘u’ is as close as they could get with the µ character, I suppose, with standard ASCII. It needs to be divided by 10 in the formula, as you show, because EIGRP’s “delay” value refers to “tens of microseconds”. So, you’ll need to fix a couple graphics on this page which incorrectly refer to ‘msec’ instead of ‘µsec’

  29. zarul
    September 24th, 2013

    help me

  30. nemo
    September 27th, 2013

    great explanation

  31. Anonymous
    September 30th, 2013

    Excellent explanation for CCNA!!

  32. andrew bhandari
    October 1st, 2013

    wow it,s pretty cool explntion !!

  33. kgotso
    October 1st, 2013

    What does k value means

  34. Santhosh Kumar
    October 22nd, 2013

    I really thank the author for this kind of post with the simple explanation.
    i am one of the regular visitor for this site, good work thumps up!!!

  35. mb
    October 22nd, 2013

    please comment on correction referred by @ Anonymous September 23rd, 2013

  36. 9tut
    October 24th, 2013

    @Anonymous, @mb: After checking some references, we see that the Delay value in the “show interface” is in microsecond. Thanks for your detection, we updated it!

  37. shaijal
    November 12th, 2013

    really excellent

  38. sureshbabu.anisetti
    November 14th, 2013

    explained in simple words and simple diagrams.

    we expecting ccnp in the same way.

  39. Amit
    November 21st, 2013

    VERY MUCH THANKS ANS GREAT EFFORTS .

  40. Amit
    November 21st, 2013

    Agreed Suresh ..loking for CCNP in the same manner .

  41. Amit
    November 21st, 2013

    I really thank the author for this kind of post with the simple explanation.
    i am one of the regular visitor for this site, good work thumps up!!!

    == VERY GREAT WORK====

  42. Router47
    December 4th, 2013

    I am confused…

    In this explanation…a “show eigrp topology” will reveal this ( / ) number…the explanation here says

    “the FIRST number is the metric from Router0 to the destination while the SECOND number is the Advertised Distance”

    Yet on the EIGRP ICND2 questions page, the last question makes it sound like the FIRST number is the Feasible Distance while the SECOND number is the Advertised Distance.

    The explanation on this page and on that ICND2 EIGRP questions page DON’T seem to match.

    What is the truth?

  43. vigneshwaran
    January 22nd, 2014

    really great job u have done…im speechless…:)

  44. Nurul
    January 26th, 2014

    Thanx for your explanation. I love your analogy
    wish me luck for the exam :)

  45. sandeep saproo
    February 11th, 2014

    nice explaination

  46. kashyap raina
    February 11th, 2014

    gr8 job sir…
    thnx fr making my concepts clear

  47. Chaudhry
    February 12th, 2014

    Nice Explaination dear…

  48. HacksDmost
    February 21st, 2014

    Very Good and Clear explanations.. Thanks for the great effort.. ;)

  49. uthaymeen Tanzania
    March 6th, 2014

    clear explanation. BUT regular updates are needed. Please edit the “CISCO PROPRIETARY” routing protocol bacause now EIGRP can be implement in any vendor as far as that vendor has incorporated EIGRP into its products. Cisco has made it Informational RFC around March 2013.

  50. 9tut
    March 7th, 2014

    @uthaymeen Tanzania: Thanks for your information. We have added it in our tutorial.

Comment pages
Add a Comment