Continuing my review of titles from Petr’s excellent CCDE reading list for his upcoming LIVE and ONLINE CCDE Bootcamps, here are further notes to keep in mind regarding EIGRP.

About the Protocol

  • The algorithm used for this advanced Distance Vector protocol is the Diffusing Update Algorithm.
  • As we discussed at length in this post, the metric is based upon Bandwidth and Delay values.
  • For updates, EIGRP uses Update and Query packets that are sent to a multicast address.
  • Split horizon and DUAL form the basis of loop prevention for EIGRP.
  • EIGRP is a classless routing protocol that is capable of Variable Length Subnet Masking.
  • Automatic summarization is on by default, but summarization and filtering can be accomplished anywhere inside the network.

Neighbor Adjacencies

EIGRP forms “neighbor relationships” as a key part of its operation. Hello packets are used to help maintain the relationship. A hold time dictates the assumption that a neighbor is no longer accessible and causes the removal of topology information learned from that neighbor. This hold timer value is reset when any packet is received from the neighbor, not just a Hello packet.

EIGRP uses the network type in order to dictate default Hello and Hold Time values:

  • For all point-to-point types – the default Hello is 5 seconds and the default Hold is 15
  • For all links with a bandwidth over 1 MB – the default is also 5 and 15 seconds respectively
  • For all multi-point links with a bandwidth less than 1 MB – the default Hello is 60 seconds and the default Hold is 180 seconds

Interestingly, these values are carried in the Hello packets themselves and do not need to match in order for an adjacency to form (unlike OSPF).

Reliable Transport

By default, EIGRP sends updates and other information to multicast and the associated multicast MAC address of 01-00-5E-00-00-0A.

For multicast packets that need to be reliably delivered, EIGRP waits until a RTO (retransmission timeout) before beginning a recovery action. This RTO value is based off of the SRTT (smooth round-trip time) for the neighbor. These values can be seen in the show ip eigrp neighbor command.

If the router sends out a reliable packet and does not receive an Acknowledgement from a neighbor, the router informs that neighbor to no longer listen to multicast until it is told to once again. The local router then begins unicasting the update information. Once the router begins unicasting, it will try for 16 times or the expiration of the Hold timer, whichever is greater. It will then reset the neighbor and declare a Retransmission Limit Exceeded error.

Note that not all EIGRP packets follow this reliable routine – just Updates and Queries. Hellos and acknowledgements are examples of packets that are not sent reliably.

You can leave a response, or trackback from your own site.

7 Responses to “The Basics of EIGRP”

  1. James Shillman says:

    Isn’t this in the category of stuff that you should be able to recite backwards while drunk? It seems incredibly fundamental for both CCDE (written) and any CCIE (written).

  2. Murali says:

    Hi ,

    If EIGRP is using multicast routing to communicate with neighbors we’ve to enable Multicast routing in the router right ?

    But in cisco router it’s disabled by default and we don’t enable it while configuring EIGRP then how does everything work ?

    • No, you don’t need to enable multicast routing to get unicast routing protocols such as OSPF or EIGRP to work, even though they are using multicast packets for their hellos. This is an exception to the rule because the multicast hellos are considered “link-local”, meaning it can’t be routed between interfaces. Specifically “link-local” multicast is addresses in the range 224.0.0.x/24

  3. Siavash says:


    Great post but I think there is a problem on Reliable Transport section! EIGRP waits until a multicast flow timer before beginning a recovery action, not RTO. The time between the subsequent unicasts is specified by RTO.
    Correct me if I’m wrong!?


Leave a Reply


CCIE Bloggers