- Configure, verify, and troubleshoot EIGRP
One of the greatest aspects of EIGRP is that you get all this advanced functionality with minimal configuration effort. EIGRP essentially follows the same configuration guidelines as RIPv2. Namely, it must advertise the directly connected networks. Because EIGRP is also classful by default, the networks configured must be at a default classful boundary. A key element that differs in the RIPv2 configuration is the inclusion of an AS number in the routing process configuration. This AS number is an arbitrary number between 1 and 65535 that you or your network administrator assigns to your network. It is imperative that you make this number match in all your router configurations, or the routers will ignore the routing updates.
Do not confuse the autonomous system number with OSPF’s process ID. Autonomous system numbers with EIGRP must match in every router that you configure, or the updates are ignored.
In the routing process, you use the network keyword followed by the directly connected classful networks, because EIGRP is classful by default. The following sample configuration demonstrates adding the 172.16.0.0 and 10.0.0.0 networks to the EIGRP process for autonomous system 100:
Router(config)#router eigrp 100 Router(config-router)#network 172.16.0.0 Router(config-router)#network 10.0.0.0 You can change EIGRP into a classless routing protocol by entering the no auto-summary command, just as you did with RIPv2. And to round out EIGRP’s hybrid configuration characteristics, you can also specify the wildcard mask after the network ID, as you did with OSPF, to indicate specific subnets such as this configuration: Router(config)#router eigrp 100 Router(config-router)#no auto-summary Router(config-router)#network 172.16.30.0 0.0.0.255 Router(config-router)#network 10.100.0.0 0.0.255.255
After you configure the routing protocol to be classless, you can support VLSM, discontiguous networks, and route summarization at any bit level. With automatic summarization turned off, however, you must manually configure EIGRP route summaries. The command to do this is ip summary-address eigrp, which is actually configured on the interface on which the summarized route will be advertised:
Router(config)#interface serial 0/0/0 Router(config-if)#ip summary-address eigrp 192.168.4.0 255.255.254.0
The Bandwidth Bandwagon
Because EIGRP uses bandwidth as one of its metrics to determine the best path to a destination, it is imperative that the routers accurately depict the bandwidth that is currently on their interfaces. Because Fast Ethernet and Gigabit interfaces automatically define the bandwidth of their interfaces, you do not have to worry about any additional configurations on the LAN interfaces.
WAN interfaces, such as serial, asynchronous serial, and HSSI, can have varying speeds, depending on the WAN circuits to which they are connected. For instance, it is possible to have a 64kbps link connected to one serial interface and T1 connected to another. By default, Cisco IOS software automatically assumes that any circuit connected to a serial interface is T1 (1544kbps) speed, so how can you tell EIGRP about a link speed that is less than T1? The answer is by using the bandwidth interface command followed by the bandwidth in kbps, as discussed in Chapter 8, “Foundation Cisco Configurations.” By specifying the actual bandwidth on the interface, EIGRP incorporates that information in its metrics and can make accurate routing decisions based on the proper speeds of the links.
Unequal-Path Load Balancing
One of the outstanding features of EIGRP is its capability to load-balance up to six unequal paths (four by default). To achieve this remarkable feat, you must configure a multiplier based on the lowest composite metric to a destination. The command for this multiplier is variance, which is configured in the EIGRP routing process. For instance, Figure 12.14 illustrates a simplified topology with the composite metrics to reach 172.17.0.0. In its default state, EIGRP chooses the router through Router B because it has the lowest cumulative composite metric to reach the destination network. Because the path through B and C has a metric of 80, and the path through D and E has a metric of 110, you can specify a variance of 2, which acts as a multiplier of the lowest metric (80 in this case). The configuration for this would look like the following:
RouterA(config)#router eigrp 100 RouterA(config-router)#variance 2
The variance multiplier does not have to be an exact multiplication. If the multiplied value happens to go over the highest composite metric to a destination, it still load-balances over any path that is included in the range.
IP Default Network
Like other routing protocols, EIGRP does not automatically redistribute default routes to downstream neighbors in its routing updates. As an alternative, you can configure a default network that tells downstream neighbors to reach the network specified as a gateway of last resort. This does not, however, configure a default route or a gateway of last resort in the router in which it is configured.
The syntax to configure a default network is the ip default-network command in global configuration mode. The network that you specify must already be a subnet that is present in the routing table. Downstream neighbors will set that specified network as their gateway of last resort and determine the fastest way to reach it via their routing protocol. For example, if you wanted to use the 192.168.1.0 network in your routing table as a gateway of last resort for downstream neighbors receiving your EIGRP updates, the configuration would resemble the following:
RouterA(config)#ip default-network 192.168.1.0
EIGRP Stub Routing Configuration
Recall that stub routing is a way to reduce convergence time in hub-and-spoke networks that are using EIGRP. The stub routing configuration occurs only on the remote routers and is achieved by using the eigrp stub command in routing configuration mode:
RouterA(config)#router eigrp 100 RouterA(config-router)#eigrp stub
As soon as this command is enabled, the router advertises summary routes that are connected to the router. This is important to keep in mind, because you either need to have automatic summarization kept on or create manual summary routes using the ip summary-address eigrp command.
EIGRP Configuration Using SDM
Let’s round out our SDM routing capabilities by seeing the simplicity of configuring EIGRP in the SDM interface. As with OSPF, these configurations take place in the Configure, Routing task in the Dynamic Routing properties; however, this time you choose the EIGRP tab in the Edit IP Dynamic Routing dialog box, as shown in Figure 12.15. In the Add a EIGRP dialog box, you identify what autonomous system number this router will use for EIGRP and click the Add button to add networks to the network list. Similar to the OSPF configuration, when you click the Add button, you see the Add a Network dialog box, asking for the networks and optional wildcard mask of the network(s) to be added to the EIGRP process.
- Verify router hardware and software operation using SHOW & DEBUG commands As with all the routing protocols, the show ip protocols command displays the networks being advertised, the administrative distance of the routing protocol, and the routing sources for EIGRP-learned networks:
RouterA#show ip protocols Routing Protocol is “eigrp 100” Outgoing update filter list for all interfaces is Incoming update filter list for all interfaces is Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 EIGRP maximum hopcount 100 EIGRP maximum metric variance 1 Redistributing: eigrp 100 Automatic network summarization is in effect Automatic address summarization: 192.168.1.0/24 for FastEthernet0/0 Summarizing with metric 2169856 172.16.0.0/16 for Serial0/0 Routing for Networks: 172.16.0.0 192.168.1.0 Routing Information Sources: Gateway Distance Last Update (this router) 5 00:00:07 192.168.1.6 90 00:00:01
Distance: internal 90 external 170 As with OSPF, you can look at the three tables that EIGRP maintains for each routed protocol. To see the IP routing table, as before, use the show ip route command to verify that you are receiving EIGRP entries, which are signified by the letter D:
RouterA#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default U - per-user static route, o - ODR, P - periodic downloaded static route T - traffic engineered route Gateway of last resort is not set D 172.17.0.0/16 [90/2195456] via 192.168.1.6, Serial0/0 C 172.16.0.0/16 is directly connected, FastEthernet0/0 D EX 172.19.0.0/16 [170/2169856] via 192.168.1.6, Serial0/0 D 172.18.0.0/16 [90/2297856] via 192.168.1.6, Serial0/0 10.0.0.0/32 is subnetted, 1 subnets C 10.1.42.1 is directly connected, Loopback0 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.1.4/30 is directly connected, Serial0/0
Notice the entry for 172.19.0.0 with an EX indicator next to it. You may have already guessed by looking at the administrative distance in the brackets (170) that this is an external EIGRP route that was learned through another routing source being redistributed into EIGRP. Because it is not native to EIGRP, it is trusted less than an internally learned route. To see a listing of your EIGRP neighbors that were discovered through listening to the 220.127.116.11 multicast address, enter the show ip eigrp neighbors command:
RouterA#show ip eigrp neighbors IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 192.168.1.6 Se0/0 11 00:16:27 36 216 0 7
You can view the final table, the topology table, using the show ip eigrp topology command. Here you can see all the possible routes, determine the successor routes, learn whether you have any feasible successors for each subnet, and learn whether those subnets are in an active or passive state:
RouterA#show ip eigrp topology IP-EIGRP Topology Table for process 100 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 192.168.1.4/30, 1 successors, FD is 2169856 via Connected, Serial0/0 P 172.16.0.0/16, 1 successors, FD is 28160 via Connected, FastEthernet0/0 P 172.17.0.0/16, 1 successors, FD is 2195456 via 192.168.1.6 (2195456/281600), Serial0/0 P 172.18.0.0/16, 1 successors, FD is 2297856 via 192.168.1.6 (2297856/128256), Serial0/0 P 172.19.0.0/16, 1 successors, FD is 2169856 via 192.168.1.6 (2169856/256), Serial0/0
Notice that the syntax for viewing the topology table for EIGRP is show ip eigrp topology as opposed to OSPF’s show ip ospf database.
It wouldn’t be a troubleshooting section unless I reminded you that verifying the routing protocol configuration and process should be the first step before entering any debug commands. With that said, EIGRP can perform real-time debugging with the debug ip eigrp command:
RouterA#debug ip eigrp 03:43:46: IP-EIGRP: Processing incoming UPDATE packet 03:43:46: IP-EIGRP: Int 172.17.0.0/16 M 2195456 - 1657856 537600 SM 281600 - 256000 25600 03:43:46: IP-EIGRP: Int 172.18.0.0/16 M 2297856 - 1657856 640000 SM 128256 - 256 128000 03:43:46: IP-EIGRP: Int 172.19.0.0/16 M 2169856 - 1657856 512000 ?SM 256 - 256 0 03:43:46: IP-EIGRP: Int 172.17.0.0/16 metric 2195456 - 1657856 537600 03:43:46: IP-EIGRP: Int 172.18.0.0/16 metric 2297856 - 1657856 640000 03:43:46: IP-EIGRP: Int 172.19.0.0/16 metric 2169856 - 1657856 512000