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. xallax
    September 6th, 2011

    @jeff
    keep in mind that the admin can set up a different administrative distance for eigrp. 90 is the default value

  2. Jeff2
    September 6th, 2011

    I know that it is the default value and it can be changed. But on the routing table on page 2, the metric there was feasible distance and not AD. That is my whole issue basically, why is it FD on that routing table.

  3. xallax
    September 6th, 2011

    @jeff
    you’re talking about the 3rd table, right? the routing table.
    i’m not that good at eigrp, but… it looks like you’re right, it should be “(Administrative Distance)”, not “(Feasible Distance).

    anyone else?

  4. Jeff2
    September 6th, 2011

    Yep, the 3rd table.

  5. 9tut
    September 6th, 2011

    @Jeff2: Maybe this is what you want to mention:

    Routing table (page 2, 3rd table):
    IOWA | Metric (FD) = 90 | Outbound Int = 50 | Next hop: IDAHO

    The metric here equals to 90 but it is just a coincidence because 90 = 40 (routerA -> IDAHO) + 50 (IDAHO -> IOWA). 90 here is not the AD of EIGRP.

  6. Jeff2
    September 6th, 2011

    Now I am confused. On the lab you created, from Router 0, how can I show the neighbor, topology and routing table just for Router 3?

  7. Jeff2
    September 9th, 2011

    After reading up on EIGRP (from Odom book), the correct entry for the Routing Table on page 2 should be [90/90] and not [90/50]. First 90 is AD of EIGRP and second 90 is FD of successor route.

  8. Harish
    September 16th, 2011

    Thanks alot mate, doing a great job!

  9. pintu gupta
    October 4th, 2011

    great job 9tut

  10. geedub
    October 9th, 2011

    this is not what is on ccna. there was a question about feasible successor. It showed 4 different outputs (not sure to what, show ??)
    Can anyone help?

  11. Nash D
    October 17th, 2011

    Hi 9tut,
    I might be wrong here or there is a typo. AD is used both for Administrative Distance and Advertised Distance. Like in the first line of 2nd page of this tutorial, it says “Administrative Distance (AD)” but in the 3rd line, it says “Advertised distance (AD): the cost from the neighbor to the destination”. I think in the first line, it should also be Advertised Distance because AD is constant for the routing protocols.
    Please clarify.
    Thanks!!

  12. 9tut
    October 17th, 2011

    @Nash D: Yes, I want to mention about Advertised Distance, not Administrative Distance. Thanks for your detection, I updated it!

  13. Nash D
    October 18th, 2011

    Thanks 9tut.

  14. Amit
    October 20th, 2011

    Very informative….I appriciate your work….and thanks

  15. Bimal
    October 30th, 2011

    Thanks… Very Clean details…

  16. AdyM
    November 4th, 2011

    “+ Ack: acknowledges receipt of an update… It is always unicast and uses UDP.”

    UDP has no business here. EIGRP uses RTP (Reliable Transport Protocol) for transport which as we know has 3 PDMs (protocol dependent modules) which run on top of IP, IPX and AppleTalk.

    The other RTP (Real-time Transport Protocol) which is being used in voice over IP (VoIP) uses UDP, but otherwise than the totally unfortunate acronym collision, it’s entirely unrelated to the RTP used by EIGRP.

  17. Keith
    November 6th, 2011

    Very easy to understand. Thanks so much !!

  18. shameer
    November 22nd, 2011

    Good work..keep it up

  19. abdibasid
    November 26th, 2011

    @9tut

    if there is a route with a AD less than the FD of the current successor , but the route is not loop free , like this scenario is it would be elected as feasible successor route to the destination , even if there is a loop back to the current successor route

    eg.

    naveda->oklahoma->idaho->iowa

    this route has AD of 50 wich is less than 90 even 70 wich is elected as a f. successor route

  20. 9tut
    November 29th, 2011

    @abdibasid: Yes, the route naveda->oklahoma->idaho->iowa is also elected as a feasible successor route. Notice the above route is loop free.

  21. Althaf
    November 29th, 2011

    reallly much appreciated guys.. your efforts are ooossssssssum

  22. sotir1984
    December 4th, 2011

    If the metric is

    metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] * [K5/(reliability + K4)]

    and only K1 and K3 are not zero then the formula becomes K1*bandwidth + K3*delay. Because K1 and K3 are 1 that leave us with metric=bandwidth + delay.
    So where can we find that bandwidth=[10^8/(slowest bandwidth)]*256 and delay = [(sum of delay)/10]*256 ?

  23. Arpit
    January 2nd, 2012

    It Really Good ……

  24. FUT
    February 1st, 2012

    This is very gud information.
    Thank you very much.

  25. Matteo “roghan” Cappelli
    February 2nd, 2012

    Hi, I realized an excel file with a comparison of RIP, RIPv2, IGRP, EIGRP, and OSPF. Link to download:

    http://matteocappelli.files.wordpress.com/2011/10/compare_rip_igrp_eigrp_ospf_v1-1.xls

    Bye!

  26. A B M Moniruzzaman
    February 2nd, 2012

    very precise.
    Very helpful.

  27. Anonymous
    February 13th, 2012

    thnks

  28. Usmaan
    February 14th, 2012

    If there were Routers E and F connected with Router D with some random AD Between them and Router A had to communicate with ‘F’.

    In such topology, Would the AD value change as it is the distance between the neighbor and the Destination but here the Destination is Far. Plz suggest

    @9tut

    Thanks

  29. Biang
    February 25th, 2012

    Thank you for this short course. Very helpful. :D

  30. Dimi
    February 29th, 2012

    @9tut: a small comment about EIGRP packet types

    EIGRP uses five packet types:

    •Hello/Acks

    •Updates

    •Queries

    •Replies

    •Requests

    Source: http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080093f07.shtml
    As stated earlier, hellos are multicast for neighbor discovery/recovery. They do not require acknowledgment. A hello with no data is also used as an acknowledgment (ack). Acks are always sent using a unicast address and contain a non-zero acknowledgment number.

    Updates are used to convey reachability of destinations. When a new neighbor is discovered, update packets are sent so the neighbor can build up its topology table. In this case, update packets are unicast. In other cases, such as a link cost change, updates are multicast. Updates are always transmitted reliably.

    Queries and replies are sent when destinations go into Active state. Queries are always multicast unless they are sent in response to a received query. In this case, it is unicast back to the successor that originated the query. Replies are always sent in response to queries to indicate to the originator that it does not need to go into Active state because it has feasible successors. Replies are unicast to the originator of the query. Both queries and replies are transmitted reliably.

    Request packets are used to get specific information from one or more neighbors. Request packets are used in route server applications. They can be multicast or unicast. Requests are transmitted unreliably.

  31. Anonymous
    March 1st, 2012

    really great

  32. Me
    March 7th, 2012

    there is a question on the test, got me, not sure if i should post it on the routing forum but here is:

    it gives 3 routing protocols, RIPv2, OSPF and EIRGP, and ask us to compare which one gets to put onto the routing table, we know the administrative distance is one factor and usually EIGRP would be the choice of the protocols.., how about metric, it gives a metric for RIPv2 of 2, OSPF is 714 and EIGRP is some long number like 424566346

  33. 9tut
    March 7th, 2012

    @Me: EIGRP will be chosen because it has the lowest Administrative Distance (90) regardless of the metric.

  34. Omnivoice
    March 19th, 2012

    Thnks guys to all your useful work here. It is saving a lot of preparation time for me.

    This week on Thursday I have this CCNA exam.
    Before finding this site, I was praying to GOD, wanna talk to the people who has recently
    taken this exam to know, the next day morning I have found it.

    Thanks to GOD who answers our prayers.

    Blessings,
    Omnivoice27@yahoo.com

  35. Fariba
    March 24th, 2012

    Outbount interface in Routing table must be E0

  36. Adedini Oluwasogo
    March 27th, 2012

    This site is quiet informative.I love the way each concept was discussed.

  37. ariesqing
    March 30th, 2012

    thank u,wo learned many new knowledge

  38. zimzim
    March 30th, 2012

    will i pass mara?

  39. Michael Bee
    April 9th, 2012

    Good information and nicely put together with easy visuals. I commend you.

  40. Arafat
    April 15th, 2012

    Thanks Man…. Very Nice Tutorial…

  41. Jay
    April 23rd, 2012

    @9tut and xallax.

    Just got confused on calculating the cost. ICND cisco press said that the cisco IOS default formula is 10^8/bandwidth. on page 3 of your tutorial if we use the formula it would be 10^8/100 Mbps = 1.

    is this correct?… please advise.

    Thanks.

  42. xallax
    April 23rd, 2012

    @jay
    then something is wrong here because…

    “The formulae for calculating EIGRP metric is:
    Metric = 256*((K1*Bw) + (K2*Bw)/(256-Load) + (K3*Delay)*(K5/(Reliability + K4)))
    k1=bandwidth
    k2=load
    k3=delay
    k4=reliability
    k5=MTU

    usuallly only Bandwidth and Delay are considered for Bandwidth calculation (by default) . so K1 = 1 and K3 = 1 and rest all are Zero. (although you can change these metric weights (k- values))

    applying that on the formula.

    the Metric would be
    256 *( (k1 * BW) + (K3 * Delay))

    BW is Minimum Bandwidth in kpbs and delay is cummulative delay in tens of microseconds.

    Apply BW and Delay of that interface in the above said formula and you should be able to calculate the metric.” (https://learningnetwork.cisco.com/thread/37278)

    are you sure it said “eigrp cost”? eigrp uses metric (just a name difference)

  43. Jay
    April 23rd, 2012

    thanks xallax. Kindly disregard my question.. just got confused.. sorry… the formula is for OSFP cost.

  44. Jay
    April 23rd, 2012

    to xallax.

    in the routing table of EIGRP…. is the second parameter called FD (feasible distance) or Metric?

    Thanks.

  45. xallax
    April 23rd, 2012

    @jay
    http://www.cisco.com/en/US/docs/ios/12_0/np1/command/reference/1reigrp.html#wp1021269

    “The first number is the EIGRP metric that represents the cost to the destination. The second number is the EIGRP metric that this peer advertised.”

    first is FD, second is AD

  46. Rod
    April 26th, 2012

    Enlighting enough!!
    Thanks….!!

  47. anon
    April 29th, 2012

    Anyone able to send the latest dumps to me? deskimogangsta@gmail.com

    Taking the test this Thursday. Thanks 9tut, you’ve helped so much!

  48. Internet
    May 5th, 2012

    Thanks for all the hard work! Now i’ll be able to actually get a good job :P

  49. Karan Sood
    May 15th, 2012

    This is a great initiative, really helpful. Keep up the good work 9tut whosoever is working behind the scenes :)

  50. Rose
    May 29th, 2012

    @ 9tut
    we can easily calculate the AD of that route (with slowest bandwidth = 100,000Kpbs; sum of delay = 10)

    metric = (100 + 10) * 256 = 28160
    how come delay became 10?? delay=sum of delay/10, so 10/10=1 right??

    Thanks

Comment pages
Add a Comment