EIGRP enjoys many new technologies, each of which represents an improvement
in operating efficiency, rapidity of convergence, or feature/functionality
relative to IGRP and other routing protocols. These technologies fall into
one of the following four categories:
Neighbor discovery and recovery
Reliable Transport Protocol
DUAL finite-state machine
In addition to these categories of technological improvements, EIGRP was
also treated to some other substantial enhancements relative to IGRP. These
enhancements may defy easy categorization, but were needed to keep pace with
the ongoing evolution of IP as well as other routing protocols. EIGRP enhances
the security of a network, for example, by permitting authentication to be
used between routers. This function is very similar to the authentication
supported by OSPF and can be used in conjunction with any routed protocol.
Other innovations such as support for VLSM and CIDR are specific only to IP.
As such, they are integrated in a protocol-specific module rather than included
in EIGRP itself.
EIGRP, unlike virtually every other distance-vector routing protocol,
does not rely exclusively and rigidly on the use of timers for maintaining
its routing table. Instead, the basis for maintaining routing tables is a
periodic communication between EIGRP routers. They use this process to
Dynamically learn of new routers that may join their network
Identify routers that become either unreachable or inoperable
Rediscover routers that had previously been unreachable
The basic neighbor discovery/recovery process consists of periodically
transmitting a small hello packet to neighbors. The hello packet establishes
the relationship between immediate neighbors (known as an adjacency). This
relationship is used to exchange routing metrics and information.
An EIGRP router can safely assume that, as long as it is receiving hello
packets from known neighbors, those neighbors (and their routes) remain viable.
If an EIGRP router ceases to receive such greetings from a neighbor, however,
it can assume that something is amiss. That router will enter the DUAL process
for those routes. These processes are examined in more detail in the section
titled “Hello Packets.”
One of EIGRP's more important new features is its capability to provide
guaranteed, reliable delivery
of its various packets. Other protocols eschew reliable delivery and rely
on other mechanisms such as the passing of time to determine whether a packet
needs to be retransmitted. Unfortunately, the fundamental flaw in such an
approach is that it aggravates the convergence process. The longer it takes
a network to converge, the greater the opportunity for disrupting service
across the network. EIGRP was given a new protocol, the Reliable Transport Protocol
(RTP), to provide reliable delivery of its own packets.
RTP is a transport layer
protocol that correlates to the functionality identified by Layer 4 of the
OSI reference model. RTP is a private innovation of Cisco Systems, however,
and is not an open standard. IP uses two similar transport protocols: TCP
and UDP. In fact, RTP embodies some of the functionality of each TCP and UDP.
TCPas was explained in Chapter 5, “Internet
Protocols Versions,”provides reliable delivery of IP
datagrams and can resequence datagrams received out of order. UDP provides
a more efficient, but unreliable, delivery of IP datagrams. RTP can support
both reliable and unreliable, delivery of datagrams. It can even support both
transport types simultaneously and resequence packets received out of order.
Instead of creating a new transport protocol, the designers of EIGRP
could have used TCP and/or UDP as the transports for EIGRP messages. However,
this would have made EIGRP distinctly IP specific. The designers' goal was
a truly protocol- independent routing protocol that could easily be extended
to support any new routing protocols, such as IPv6, that may be developed in the future. Consequently, a new
transport protocol was needed: RTP. RTP was specifically developed to meet
RTP is used to transport all EIGRP message types through a network. However, not every
EIGRP packet requires reliable delivery! Some functions, such as the exchanging
of hello packets, just don't warrant the overhead of acknowledging receipt.
RTP can deliver hello packets (and other packet types) in an unreliable manner.
RTP can also support both multicasting
and unicasting. Multicast packets are delivered to multiple, specific destinations
simultaneously using a group address. Unicast packets are explicitly addressed
to a single destination. RTP can even support both multicast and unicast transmissions simultaneously for different peers.
The centerpiece of EIGRP's new technologies is DUAL, EIGRP's route-calculation
engine. The full name of EIGRP's engine is DUAL Finite-State Machine. This
engine contains all the logic used to calculate and compare routes in an EIGRP
network. DUAL tracks all the routes advertised by neighbors and uses the composite
metric of each route to compare them. Selected paths must be loop-free paths
and have the lowest cost. Such routes are inserted by the DUAL protocol into
a routing table for use in forwarding datagrams.
Routes selected for insertion in a routing table are also evaluated
on the basis of feasible succession. A feasible successor is a neighbor router that
is the next hop in a least-cost path to any given destination. A feasible
successor is a path that is loop-free according to the DUAL FSM.
As indicated earlier in the chapter, one of the key design principles
guiding the development of EIGRP was complete independence from routed protocols.
Therefore, EIGRP implemented a modular approach to supporting routed protocols.
Many other protocols are either specifically designed for a single routed
protocolsuch as IP, AppleTalk, and so onor have mechanisms for
supporting multiple protocols. EIGRP has such native mechanisms, but they
are completely modular. In theory, EIGRP can be easily retrofitted to support
any new routed protocols that may be developed by just adding another protocol-specific
module is responsible for all functions related to its specific routed protocol.
The IP-EIGRP module is responsible for the following, for example:
Sending and receiving EIGRP packets that bear IP data
Notifying DUAL of new IP routing information that is received
Maintaining the results of DUAL's routing decisions in the
IP routing table
Redistributing routing information that was learned by other
IP-capable routing protocols
IP-EIGRP can redistribute routes learned from other IP-capable routing
protocols, including OSPF, RIP, Integrated Intermediate System-Intermediate System (IS-IS),
Exterior Gateway Protocol (EGP), and Border Gateway Protocol (BGP). EIGRP
has comparable modules for supporting both AppleTalk and IPX. The AppleTalk
module (AT-EIGRP) can redistribute routes learned from the Routing Table Maintenance
Protocol (RTMP). IPX-EIGRP can redistribute routing information from Novell's
proprietary version of RIP as well as that company's Service Advertisement
Protocol (SAP) and Novell Link State Protocol (NLSP).
EIGRP's IP-EIGRP module brought support for many of the updates to IP
that Cisco's IGRP customer base had been clamoring for. Specifically, IP-EIGRP
introduced support for VLSM as well as CIDR. IGRP did not support either of these features.