Many of you have problems finding a comprehensive guide to load balancing for EIGRP. Using routing capabilities is a must in today’s evolving networks. In an enterprise environment, using EIGRP (Enhanced Interior Gateway Protocol) is your best choice because EIGRP is fast and agile.
Here is brief recap of EIGRP attributes.
EIGRP has four basic components:
- Neighbor Discovery/Recovery
- Reliable Transport Protocol
- DUAL Finite State Machine
- Protocol Dependent Modules
Neighbor Discovery/Recovery is the process that routers use to dynamically learn of other routers on their directly attached networks. Routers must also discover when their neighbors become unreachable or non-operative.
This process is achieved with low overhead by periodically sending small hello packets. As long as hello packets are received, a router can determine that a neighbor is alive and functioning. Once this is determined, the neighboring routers can exchange routing information.
EIGRP offers the following features:
- Fast convergence — The DUAL algorithm allows routing information to converge as quickly as any currently available routing protocol.
- Partial updates — EIGRP sends incremental updates when the state of a destination changes, instead of sending the entire contents of the routing table. This feature minimizes the bandwidth required for EIGRP packets.
- Less CPU usage than IGRP — This occurs because full update packets need not be processed each time they are received.
- Neighbor discovery mechanism — This is a simple hello mechanism used to learn about neighboring routers. It is protocol-independent.
- Scaling — EIGRP scales to large networks.
- Variable – length subnet masks (VLSMs)
- Arbitrary route summarization
- Classless Inter-Domain Routing (CIDR) support
- Load balancing on parallel links between sites
- The ability to use different authentication passwords at different times
- MD5 authentication between two routers
- Sending topology changes, rather than sending the entire routing table when a route is changed
- Periodically checking if a route is available and propagating routing changes to neighboring routers if any changes have occurred
- Running separate routing processes for Internet Protocol (IP), IPv6, IPX and AppleTalk through the use of protocol-dependent modules (PDMs)
- Superior scaling of Interior Gateway Protocol (IGP) for large dynamic multipoint (DM) VPN deployments
- Easy transition to IPv6 with multi-address family support for both IPv4 and IPv6 networks
- Very fast rapid convergence times for changes in the network topology
- Propagating only routing table changes, not the entire routing table, when a change occurs
- More efficient use of links, through equal cost multipath (ECMP) and unequal cost load sharing
To enable EIGRP, run the following command:
Router(config)# router eigrp <ASN>
To add a network to EIGRP run the following command:
Router(config-router)# network <network> [wildcard mask]
All non-passive interfaces belonging to a specified network will become capable of forming EIGRP adjacencies and their attached networks will be advertised into EIGRP.
EIGRP will summarize to classful boundaries by default.
An interface can be set to passive operation to prevent advertisement:
Router(config-router)# passive-interface <interface>
If an interface is included in the network configuration but set to passive, it will still be included in EIGRP advertisements. If an interface is not included in an EIGRP network, it will not be advertised in EIGRP.
Efficient route summarization is key in preventing looping route queries (which leads to an SIA condition).
Disable automatic classful summarization:
Router(config-router)# no auto-summary
Configure manual summarization on an interface:
Router(config-if)# ip summary-address eigrp <ASN> <network> <subnet mask>
Stub routers participate minimally in EIGRP, which reduces utilization of memory and CPU on the router.
Router(config-router)# eigrp stub [options]
- receive-only — Prevents the router from advertising any routes
- connected — Permits advertisement of connected networks (default)
- static — Permits redistribution of static routes
- summary — Advertises summary routes (default)
Load Balancing EIGRP
EIGRP automatically load balances across equal-cost links. Unequal-cost load balancing can be enabled by specifying a variance. Feasible successors with a feasible distance less than (best path FD * variance) will be proportionally utilized:
Router(config-router)# variance <multiplier>
The variance can be between 1 and 128; default is 1 (equal-cost balancing only).
EIGRP timers do not have to match for two routers to form an adjacency.
Hello timers are modified per interface:
Router(config-if)# ip hello-interval eigrp <ASN> <seconds>
The default hold timer is calculated as three times the hello timer value. However, configuring the hold timer manually is done in seconds:
Router(config-if)# ip hold-time eigrp <ASN> <seconds>
Manipulating EIGRP metrics with K-values (default is bandwidth and delay ) then values are : K1=Bandwidth K2=Load K3=Delay K4 = Reliability K5=MTU:
Router(config-router)# metric weights 0 1 1 1 1 1
Configuring MD5 authentication on an interface:
Router(config-if)# ip authentication mode eigrp <ASN> md5 Router(config-if)# ip authentication key-chain eigrp <ASN> <chain name> Router(config)# key chain <chain name> Router(config-keychain)# key 1 Router(config-keychain-key)# key-string <password>
The perceived bandwidth of an interface can be administratively altered for the purpose of metric manipulation:
Router(config-if)# bandwidth <kilobits>
The bandwidth setting will not affect the actual interface speed, only the value used in metric calculation. This is useful for interfaces being rate-limited below line rate.
By default, EIGRP will use no more than 50% of an interface’s bandwidth. This can be adjusted as such:
Router(config-if)# ip bandwidth-percent eigrp <ASN> <percentage>
Verifying EIGRP Operation
show ip eigrp neighbors
show ip eigrp topology
show ip eigrp traffic
show ip eigrp interfaces
show ip route eigrp
debug eigrp packet
debug ip eigrp neighbors
debug ip eigrp
debug ip eigrp summary
EIGRP configuration is pretty straightforward, but what happens in complex environments with many routers and firewalls if EIGRP stops working? The work load is almost impossible to bear.
It’s good to have indeni on your side. This cutting edge technology has complex algorithms. By connecting to the device and simulating human-like behavior, indeni automates the troubleshooting of EIGRP protocol network environments and provides solutions to EIGRP malfunctions.
If you enjoyed this post, wait until you see the power of predictive analytics for IT in your network environment.