Features

EIGRP is still based on the key distance vector routing protocol principle, in which information about the rest of the network is learned from directly connected neighbors.

EIGRP is an advanced distance vector routing protocol that includes features not found in other distance vector routing protocols like RIP and IGRP.

  • Diffusing Update Algorithm (DUAL)

As the computational engine that drives EIGRP, the Diffusing Update Algorithm (DUAL) resides at the center of the routing protocol. DUAL guarantees loop-free and backup paths throughout the routing domain. Using DUAL, EIGRP stores all available backup routes for destinations so that it can quickly adapt to alternate routes when necessary.

  • Establishing Neighbor Adjacencies

EIGRP establishes relationships with directly connected routers that are also enabled for EIGRP. Neighbor adjacencies are used to track the status of these neighbors.

  • Reliable Transport Protocol

The Reliable Transport Protocol (RTP) is unique to EIGRP and provides delivery of EIGRP packets to neighbors. RTP and the tracking of neighbor adjacencies set the stage for DUAL.

  • Partial and Bounded Updates

EIGRP uses the terms, partial and bounded, when referring to its updates. Unlike RIP, EIGRP does not send periodic updates and route entries do not age out. The term partial means that the update only includes information about the route changes, such as a new link or a link becoming unavailable. The term bounded refers to the propagation of partial updates that are sent only to those routers that the changes affect. This minimizes the bandwidth that is required to send EIGRP updates.

  • Equal and Unequal Cost Load Balancing

EIGRP supports equal cost load balancing and unequal cost load balancing, which allows administrators to better distribute traffic flow in their networks.

Note: The term hybrid routing protocol is used in some older documentation to define EIGRP. However, this term is misleading because EIGRP is not a hybrid between distance vector and link-state routing protocols. EIGRP is solely a distance vector routing protocol.

Protocol dependent modules

EIGRP has the capability for routing several different protocols including IPv4 and IPv6 using protocol-dependent modules (PDMs).

PDMs are responsible for the specific routing tasks for each network layer protocol, including:

  • Maintaining the neighbor and topology tables of EIGRP routers that belong to that protocol suite
  • Building and translating protocol-specific packets for DUAL
  • Interfacing DUAL to the protocol-specific routing table
  • Computing the metric and passing this information to DUAL
  • Implementing filtering and access lists
  • Performing redistribution functions to and from other routing protocols
  • Redistributing routes that are learned by other routing protocols

When a router discovers a new neighbor, it records the neighbor’s address and interface as an entry in the neighbor table.

  1. One neighbor table exists for each protocol-dependent module, such as IPv4.
  2. EIGRP also maintains a topology table. The topology table contains all destinations that are advertised by neighboring routers. There is also a separate topology table for each PDM.
  3. One routing table exists for each protocol.
Reliable transport protocol

EIGRP uses Reliable Transport Protocol (RTP) for the delivery and reception of EIGRP packets. EIGRP was designed as a network layer independent routing protocol; because of this design EIGRP cannot use the services of UDP or TCP. This allows EIGRP to be used for protocols other than those from the TCP/IP protocol suite.RTP

Although “reliable” is part of its name, RTP includes both reliable delivery and unreliable delivery of EIGRP packets, similar to TCP and UDP, respectively. Reliable RTP requires an acknowledgment to be returned by the receiver to the sender. An unreliable RTP packet does not require an acknowledgment. For example, an EIGRP update packet is sent reliably over RTP and requires an acknowledgment. An EIGRP Hello packet is also sent over RTP, but unreliably. This means that EIGRP Hello packets do not require an acknowledgment.

RTP can send EIGRP packets as unicast or multicast.

  • Multicast EIGRP packets for IPv4 use the reserved IPv4 multicast address 224.0.0.10.
  • Multicast EIGRP packets for IPv6 are sent to the reserved IPv6 multicast address FF02::A.

 

EIGRP Packets

 

EIGRP uses five different packet types, some in pairs. EIGRP packets are sent using either RTP reliable or unreliable delivery and can be sent as a unicast, multicast, or sometimes both. EIGRP packet types are also called EIGRP packet formats or EIGRP messages.

five EIGRP packet types include:

1. Hello packets – Used for neighbor discovery and to maintain neighbor adjacencies.

  • Sent with unreliable delivery
  • Multicast (on most network types)

EIGRP Hello packets are sent as IPv4 or IPv6 multicasts, and use RTP unreliable delivery. This means that the receiver does not reply with an acknowledgment packet.

  • The reserved EIGRP multicast address for IPv4 is 224.0.0.10.
  • The reserved EIGRP multicast address for IPv6 is FF02::A (keep in mind that A equals 10 in decimal).

EIGRP also uses Hello packets to maintain established adjacencies. An EIGRP router assumes that as long as it receives Hello packets from a neighbor, the neighbor and its routes remain viable.

EIGRP uses a Hold timer to determine the maximum time the router should wait to receive the next Hello before declaring that neighbor as unreachable. By default, the hold time is three times the Hello interval, or 15 seconds on most networks and 180 seconds on low-speed NBMA networks. If the hold time expires, EIGRP declares the route as down and DUAL searches for a new path by sending out queries.

2. Update packets – Propagates routing information to EIGRP neighbors.

  • Sent with reliable delivery
  • Unicast or multicast

Unlike RIP, EIGRP (another distance vector routing protocol) does not send periodic updates and route entries do not age out. Instead, EIGRP sends incremental updates only when the state of a destination changes. This may include when a new network becomes available, an existing network becomes unavailable, or a change occurs in the routing metric for an existing network.

EIGRP uses the terms partial and bounded when referring to its updates.

  • The term partial means that the update only includes information about the route changes.
  • The term bounded refers to the propagation of partial updates that are sent only to those routers that the changes affect.

By sending only the routing information that is needed, only to those routers that need it, EIGRP minimizes the bandwidth that is required to send EIGRP updates.

3. Acknowledgment packets – Used to acknowledge the receipt of an EIGRP message that was sent using reliable delivery.

  • Sent with unreliable delivery
  • Unicast

An EIGRP acknowledgment is an EIGRP Hello packet without any data. RTP uses reliable delivery for EIGRP update, query, and reply packets. EIGRP acknowledgment packets are always sent as an unreliable unicast. Unreliable delivery makes sense; otherwise, there would be an endless loop of acknowledgments.

Note: Some documentation refers to the Hello and acknowledgment as a single type of EIGRP packet.

4. Query packets – Used to query routes from neighbors when searching for networks and other tasks.

  • Sent with reliable delivery
  • Unicast or multicast

5. Reply packets – Sent in response to an EIGRP query.

  • Sent with unreliable delivery
  • Unicast

All neighbors must send a reply, regardless of whether or not they have a route to the downed network. Because replies also use reliable delivery, routers  must send an acknowledgment.

EIGRP messages

 

The data portion of an EIGRP message is encapsulated in a packet. This data field is called type, length, value (TLV). The types of TLVs relevant to this course are EIGRP parameters, IP internal routes, and IP external routes.

The EIGRP packet header and TLV are then encapsulated in an IPv4 packet. In the IPv4 packet header, the protocol field is set to 88 to indicate EIGRP, and the IPv4 destination address is set to the multicast 224.0.0.10.

If the EIGRP packet is encapsulated in an Ethernet frame, the destination MAC address is also a multicast address, 01-00-5E-00-00-0A.

TypeLengthValuse
Packet header

EIGRP Packet Header

Every EIGRP message includes the header, as shown in Figure 1. Important fields include the Opcode field and the Autonomous System Number field.

1, Opcode specifies the EIGRP packet type as follows:

  • Update
  • Query
  • Reply
  • Hello

2, The autonomous system number specifies the EIGRP routing process. Unlike RIP, multiple instances of EIGRP can run on a network; the autonomous system number is used to track each running EIGRP process.

TLV parameters

Figure above shows the EIGRP parameter’s TLV. The EIGRP parameter’s message includes the weights that EIGRP uses for its composite metric. By default, only bandwidth and delay are weighted. Both are weighted equally; therefore, the K1 field for bandwidth and the K3 field for delay are both set to one (1). The other K values are set to zero (0).

Internal

 

IPInternal PLV

Figure above shows the IP Internal Routes TLV. The IP internal message is used to advertise EIGRP routes within an autonomous system. Important fields include the metric fields (delay and bandwidth), the subnet mask field (prefix length), and the destination field.

1, Delay is calculated as the sum of delays from source to destination in units of 10 microseconds. Bandwidth is the lowest configured bandwidth of any interface along the route.

2, The subnet mask is specified as the prefix length or the number of network bits in the subnet mask. For example, the prefix length for the subnet mask 255.255.255.0 is 24, because 24 is the number of network bits.

3, The Destination field stores the address of the destination network. Although only 24 bits are shown in this figure, this field varies based on the value of the network portion of the 32-bit network address. For example, the network portion of 10.1.0.0/16 is 10.1; therefore, the Destination field stores the first 16 bits. Because the minimum length of this field is 24 bits, the remainder of the field is padded with zeros. If a network address is longer than 24 bits (192.168.1.32/27, for example), then the Destination field is extended for another 32 bits (for a total of 56 bits) and the unused bits are padded with zeros.

External

IPExternal PLV

The figure above shows the IP External Routes TLV. The IP external message is used when external routes are imported into the EIGRP routing process. In this chapter, we will import or redistribute a default static route into EIGRP. Notice that the bottom half of the IP External Routes TLV includes all the fields used by the IP Internal TLV.

Note: The maximum transmission unit (MTU) is not a metric used by EIGRP. The MTU is included in the routing updates, but it is not used to determine the routing metric.