Enhanced Interior Gateway Routing Protocol (EIGRP) is an enhanced version of the now obsolete IGRP. EIGRP is Cisco proprietary which means it is available only on Cisco routers and switches.
EIGRP employs an algorithm referred to as the Diffusing Update Algorithm (DUAL) which guarantees fast convergence and loop-free operation at all times. It is an Interior Gateway Protocol (IGP) designed for routing within an administrative domain or autonomous system (AS).
EIGRP provides the following features:
- Fast convergence: The DUAL algorithm enables all EIGRP routers to quickly update and synchronize their routing information following a topology change.
- VLSM support: Variable-length subnet masks (VLSMs) are supported.
- Partial updates: EIGRP only sends incremental updates when topology changes rather than sending the contents of entire routing table. This features reduces the bandwidth required for EIGRP packets.
- Scaling: EIGRP can easily support large networks thanks to its large 32 bit metric.
EIGRP protocol operation is pretty complex but that complexity is handled by the Cisco IOS Software behind the stage.
EIGRP configuration is pretty straightforward itself as we are going to see first hand in the next couple of pages.
Let’s get our hands dirty with configuring EIGRP in our autonomous system (AS) 100 as shown in the figure below.
We will not go into the details of IP address configuration and assume that all IP addresses have been pre-configured on all interfaces including the Loopback interfaces as shown in the figure.
Figure 1 Configuring EIGRP
The router eigrp command entered in global configuration mode with autonomous-system-number argument creates an EIGRP routing instance. It is the first step in configuring EIGRP on a router as done here on R1:
R1>enable
R1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#router eigrp 100
R1(config-router)#no auto-summary
R1(config-router)#
As you may have noticed, we moved from global configuration mode to router configuration mode as indicated by changed prompt. The command no auto-summary is needed to disable automatic route summarization at boundaries of classful networks.
The next step in configuring EIGRP is to specify which router interfaces are included in EIGRP using the network command.
The router would send EIGRP messages and try to establish adjacencies with other EIGRP speaking routers off these interfaces.
We will enable EIGRP on Fa0/0 and S0/0 on R1 and you should carefully note the inverse mask used with the network command:
R1(config-router)#network 172.16.13.0 0.0.0.255
R1(config-router)#network 192.168.12.0 0.0.0.3
R1(config-router)#end
R1#
And that completes our EIGRP configuration on R1. We will proceed with configuring EIGRP on R2 and R3 following the same pattern, also enabling EIGRP on Loopback0 interfaces:
R2>enable
R2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#router eigrp 100
R2(config-router)#no auto-summary
R2(config-router)#network 192.168.12.0 0.0.0.3
R2(config-router)#network 10.10.2.0 0.0.0.255
R2(config-router)#end
R3>enable
R3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#router eigrp 100
R2(config-router)#no auto-summary
R3(config-router)#network 172.16.13.0 0.0.0.255
R3(config-router)#network 10.10.3.0 0.0.0.255
R3(config-router)#end
That completes our EIGRP configuration on R1, R2, and R3 and its time to verify if our configuration works as expected. If we configured EIGRP correctly R1 should have established EIGRP adjacencies with both R2 and R3. Let’s see if that’s the case:
R1#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 172.16.13.3 Fa0/0 13 00:14:23 43 258 0 7
0 192.168.12.2 Se0/0 13 00:15:36 38 228 0 5
R1#
You can see two neighbors 172.16.13.3 and 192.168.12.2 which happen to be the IP addresses of interfaces of R3 and R2 directly connected to R1.
This shows R1 has successfully established EIGRP adjacencies with both R2 and R3. We can probably hope that some routing information exchange may also have taken place by now.
Remember that we also enabled EIGRP on Looback0 interfaces on both R2 and R3. If in doubt, go back and look at the provided configuration for R2 and R3.
If EIGRP has indeed completed its exchange of routing information or in other words if EIGRP has fully converged, R2 should have routing information about Loopback0 network of R3, that is, 10.10.3.0/24.
This can be verified by examining the routing table on R2:
R2#show ip route
<Some output omitted for brevity>
Gateway of last resort is not set
192.168.12.0/30 is subnetted, 1 subnets
C 192.168.12.0 is directly connected, Serial0/0
172.16.0.0/24 is subnetted, 1 subnets
D 172.16.13.0 [90/2195456] via 192.168.12.1, 00:00:35, Serial0/0
10.0.0.0/24 is subnetted, 2 subnets
C 10.10.2.0 is directly connected, Loopback0
D 10.10.3.0 [90/2323456] via 192.168.12.1, 00:00:17, Serial0/0
R2 indeed knows about 10.10.3.0/24 network. So, let’s now seal the deal by pinging Loopback0 of R3 from R2 confirming end-to-end connectivity.
R2#ping 10.10.3.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/55/136 ms
How EIGRP Works
The protocol uses three tables to store network information
- neighbor table
- topology table
- routing table
The first is the neighbor table. This table has information about the neighbor routers which are directly connected.
Next it stores data in the topology table. The topology table will not, as the name suggests, store data about the entire network topology but rather it has the aggregated information about routing tables which are taken from all the directly linked neighbors.
The topology table will contain all the destination networks included in the network along with their metrics respectively.
All destinations in the topology table will have a successor along with its feasible successor if they are available. The successor and feasible successor will serve as the next hop router for destination networks.
Moreover, each destination can be shown as either Passive or Active. A destination is in the Passive state when the other routers know about a way to reach this destination.
When a destination route is in the Active state it means that a topology change has just occurred for that particular destination network. The router now actively updates the routes for that particular destination.
There is also the routing table. In the routing table all the real routes to destinations are stored. This table is created by data coming out of the topology table and includes all the destinations and also the successor and feasible successor to those destinations.
By running the command “show ip route” you basically instruct the router to display all the routes in its routing table.
Related Posts
- EIGRP Variance and Unequal Cost Load Balancing in Networking
- Comparison of Reported Distance vs Feasible Distance in EIGRP
- Explanation and Comparison of OSPF E1 vs E2 Routes
- Discussion and Explanation of OSPF Graceful Restart and Shutdown
- Explanation and Configuration of OSPF MD5 Authentication on Cisco Networks