Working with Enhanced Interior Gateway Routing Protocol (EIGRP)
Because Enhanced Interior Gateway Routing Protocol (EIGRP) has replaced IGRP in all ways, IGRP is not covered except to say that, for legacy reasons, you may still see it on some routers.
Three main tables, which are stored in memory, support the EIGRP routing protocol:
Neighbor Table: Information about all adjacent routers running EIGRP are stored here. This information includes sequence numbers and protocol timers.
Topology Table: All destination networks that neighbor routers have reported knowing about are stored in this table. This table would include the metrics for every route reported, as some network ID may have multiple routes and the best route would be evaluated by the cost of the metrics.
Routing Table: In addition to least cost routes, EIGRP evaluates secondary routes to each network and creates a list of feasible successors that are added to the routing table. A feasible successor is a route that would be used if the primary route to a network fails.
The information that EIGRP receives in its updates go into these three tables.
The configuration of EIGRP is just about as easy as the configuration of RIP. One difference is the concept of an Autonomous System (AS), which defines a group of routers to which the EIGRP router belongs to.
The AS number is exchanged as part of the routing protocol messages, and any message with a different AS number is ignored by your router. So, it is important that all routers in the same routing group share the same AS number.
Just as you do when configuring RIP, you specify the connected networks that your routing protocols will be sending to other routers by using the network command. Also, as with RIP, there is an auto-summary option, which you can modify or disable.
Router2>enable Password: Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#ip routing Router2(config)#router eigrp 100 Router2(config-router)#network 192.168.1.0 Router2(config-router)#network 192.168.5.0 Router2(config-router)#no auto-summary Router2(config-router)#exit Router2(config)#exit
Auto-summary for EIGRP works similarly to the way it works for RIP. With auto-summary enabled, all routes are summarized as close to the classful boundaries. To change this feature, enter specific interfaces on your router and force summarization to occur at different boundaries — for example, ip summary-address eigrp 100 10.0.0.0 255.255.0.0 for a router configured with networks of 10.0.1.0 and 10.0.100.0.
Reviewing the following routing table, you see the addition of D type routes. The D routers are routes that were learned through EIGRP, whereas EX identifies routes from EIGRP configured for external use.
Router2>enable Password: Router2#show ip route Codes: C - connected, S - static, 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 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set D 192.168.10.0/24 [90/284160] via 192.168.1.1, 00:04:19, FastEthernet0/0 C 192.168.5.0/24 is directly connected, FastEthernet0/1 C 192.168.1.0/24 is directly connected, FastEthernet0/0 S 192.168.3.0/24 [1/0] via 192.168.1.1
EIGRP uses a behavior called split horizon to control routing updates. By default, this behavior is enabled on all interfaces on the router. You can disable split horizon on any or all interfaces.
Split horizon prevents route advertisements from going back out through the interface on which the route was originally learned.
Router2>enable Password: Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#interface fastethernet0/0 Router2(config-if)#no ip split-horizon eigrp 100 Router2(config-if)#exit Router2(config)#exit
EIGRP supports load balancing, which is sending data over multiple paths when they are available. There are two basic methods of load balancing with EIGRP, either based on equal costs or unequal costs. By default EIGRP will use equal cost load balancing.
So if there are two or more paths to the same destination, they will be load balanced only if their total link costs are equal.A network with three paths and with total costs of 20, 25, and 45 is shown in the following figure. In this case, the link with the cost of 20 is always used. If you want EIGRP to load balance over two links, the two links would require an equal cost.
When the network does not naturally evaluate to equal costs, you can force it with the variance command, thereby making it unequal cost routing. In the sample network, the path through Router3 has a cost of 25, by using the variance command, you can make it equal to the path through Router4, as shown here:
Router2>enable Password: Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#ip routing Router2(config)#router eigrp 100 Router2(config-router)#variance 2 Router2(config-router)#exit Router2(config)#exit
The variance of 2 in the preceding output instructs EIGRP to take the least-cost route and multiply it by the variance. In this case, if you take the least-cost route of 20 and multiply it by 2, you end up with 40; so all routes with a cost less than 40 are considered to be equal. To route over all three links, use a variance of 3, making all routes less than 60 equivalent.
Some other methods for dealing with equal or unequal path routing involve changing the default system metric values. EIRGP uses the following calculation to generate a final metric, with lowest metrics being preferred:
metric = [K1*bandwidth + (K2*bandwidth)/(256 - load) + K3*delay] * [K5/(reliability + K4)]
The default values for these settings are K1=1, K2=0, K3=1, K4=0, and K5=0, which means that the normal net metric is based on the bandwidth and delay of the links. If you use the same physical network infrastructure throughout your network, the metric is therefore based solely on the number of hops.
Router2>enable Password: Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#ip routing Router2(config)#router eigrp 100 Router2(config-router)#metric weights tos k1 k2 k3 k4 k5 Router2(config-router)#exit Router2(config)#exit
Although these values can be changed, they can have a large negative impact on your network performance if they are set incorrectly. Rather than changing these values, you can modify the bandwidth and delay values on a link-by-link basis. To change both these values, use the following command:
Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#interface FastEthernet 0/0 Router2(config-if)#bandwidth 1000 Router2(config-if)#delay 120 !--- Delay is entered in tens of microseconds. Router2(config-if)#exit Router2(config)#exit
Clearing your IP route
If you make frequent changes to routing protocol properties, be aware that you either have to wait for changes to propagate or wait for the relevant hold down timers to expire. You can override these delays by entering Privileged EXEC mode and using the clear ip route command.