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 2 3 5 380
  1. vibhu rastogi
    December 7th, 2010

    this is very gud

    and all the information in very dip…

    thanku so much

  2. pavan
    December 8th, 2010

    god bless u

  3. c.t.meiyappan
    December 15th, 2010

    really its good for undersatnding the eigrp principle
    it helps to configure and depth knowledge and also outlook for basic

  4. c.t.meiyappan
    December 15th, 2010

    really its good for undersatnding the eigrp principle
    it helps to configure and depth knowledge and also outlook for basic concepts

  5. Anonymous
    January 10th, 2011

    Hello,

    How to configure Diffreent AS number in EIGRP with Redistribuition

    Thanks

  6. Sunnie
    January 20th, 2011

    Guys thanx i was so confused on EIGRP can you pliz help with Frame relay now

  7. Jael
    February 7th, 2011

    Thanks for the in-depth explanation!

  8. Denver
    February 7th, 2011

    Hie
    thanx a million

  9. Kaustubh
    February 12th, 2011

    Was confused in todd lammle…ty 9tut :)

  10. asif
    February 15th, 2011

    detailed, easy to understand, yah keep it up, thanx….thanx

  11. Yahya Misbah,Dubai
    April 19th, 2011

    Thanks 9tut.com.I now have more clear picture of EIGRP.

  12. San Diego
    May 3rd, 2011

    Much appreciated, thank you guys for all ur time and effort

  13. hmeister
    May 6th, 2011

    9tut – Thanks for the overview – concise and to the point… I hope I can retain all of this as pieces of this will be on exam questions…

  14. Mohamed nour,Egypt
    May 6th, 2011

    Very good summary,Many thanks

  15. The King of Birds
    May 7th, 2011

    Very well explained, nice for beginners and good to improve and revise your concepts for existing students. Very good summery of very lengthy topic.

  16. daothanh_vietnam
    May 11th, 2011

    Much appreciated, thank you guys for all ur time and effort

  17. Stephen
    May 17th, 2011

    Perhaps add in the default Admin Distance of 90 ? I didnt see that mentioned.

  18. AS
    May 18th, 2011

    Now a days Cisco is asking some new questions which are not in pass4sure. Is any one has the source for these new questions?

  19. kiran the king
    May 22nd, 2011

    god

  20. naim
    May 24th, 2011

    good to read this!!!!!!!!!!!!!

  21. Rohith
    May 25th, 2011

    Thank you very much,,

  22. FRAUD
    May 27th, 2011

    G00D WORK INDEED…….!!!!!! THNX

  23. Turo!
    June 2nd, 2011

    Thank You! This is very useful!

  24. esta
    June 21st, 2011

    this is great

  25. tohil
    June 23rd, 2011

    in which condition , we can use ” no auto-summary” and for what purpose we use them.?

  26. Dipraj
    June 23rd, 2011

    Good One…

  27. Ram Moktan
    July 7th, 2011

    Greetings,

    Very good. Thank you for your effort .

  28. rupul
    July 8th, 2011

    Thanks again… the tutorial was of immense help. Only I think that the figure for outbound interface in the Routing table should be “e0″ and not 50 which is the AD for Router A to reach D. If I am wrong then please do correct me. Thank you.

  29. vinicius
    July 8th, 2011

    Amazing! :)

  30. hany khalaf
    July 12th, 2011

    thanks for this tutorial

  31. khaled
    July 21st, 2011

    Realllllly Thank You! This is very useful! I appreciate u for ur work

  32. Eden
    July 24th, 2011

    Thank You for sharing these clear explanation with us.

  33. Anuj
    July 28th, 2011

    Great work
    easy to understand..Thanks a lot….

  34. pyiphyo
    July 31st, 2011

    nice 9tut tutorial.

  35. sumit menaria
    August 4th, 2011

    Nice explanation …!!!

  36. Satpreet
    August 26th, 2011

    Thank You 9tut.com for sharing these clear explanation with us.
    Great Work.
    Thank you very much

  37. Darwin
    September 1st, 2011

    Thanks a million 9tut.I have to take hours to read this in Sybex.
    Now this post take me just a few minutes.I really appreciate 9tut.

  38. Rami
    September 1st, 2011

    Hello 9tut,

    Can u plz double check the metric formula?
    I guess it should be:
    metric = [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] + [K5/(reliability + K4)]
    otherwise, the metric will equal to zero if k4 & k5 are zeros!!!
    Thx 4 the gr8 info…keep it up

  39. xallax
    September 1st, 2011

    if K4 is 0 then
    [K5/(reliability + K4)] = K5/reliability

    if K5 is 0 then
    [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] + [K5/(reliability + K4)] =
    [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay] + 0 =
    [K1 * bandwidth + (K2 * bandwidth)/(256 - load) + K3 * delay]

  40. morning999
    September 2nd, 2011

    Really Good !

  41. Jeff2
    September 3rd, 2011

    if I used a class C with /24 instead of a class A (or B) /24, I won’t need no auto-summary right?

  42. xallax
    September 3rd, 2011

    @jeff
    yeap. you’re wasting the entire address space on one interface with that /24 mask so… no need for “no auto-summary” in that case.
    auto-summary is used to have less advertisement packets sent during updates and to keep the routing table less crowded

  43. Jeff2
    September 3rd, 2011

    I’ve been creating these labs for ICND2 and I always use class C /24 so I never used “no auto-summary”.

  44. Jeff2
    September 5th, 2011

    On page 2 routing table, shouldn’t the metric be Administrative Distance instead of Feasible Distance? By default, EIGRP has an AD of 90 as the table shows on page 3. For the routing table, it is [Administrative Distance (default of 90) / Advertised Distance (from neighboring router to destination)].

  45. 9tut
    September 5th, 2011

    @Jeff2: In the routing table, the metric is the Feasible Distance. Notice that the FD from routerA to IOWA is 90 because 90 = 40 (routerA -> IDAHO) + 50 (IDAHO -> IOWA). It is not the AD of EIGRP.

  46. Jeff2
    September 5th, 2011

    But on the show ip route that you did on page 3, it says [90/30720] on the routing table for every route learned through EIGRP. What is 90 there? 30720 is Advertised Distance.

  47. Rami
    September 5th, 2011

    @xallax
    I meant,
    In the tutorial the equation is written wrong, there is (*) instead of (+), so in that case the metric will be zero…maybe typo…

  48. xallax
    September 5th, 2011

    could be…

  49. 9tut
    September 6th, 2011

    @Jeff2: In [90/30720], 90 is the Adminstrative Distance of EIGRP.

  50. Jeff2
    September 6th, 2011

    But in your Routing table on page 2, the metric is Feasible Distance not Administrative Distance. When we talk about routing tables, shouldn’t it always be 90 for EIGRP? And it should be [AD of EIGRP / Advertised Distance] for EIGRP. Again, I am asking about the routing table. Like for RIP [AD of RIP (120) / Hop count].

Comment pages
1 2 3 5 380
Add a Comment