EIGRP is a Cisco-proprietary hybrid routing protocol that contains features of distance-vector and link-state routing protocols. Some of its features are:
i) Rapid convergence. EIGRP uses the Diffusing Update Algorithm (DUAL) to achieve rapid convergence. DUAL not only calculates the best loop-free routes, but also calculates backup routes in advanced before they are actually being needed. An EIGRP router stores all available backup routes for fast react upon network topology changes. If no backup route exists in the routing table, an EIGRP router will query its neighbors until an alternative route is found.
ii) Reduced bandwidth usage. EIGRP does not send periodic updates as with DV protocols. It sends partial updates upon the route information changes (eg: path, metric). Additionally, the update is propagated only to routers that require it, instead of all routers within an area as with LS routing protocols.
iii) Multiple routed protocols support. EIGRP has been extended from IGRP to be network-layer independent. It supports IP, IPX, and AppleTalk with protocol-dependent modules (PDMs), which are responsible for protocol requirements specific to the corresponding routed protocols. EIGRP offers superior performance and stability when implemented in IPX and AppleTalk networks. EIGRP maintains a neighbor table, a topology table, and a routing table for each running routed protocols (PDMs).
iv) Support all LAN and WAN data link protocols and topologies. EIGRP does not require special configuration across any L2 protocols. OSPF requires different configurations for different L2 protocols, eg: Ethernet and Frame Relay. EIGRP was designed to operate effectively in both LAN and WAN environments. EIGRP supports all multi-access networks, eg: Ethernet, Token Ring, FDDI, and all WAN topologies – leased lines, point-to-point links, and non-broadcast multiaccess (NBMA) topologies, eg: X.25, SMDS, ATM, and Frame Relay.
EIGRP has its roots as a distance-vector routing protocol (EIGRP is based on IGRP). It is considered an advanced DV routing protocol with traditional DV features, eg: autosummarization, easy configuration; and LS features, eg: dynamic neighbor discovery. Another distance-vector rule is that if a neighbor is advertising a destination, it must also be using that route to forward packets to the particular destination.
EIGRP (Enhanced IGRP) provides many enhancement features over IGRP, a traditional DV routing protocol, mainly in convergence properties and operating efficiency. Traditional DV routing protocols send periodic full routing updates, which consume unnecessary bandwidth.
EIGRP utilizes multicasts and unicasts only; broadcasts are not being used. As a result, end systems will not affected by the routing updates and queries.
EIGRP is a transport layer protocol that relies on IP packets to deliver its routing information. EIGRP packets are encapsulated in IP packets with the Protocol Number field value 88 (0x58) in the IP header. Some EIGRP packets are sent as multicasts (destination IP address 184.108.40.206), while others are sent as unicasts.
A significant advantage of EIGRP (and IGRP) over other routing protocols is the support for unequal-cost load balancing.
EIGRP performs autosummarization by default, but this behavior can be disabled with the no auto-summary router subcommand.
Neighbor table lists the directly connected adjacent EIGRP routers to ensure bidirectional communication with the neighbors. It is similar to the neighborship database in LS routing protocols. It maintains information such as address, hold time, and interface which an adjacent router connected to. An EIGRP router keeps a neighbor table for each running routed protocol. EIGRP routers must form neighbor relationships before exchanging EIGRP updates.
Topology table maintains all advertised routes to all destinations, along with the advertising neighbors and advertised metric for each destination. The term “topology table” is confusingly named, as it does not actually store the complete network topology, but rather the routing tables from the directly connected neighbors. All successors and feasible successors to all destinations will be maintained in this table.
The best routes to a destination will be selected from the EIGRP topology table and placed into the routing table. An EIGRP router maintains 1 routing table for each running routed protocol. It contains all best routes selected from the EIGRP topology table and other routing processes. Successors and feasible successors (when unequal-cost load balancing is enabled with the variance router subcommand) will be selected from the topology table and stored in this table.
The show ip eigrp neighbors, show ip eigrp topology, and show ip route EXEC commands display the EIGRP neighbor table, EIGRP topology table, and routing table.
Successor is the lowest-metric best path to reach a destination. EIGRP successor routes will be placed into the routing table.
Feasible Successor (FS) is the best alternative loop-free backup path to reach a destination. Because it is not the least-cost or lowest-metric path, therefore it is not being selected as the primary path to forward packets and not being inserted into the routing table. Feasible successors are important as they allow an EIGRP router to recover immediately upon network failures and hence reduce the number of DUAL computations and therefore increase performance. The convergence time upon a successor failure with a feasible successor exists is in the range of 2 to 4 seconds (1 ping drop). Feasible successor routes are maintained in the topology table only.
EIGRP routers use the following procedures to populate their routing tables:
i) Each router advertises its IP routing table to all adjacent neighbors in the neighbor table.
ii) Each router stores the routing tables of the adjacent neighbors in the topology table.
iii) Each router examines its topology database to determine the successor and feasible successor routes to every destination network.
iv) The best route to a destination network as selected from the EIGRP topology table or other routing processes is inserted into the routing table