- Overview of Enhanced Internal Gateway Routing Protocol (EIGRP)
- EIGRP Features
- EIGRP Operation
- EIGRP Message Types
- EIGRP Configuration Commands
- EIGRP Troubleshooting commands
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. |