What is Enhanced Interior Gateway Routing Protocol EIGRP
Enhanced Interior Gateway Routing Protocol (EIGRP) is a hybrid protocol that incorporates features from both Distance Vector Protocol and Link State routing protocol. Here are some of the key characteristics of the EIGRP Protocol:
- DUAL Algorithm: EIGRP utilizes the Diffusing Update Algorithm (DUAL) to choose the best path among all possible routes, ensuring loop avoidance.
- Adjacency Relationship: EIGRP forms adjacency relationships with neighboring routers within the same Autonomous System (AS).
- Multicast and Unicast Communication: EIGRP sends unicast and multicast packets on address 224.0.0.10.
- Reliable Transfer Protocol: This protocol is used to ensure the delivery of EIGRP packets.
- Non-periodic Updates: EIGRP does not send periodic updates of the full routing table.
- Classless Protocol: EIGRP supports VLSMs (Variable Length Subnet Masks) and is classless.
- Protocol Support: EIGRP supports IP (IP address) and IPX.
- Administrative Distance: The administrative distance is 90 within the AS for internal routes and 170 outside the AS for external routes.
- Distance Metric Calculation: EIGRP uses parameters such as Bandwidth, Delay of the line, Reliability, Load, and MTU to calculate the distance metric.
- Hop Count: The maximum hop count for EIGRP is 224, with the default set to 100.
EIGRP builds three routing tables:
- Neighbor Table: Lists all connected neighbor routers.
- Topology Table: Lists all links/routes within the AS.
- Routing Table: Contains the best feasible path for the network.
Building the EIGRP Neighbors Table
When EIGRP sets up relationships between neighbors, it is called forming adjacencies within the same Autonomous System. After forming adjacencies, EIGRP sends hello packets to share routing information, which is sent to the multicast address 224.0.0.10. By default, on LAN and WAN, EIGRP sends packets every 5 seconds. On slower links, EIGRP sends packets every 60 seconds.
The hello timer can be adjusted on a per-interface basis:
Router(config-if)# ip hello-interval eigrp 10 7
In this command, 7 is the timer, and 10 is the autonomous system number. By default, the hold timer is three times the hello timer. On LAN and WAN, the hold timer will be 15 seconds, and on slower links, it will be 180 seconds. The hold timer can also be adjusted on the interface:
Router(config-if)# ip hold-timer eigrp 10 21
In this command, 10 is the autonomous system number, and 21 is the hold timer.
The EIGRP hello packet contains the following elements:
- Neighboring IP address
- Local neighboring interface information
- Hold timer
- Sequence number for acknowledgment of learned neighbors
Building the EIGRP Topology Table
After forming the neighboring table, routers share routing information with neighboring routers, including the list of all routes and their respective distance metrics. All these routes are added to the topology table, and the route with the lowest metric becomes the Feasible Distance (FD) to reach the destination router. The feasible distance is determined by the advertised distance of each router.
For example:
- Router B has a feasible distance of 8 to reach destination router H.
- Router C has a feasible distance of 23 to reach destination router H.
- Router D has a feasible distance of 9 to reach destination router H.
Router A calculates the advertised distance of each router and includes its own metric. Thus, Router B has a feasible distance of 16, and Router D, with the lowest feasible distance of 11, wins the election and becomes the successor. The backup route with a lower FD, Router B, becomes the feasible successor, providing redundancy to the EIGRP protocol.
Also Learn : What is RIP (Routing Information Protocol) in Networks? Explained With Router Configurations Guide
EIGRP Packet Types
EIGRP has five types of packets:
- Hello Packets: Used to establish neighboring relationships.
- Update Packets: Used to update the topology table with all link details.
- Query Packets: Sent by the router when the successor fails and no feasible successor is available; the route is placed in an active state.
- Reply Packets: Used to respond to query packets, confirming that a feasible successor is available. This is ensured by acknowledgment packets, guaranteeing delivery via Reliable Transport Protocol (RTP).
The EIGRP Route States
There are two states for EIGRP routes:
- Active State: The route is active, waiting for query packets if no successors or feasible successors are available.
- Passive State: Indicates that EIGRP has fully converged, with the successor and feasible successor available, representing a stable EIGRP network.
If the router sends query packets but does not receive reply packets, it goes into a stuck-in-active (SIA) state within three minutes.
To view the current state of the EIGRP topology table:
Router# show ip eigrp topology
To view active routes in the topology table:
Router# show ip eigrp topology active
EIGRP Metrics
EIGRP uses five separate metrics to determine the best route:
- Bandwidth (K1): Slowest link measured in kilobits.
- Load (K2): Cumulative load of all outgoing interfaces in the path, measured as a fraction of 255.
- Delay of the Line (K3): Cumulative delay of all outgoing interfaces.
- Reliability (K4): Average reliability of all outgoing interfaces.
- MTU (K5): Smallest MTU (Maximum Transmission Unit) in the path.
By default, only bandwidth and delay of the line are used. The formula is as follows:
Metric=[10000000/bandwidth+delay]∗256
Configuring EIGRP Metrics
EIGRP allows identifying which metrics to consider:
Router(Config)# router eigrp 10
Router(config-router)# metric weights 0 1 1 1 0 0
In this configuration, the first command enables EIGRP with the autonomous system 10. The first 0 represents the type of service, which is always zero. K1 (1), K2 (1), K3 (1), K4 (0), K5 (0) indicate that bandwidth, load, and delay are used to calculate the metric, while reliability and MTU are not considered.
The formula to calculate the metric is:
Metric=[K1∗bandwidth∗256+(K2∗bandwidth)/(256−load)+K3∗delay∗256]
Basic EIGRP (Enhanced Interior Gateway Routing Protocol) Configuration
EIGRP configuration occurs in global configuration mode.
For example,
Configure Router A:
RouterA(config)# router eigrp 10
RouterA(config-router)# network 172.16.0.0
RouterA(config-router)# network 10.0.0.0
EIGRP Auto-Summarization
Although EIGRP is a classless protocol and supports VLSMs, it will automatically summarize routes when crossing boundaries. This is active by default on Cisco routers. To disable auto-summarization:
RouterA(config)# router eigrp 10
RouterA(config-router)# no auto-summary
EIGRP Authentication
EIGRP supports authentication to secure routing updates. These configurations must be identical on both sides of the routers:
RouterA(config)# key chain hashaam
RouterA(config-keychain)# key 1
RouterA(config-keychain)# key-string Password
RouterB(config)# key chain hashaam
RouterB(config-keychain)# key 1
RouterB(config-keychain)# key-string Password
The first command creates the key chain, the second command associates a key with the key chain, and the third command shares the key using the key-string command. Now apply these configurations on the interface that connects to the other router:
RouterA(config)# interface s0
RouterA(config-if)# ip authentication key-chain eigrp 10 hashaam
RouterB(config)# interface s0
RouterB(config-if)# ip authentication key-chain eigrp 10 hashaam
Finally, apply the following command for encryption, which supports MD5 encryption:
RouterA(config)# interface s0
RouterA(config-if)# ip authentication mode eigrp 10 md5
EIGRP Load-Balancing
By default, EIGRP load balances traffic if the metrics of both links are the same. If the metrics are different but load balancing is desired, the variance command must be configured:
RouterA(config)# router eigrp 10
RouterA(config-router)# variance 2
RouterA(config-router)# maximum-paths 6
EIGRP Stubs
To understand the stub scenario with a hub and spoke example, consider the following:
If Router C fails, Router A will wait for the query. If no other route exists for the 10.2.0.0/16 network, repeated queries will waste bandwidth and resources. Additionally, To eliminate this issue, configure the stub to build adjacency with the neighbor router and quickly respond to query packets for the availability of an alternate route.
Configuration of EIGRP router as stub
RouterB(config)# router eigrp 10
RouterB(config-router)# eigrp stub connected
EIGRP (Enhanced Interior Gateway Routing Protocol) Stub has four parameters
- Receive only
- Connected
- Static
- Summary
Pingback: What is OSPF (Open Shortest Path First) Routing Protocol | Best Explained with Design & Configurations Guide 2024