Cisco’s Enhanced Interior Gateway Routing Protocol (EIGRP)
EIGRP uses some concepts from IGRP such as a composite metric, protocol domain, AS numbers, un-equal cost load balancing, but it is a very different protocol.
One of the major differences is the routing algorithm used. IGRP (and other distance vector protocols) use the Bellman Ford algorithm. EIGRP uses the Diffusing Computations, based on the Diffusing Update Algorithm (DUAL). Distributed route calculation is performed in a coordinated approach among several routers to attain rapid convergence, while being loop free at every instant.
EIGRP updates are vectors of distances send out to adjacent neighbors. Updates are: Bounded, Non-Periodic and Partial. Bounded means that the update is send to only affected neighbors. Non-Periodic means that updates are send in case of a topology change. Partial means only affected routes are advertise, not the full routing table.
EIGRP uses IP Protocol number 89.
Components of EIGRP
EIGRP has four components:
1. Protocol Dependent Module
2. Reliable Transport Protocol
3. Neighbor Discovery/Recovery
4. Diffusing Update Algorithm (DUAL)
Protocol Dependent Module (PDM)
EIGRP emerged from IGRP, therefore, support for IPX and AppleTalk are still there. The PDM is responsible for protocol-specific routing. For example: AppleTalk EIGRP is responsible for exchanging route information about AppleTalk network with other AppleTalk EIGRP processes and passing the information to the DUAL.
Reliable Transport Protocol (RTP)
RTP is responsible for delivery and reception of EIGRP messages. Reliable as the name suggest, the packet delivery will be guaranteed and in-order. EIGRP uses a propriety algorithm known as Reliable Multicast with a reserved class D address: 22.214.171.124. The acknowledgement is then unicast to neighbors. Ordered delivery is guaranteed with sequence numbers.
Neighbor Discovery and Tracking
Remember that updates are non-periodic, so there must be some mechanism to track the neighbor an in-case of new adjacency, how a node will announce itself or discover a new neighbor? EIGRP implement a hello protocol; hello packet are multicast to reserved class D address 126.96.36.199 every 5-seconds (by-default) on multi-access network. Hellos are usually unacknowledged.
DUAL is diffusing computation algorithm published by Dr. J. J. Garcia. There are lots details however the following concepts are essential to EIGRP.
Adjacency: logical session between two neighbors over which route information is exchanged
Feasible Distance (FD): Lowest-Cost = Lowest FD. Lowest calculated distance to each destination. Cost from local router = AD of next-hop + cost b/w local router and next-hop router.
Reported/Advertised Distance (AD or RD): is the distance (metric) towards a destination as advertised by an upstream neighbor.
Feasible Condition (FC): AD/RD of neighbor must be less than FD of current successor route. That is: RD/AD (feasible successor) < FD (current successor). If a neighbor’s metric is less than that of a router then the router knows that the neighbor doesn't have a loop going through itself.
Successor: A (Current) Successor is a neighboring router that is currently being used for packet forwarding, provides the least-cost route to the destination, and is not part of a routing loop. With two or more successors (routes) if FDs are the same, load balancing happens automatically.
Feasible Successor (FS): Backup router with loop-free path. FS is a neighbor who’s Reported or Advertised Distance (AD/RD) is less than the current Feasible Distance (FD). Feasible Successor is one who meets the feasible condition (FC).
Now let us look at some configuration examples. Consider figure-1 for details. R1 and R2 are advertising loopbacks 188.8.131.52/32 and 184.108.40.206/32.
FIGURE-1: EIGRP Basic Configuration Example
Step-1: configure terminal
Step-2: router eigrp
Step-3: eigrp router-id
Step-3: network |