This tutorial explains how to configure the EIGRP routing protocol on Cisco routers. Learn EIGRP configuration and commands via a packet tracer example.
EIGRP is a Cisco proprietary routing protocol. It is one of the most popular and widely used routing protocols. It is a complex routing protocol, but it provides many benefits and supports all sizes and types of networks.
Configuring EIGRP on routers
EIGRP configuration is straightforward. It is a two-step process. In the first step, we enable EIGRP. In the second step, we provide the required details to the EIGRP. Let’s discuss both steps in detail.
Enabling EIGRP
To enable EIGRP, we use the following command in global configuration mode.
Router(config)# router eigrp AS_number
The above command enables EIGRP and puts us in EIGRP configuration mode. It needs only one parameter, an AS (Autonomous System) number. EIGRP uses an AS number to create a group of routers that can share routing information. You can choose any number from the range 1 to 65535 as an AS number. After selecting a number, you have to use the same number on all routers. If two routers belong to different AS, they will not share routing information.
To learn more about the AS number, you can check the following tutorial.
Customizing EIGRP
In EIGRP configuration mode, we use the following command to include the network in the EIGRP operation.
Router(config-router)# network network_address [wildcard_mask]
The above command needs two parameters: a network address and wildcard mask of the network. The network address is the network ID of the subnet that you want to include in the EIGRP operation. The wildcard mask is the range of addresses that you want to include in the operation.
To calculate the wildcard mask, subtract the subnet mask from 255.255.255.255. The following table lists some examples of this calculation.
Subtract from | 255.255.255.255 | 255.255.255.255 | 255.255.255.255 | 255.255.255.255 |
Subnet mask | 255.255.0.0 | 255.255.255.252 | 255.128.0.0 | 255.0.0.0 |
Wildcard mask | 0.0.255.255 | 0.0.0.3 | 0.127.255.255 | 0.255.255.255 |
Each time this command will add only one network. To add more networks, you can use the same command again and again. For example, if you want to add three networks, you have to use this command three times.
EIGRP configuration packet tracer example
Either build a packet tracer lab as shown in the following image or download the pre-built lab from the following link.
Packet Tracer Lab for EIGRP configuration
Router0
The following commands configure and enable EIGRP on Router0.
Router(config)#router eigrp 20 Router(config-router)#network 10.0.0.0 0.0.0.255 Router(config-router)#network 192.168.1.244 0.0.0.3 Router(config-router)#network 192.168.1.0 0.0.0.3
Let’s discuss the above commands in detail.
The first command enables EIGRP with the AS number 20. Since we used the AS number 20 on this router, this router will share routing information only with the routers that belong to the AS number 20.
The second command adds the network 10.0.0.0 255.0.0.0 to the EIGRP operation. The subnet mask of the network 10.0.0.0/8 is 255.0.0.0. To calculate the wildcard mask for this subnet mask, we subtracted if from 255.255.255.255.
255 .255 .255 .255 – 255 .0 .0 .0 ----------------------- 0 .255 .255 .255 -----------------------
When we add a network, EIGRP checks the IP configuration of all interfaces and enables EIGRP operation on the matching interfaces. Since the IP configuration of the interface F0/0 belongs to the network 10.0.0.0/8, EIGRP enables EIGRP operation on the interface F0/0.
In network diagrams, we normally use slash notation to write the subnet mask. In slash notation, the subnet mask 255.0.0.0 is written as /8 and the subnet mask 255.255.255.252 is written as /30.
The third command adds the network 192.168.1.244 255.255.255.252 (/30) to the EIGRP operation. Since this network is configured on the Serial interface S0/0/0, EIGRP enables EIGRP operation on the Serial interface S0/0/0.
The fourth command adds the network 192.168.1.0 255.255.255.252 (/30) to the EIGRP operation. This network is configured on the F0/1 interface. Thus, EIGRP enables the EIGRP operation on the F0/1 interface.
Using the same commands in the same pattern, we can configure and enable EIGRP on the rest of the routers.
Router1
Router(config)#router eigrp 20 Router(config-router)#network 192.168.1.244 0.0.0.3 Router(config-router)#network 192.168.1.248 0.0.0.3 Router(config-router)#
Router2
Router(config)#router eigrp 20 Router(config-router)#network 192.168.1.248 0.0.0.3 Router(config-router)#network 192.168.1.252 0.0.0.3 Router(config-router)#
Router3
Router(config)#router eigrp 20 Router(config-router)#network 192.168.1.8 0.0.0.3 Router(config-router)#network 192.168.1.4 0.0.0.3 Router(config-router)#
Router4
Router(config)#router eigrp 20 Router(config-router)#network 192.168.1.4 0.0.0.3 Router(config-router)#network 192.168.1.0 0.0.0.3 Router(config-router)#
Router5
Router(config)#router eigrp 20 Router(config-router)#network 20.0.0.0 0.255.255.255 Router(config-router)#network 192.168.1.252 0.0.0.3 Router(config-router)#network 192.168.1.8 0.0.0.3 Router(config-router)#
The following image shows how to run the above commands on routers.
Verifying EIGRP configuration
You can verify EIGRP configuration in two ways: -
- by testing end-to-end connectivity
- by listing EIGRP routes on the router
Let’s discuss both methods.
Testing end-to-end connectivity
To test connectivity between two devices, we use the ping command. This command sends dummy data packets to the destination device and tracks the response. If it receives replies from the destination device, it lists the replies on the console. A successful reply verifies that the source and the destination have proper connectivity.
We can also use the tracert command. This command also sends dummy data packets to the destination device, but instead of tracking the response, it monitors the path the data packets take to reach the destination device.
In our example network, we have two end devices: PC0 and Server0. The following image shows how to test connectivity between both devices.
By listing EIGRP routes on the router
You can use the "show ip route eigrp" command on the router to list all routes added in the routing table by EIGRP.
The following image shows the output of this command on Router0.
If more than one routes for the same destination are available, EIGRP adds the route that has the lowest metric value to the routing table. To view all available routes for each destination, you can use the "show ip eigrp topology" command.
The following image shows the output of this command or Router0.
If a network has a loop, EIGRP automatically removes the loop. To remove a loop, it chooses only one of the routes that make up the loop. To select a route, it compares their metrics and selects the route with the lowest metric.
In our example network, we have a routing loop. To remove this loop, Router0 added only one route to each destination. For example, to reach the network 20.0.0.0/8, Router0 has two routes: via Serial0/0/0 and F0/1. But it added only one route via F0/1 to reach the network 20.0.0.0/8.
To know more about routing loops, you can check the following tutorial.
EIGRP learns all routes of the network. But it does not add the routes that make a loop. It uses them as backup routes. If the main route fails, it immediately switches to the backup route.
To verify this, power off the F0/0 interface of Router3. Router3’s F0/0 interface forwards data packets on the route Router0 uses to reach the network 20.0.0.0/8. If we power off this interface, the main route of Rotuer0 to reach the network 20.0.0.0/8 will be down. In this situation, Router0 will immediately switch to the backup route (Via – R1 and R2) to reach the network 20.0.0.0/8.
The following image shows the first situation.
The following image shows the second situation.
The following link provides the configured lab of the example used in this tutorial.
That’s all for this tutorial. In this tutorial, we learned how to configure EIGRP on Cisco a router and discussed how EIGRP uses backup routes.