Overview of EIGRP
Enhanced Interior Gateway Routing Protocol (EIGRP) or Enhanced IGRP is a Cisco proprietary routing protocol utilizing the Diffusing Update Algorithm (DUAL). The DUAL algorithim was invented by Dr. J.J. Garcia-Luna Aceves of SRI International as an improvement to the IGRP routing protocol. EIGRP was designed to be interoperable with standard IGRP. EIGRP is a hybrid protocol as it incorporates features of a Distance Vector routing protocol and features of a Link State routing protocol. EIGRP is often used in Cisco-based networks running multiple network-layer protocols.
EIGRP can redistribute its routes (and metrics) intoother routing protocols and accepts redistribution from other routing protocols as well.
EIGRP Features
- Hybrid Distance Vector/Link State algorithm
 - Supports VLSM (subnets/supernets)
 - Integrates seamlessly with IGRP
- Automatic Redistribution of Routes (IGRP <-> EIGRP)
 - EIGRP metrics are 256 times the IGRP metric and therefore 'directly translatable'
 
 - Fast convergence
 - Performs Partial Updates as needed
 - Consumes less bandwidth (no broadcasts, no periodic updates, updates contain only changes)
 - Supports multiple network layer protocols
- Appletalk
 - Internet Protocol (IP)
 - Novell Netware (IPX/SPX)
 
 
EIGRP Operation
- Four EIGRP Components
- Neighbor Discovery/Recovery
 - Dynamically find other routers running IGRP/EIGRP
 - Dynamically forms neighbor relationships
 - Discover neighbor state (unreachable or inoperative) - Uses HELLO packets
 - Reliable Transport Protocol - Utilizes Reliable Transport Protocol (RTP) for delivery of EIGRP packets.
 - DUAL Finite State Machine
 - Protocol Dependant Modules
 
 - EIGRP tracks all routes advertised by all neighbors (feasible successor routes)
- Selects best path
 - Selects a feasible successor route
- CISCO.COM: A feasible successor is a neighboring router used for packet forwarding that is a least-cost path to a destination that is guaranteed not to be part of a routing loop
 
 - If no feasible successor exists,
- queries are sent out to the network
 - Diffusing computation is performed to select another feasible route
 - Diffusing computation is not processor intensive (but affects convergence time
 
 
 - Maintains a copy of each neighbor's route table.
 - Sends updates only when changes in the metrics occur
 - Sends only the changes
 - Sends changes only to neighbors that need the information (no broadcasts)
 - Can redistribute routes from RTMP, OSPF, RIP, IPX RIP/SAP, IS-IS, EGP and BGP
 - Routing
- Administrative Distance for EIGRP
- Summary Routes [5]
 - Internal Routes [90]
 - External Routes [170]
 
 - Neighbor Tables
- Neighbors recorded (IP and interface of neighbor)
 - One neighbor table for each network protocol
 - Neighbors send hold time in HELLO packet
 - Hello packet contains hold down time
 - If neighbor is not heard from within the hold down time, topology table is changed via DUAL
 - Contains RTP information (Sequence Number, transmission list of packets, round trip timers optimize retransmission interval).
 
 - Topology Tables
- Contains all destinations advertised by all neighboring routers
 - Each topology table entry contains:
- destination address
 - list of neighbors used to reach the destination
 - for each neighbor store the advertised metric for each destination
 - Best Path = sum of best advertised metric from all neighbors and the link cost to the best neighbo
 
 
 - Feasible Successors
- Route(s) inserted by EIGRP into the routing table will have the best metric of all the routes in the table.
 - Any route to a destination whose metric is less than the current entry or entries in the routing table is a feasible successor.
 - When the current route enters the 'active' state, the feasible successor is inserted in the routing table.
 - The list of feasible successors may have to be re-evaluated if a neighbor sends a topology change or updates the metric to a destination.
 - If a neighbor who is the only feasible successor to a destination goes down, all of the neighbor's routes enter the active state and trigger route recomputation.
 
 - Route States (two states)
- Active - recomputation is being performed
 - Passive - no recomputation going on
 - If feasible successors are always available, a destination never goes into the active state.
 - Recomputation occurs when no feasible successor route exists
 - If a neighbor who is the only feasible successor to a destination goes down, all of the neighbor's routes enter the active state and trigger route recomputation.
 - Recomputation Process
- Send a query packet to all neighboring routers
 - Neighbor sends
- a reply that it has a feasible successor, or
 - a query packet to indicate it is partcipating in the recomputation
 
 - Routes in the active state cannot have their routing table information changed
 - Once all neighbors have replied the topology table entry for the destination returns to the pasive state and the router may then select a feasible successor.
 
 
 - Route Tagging
- Internal routes come from neighbors with the same (E)IGRP AS number or from directly attached interfaces over which IGRP or EIGRP runs.
 - External routes come from other routing protocols or from static routes and are tagged with the following information:
- Router ID of the router that distributed the route
 - AS number of the destination
 - Configurable administrator tag
 - ID of the external protocol
 - Metric from the external protocol
 - Bit flags for default routing
 
 
 
 - Administrative Distance for EIGRP
 
EIGRP Message Types
| Type | Transmit | Sent | Function | 
Hello 
 | Multicast | Hello messages are used for neighbor discovery and neighbor recovery. If a hello message is not received within the configured interval, all neighbor entries are removed from the routing table and feasible successor routes re utilized. | |
| Unicast | Reliably | Hello messages are also used to acknowledge receipt of information. Zero byte acknowledgement (with ACK number) | |
Updates 
 | Unicast | Reliably | Neighbor discovery | 
| Multicast | Reliably | Link cost or metric change updates | |
| Queries | Multicast | Reliably | Sent when one or more destinations enter the active state. | 
| Replies | Unicast | Reliably | Sent to originator of a query. | 
| Requests | Multicast or Unicast | Unreliably | Request specific information from neighbors | 
EIGRP Configuration
Basic EIGRP router configuration (Cisco)
router(config)# router eigrp <AS number>  | Enable EIGRP routing and set the Autonomous System number. | 
router(config-router)# network 192.168.0.0 0.0.255.255  | Configure the directly connected networks that will be advertised. | 
EIGRP Troubleshooting
show ip eigrp topology  | Shows only feasible successor routes | 
show ip eigrp topology <network>  | Shows all entries in the topology table for the given destination network. | 
show ip eigrp topology all-links  | Shows all entries in the topology table | 
show ip eigrp topology [active | pending | zero successors ]
             
 | Show destinations that are in the active or pending states or have zero successors. |