EIGRP is a fairly information-intensive
routing protocol; it must keep track of the current state (or nearly
current state) of many different facets of the network. This information
is organized into collections of related information, which are stored in
tables. EIGRP maintains the currency of these tables via a series of
specialized packet types. Each packet type is used for a specific
function. This section examines the basic functionality and use of each of
the EIGRP tables.
EIGRP uses many different tables, each dedicated to
organizing and storing data pertinent to a specific facet of the network.
The proprietary nature of EIGRP precludes an exhaustive survey of these
tables as well as their structures. It is possible, however, to examine
the role of some of the more important EIGRP tables, including the
following:
- The neighbor table
- The routing table
- The topology table
There are other tables, but these three should
adequately convey the bulk of EIGRP internal mechanics.
The Neighbor Table
The single most important table in EIGRP is the neighbor
table. The neighbor relationships tracked in this table are the basis for
all of the EIGRP routing update and convergence activity.
The neighbor table tracks state information about
adjacent neighboring EIGRP nodes.
Whenever a new neighbor is discovered,
the address of that neighbor and the interface used to reach it are
recorded in a new entry in the neighbor table. Actually, an EIGRP router
may contain several neighbor tables because one is required for each
protocol- dependent module. Therefore, a network that runs both AppleTalk
and IP would have two different neighbor tables. A separate EIGRP process
would have to be configured for each routed protocol used in the network.
Additionally, a neighbor table is used to support
reliable, sequenced delivery of packets. One field in each row of the
table is populated with the last sequence number of the packet received
from that neighbor. EIGRP uses this field for two purposes:
- Sequence numbers are used to acknowledge specific
packets that were delivered reliably. Acknowledgments are transmitted
bearing the sequence number of the packet of which they are
acknowledging receipt, enabling the router that receives the
acknowledgment to know which packet is being acknowledged.
- This field can also alert EIGRP to packets being
received out of sequence.
For both of these reasons, EIGRP records the sequence
number of the last message received from each specific neighbor.
The Routing Table
The routing table contains the lowest-metric routes that
DUAL calculated for all known destinations.
The routing table can contain
up to six routes to each destination. Whenever a router detects a change
in a routing table entry, it must notify its neighbors of that change.
These neighbors must then determine the impact that change has on their
routes.
A separate routing table is maintained for each routed
protocol that EIGRP is configured to support. Thus, if you are
simultaneously running IP and AppleTalk, your EIGRP routers will each have
two routing tables—one for each routed protocol.
The Topology Table
EIGRP uses its topology table to store all the
information it needs to calculate a set of distances, and vectors, to all
known and reachable destinations.
This information includes the following
fields:
The bandwidth
of the slowest interface in the path to a destination effectively limits
the performance of the route and is used to calculate the route
composite metric. This metric is calculated the same way in both IGRP
and EIGRP.
Total delay --- This field
contains the sum total of delay values in that route. This sum is
calculated the same way as IGRP.
Reliability --- The reliability
of the path is also recorded in the topology table. This metric is
identical to the IGRP reliability metric.
Load --- The load level of the
path is another of the IGRP metrics that has been retained by EIGRP.
MTU --- This field contains the
size of the smallest maximum transmission unit (MTU) supported by the
router interfaces in the path. As the least-common MTU, datagrams
exceeding this value will be fragmented en route to their destination.
Therefore, EIGRP attempts to notify all routers, in advance, of the
maximum MTU on each path to a given destination.
Reported distance --- The
reported distance of the path is the distance reported by an adjacent
neighbor to a specific destination. This metric does not include the
distance between this router and the adjacent neighbor.
Feasible distance --- The
feasible distance is the lowest calculated metric to each destination.
Route source --- The source of
the route is the identification number of the router that originally
advertised that route. This field is populated only for routes learned
externally from the EIGRP network. Route tagging can be particularly
useful with policy-based routing. For more information on EIGRP route
tagging capabilities, refer to the section "Route Tagging with EIGRP"
later in this chapter.
Also recorded for each entry is the interface through
which this destination is reachable. The topology table is sorted.
Successors are at the top, followed immediately by feasible successors.
EIGRP even stores routes that DUAL believes to be loops in the topology
table. These routes are at the bottom of the topology table. You can see
the entire contents of the EIGRP topology table by executing the following
command:
A separate topology table is maintained for each
protocol-dependent module being used by EIGRP. The information contained
in a topology table is used as input to the DUAL finite-state machine.
Entries in a topology table can be in one of two states:
active or passive. These states identify the status of the route indicated
by the entry rather than the status of the entry itself. A passive route
is one that is stable and available for use.
An active route is one currently being recomputed. Recomputation
is the process of recalculating routes in search of new successors. This
process isn't necessarily processor intensive, but it can be time
intensive. Consequently, extensive recomputation can exacerbate
convergence times in an EIGRP network. Recomputation is a rather
resource-intensive measure. Therefore, in the event of a topology change,
DUAL is designed to use any and all available feasible successors before
recomputing. A recomputation will occur only if there are no successors or
feasible successors to a route.