- Posts: 75
- Thank you received: 0
EIGRP load balancing
1. It is recommended to set the bandwidth to each link when using EIGRP. When a router connects to a LAN, it automaticallys sets the bandwidth right? (e.g when using FA it is default to 100mbps) when it comes to serial interfaces, the default is 1544mbps.
Can we literally increase the serial links using different kinds of serial cables then adjust it according to the speed for better efficiency of EIGRP?
2. How do you configure load balancing in EIGRP? and how do i know if the load balancing is working?
Fast E does default to 100M, and some serial interfaces default to 1536K. If your doing shaping or rate limiting on the interface and running EIGRP on that interface it is a good idea to set the BW to the shaped rate. By default EIGRP can use up to 50% of the BW on the interface. Having more than one ip next hop for the same destination with equal or unequal (variance XXX) costs in the routing table is load balancing. The CEF table is automatically updated from the FIB and its actually CEF that does the load balanacing. Options available:
ip cef load-sharing algorithm ?
include-ports Algorithm that includes layer 4 ports
original Original algorithm
tunnel Algorithm for use in tunnel only environments
universal Algorithm for use in most environments
D 10.0.4.0/24 [90/335360] via 11.1.1.8, 00:13:27, Tunnel0
[90/335470] via 11.1.1.7, 00:13:27, Tunn
sh ip cef | b 10.0.4.0/24
10.0.4.0/24 11.1.1.7 Tunnel0
11.1.1.8 Tunnel0
If you have two physical interfaces (mGRE tunnel is bad example) and there is eigrp load balancing it can be checked with "show interface stat"
each interface will have Route cache hits if load balancing is working. Also should have a host behind the router to send traffic. Router generated traffic is always processed switched, data plane traffic is switch via CEF (route cache). In the output below i do not have host behind this router in the lab.
show interface stat
Switching path Pkts In Chars In Pkts Out Chars Out
Processor 58837 8964365 82597 7095652
Route cache 0 0 0 0
Total 58837 8964365 82597 7095652
- broadcaststorm
- Offline
- Junior Member
- Posts: 79
- Thank you received: 0
Bandwidth... who cares right now? Unless you want to deliberately affect the bandwidth calculation that EIGRP will run, leave the bandwidth alone.
EIGRP will base it's routing table (successor routes) based on the DUAL algorithm which it will run on all the routes in it's topology table
The DUAL algorithm is run on the Bandwidth (K1) and Delay (K3) numbers, and is as follows:
Bandwidth (K1)
100,000,000 / Bandwidth in Kb/s of the slowest link x 256 = NNNNN
PLUS
Delay (K3)
Sum of the delay of every interface, in 10's of Microseconds x 256 = NNNN
Add the two NNNN values together to give you the EIGRP "cost" expressed either as the Advertised Distance, or the Feasible Distance.
If you have two or more routes with identical AD numbers, then an EIGRP router will load balance. If you have unequal cost paths, then you need to increase the Variance value so that the router will load balance across unequal paths.
I believe EIGRP is unique in being able to load balance across unequal paths. Equal cost load balancing is done by default in EIGRP and OSPF, if I recall correctly.
To work out if load balancing is working, look at the routing table; "show ip route". If a network has two entries listed under 1 "heading" load balancing is happening. If I can drag some output up, I'll copy 'n' paste it up in a moment...
To see the variance value do a "show IP protocols" command. The K values should also be displayed here as well:
- broadcaststorm
- Offline
- Junior Member
- Posts: 79
- Thank you received: 0
show ip protocols command looks like this:
BOTTOM#sho ip protocols
Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
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
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
192.168.10.0
200.140.10.0
Routing Information Sources:
Gateway Distance Last Update
200.140.10.1 90 00:01:52
192.168.10.1 90 00:01:53
Distance: internal 90 external 170
Note the K vlaues, and the variance command.
With these values, my routing table looks like this:
BOTTOM#sho 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
100.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
D 100.140.10.2/32 [90/2195456] via 192.168.10.1, 00:04:58, Ethernet0/0
D 100.140.10.0/24 [90/2195456] via 192.168.10.1, 00:04:58, Ethernet0/0
D 100.140.10.1/32 [90/2681856] via 200.140.10.1, 00:04:58, Serial0/0
C 192.168.10.0/24 is directly connected, Ethernet0/0
200.140.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 200.140.10.0/24 is directly connected, Serial0/0
C 200.140.10.1/32 is directly connected, Serial0/0
I have two links to the 100.140.10.0 network. 2 x 128k serial links (see note at the bottom), and a 100mb/s ethernet link. As you can see, the route to 100.140.10.0 is via the ethernet0/0 interface 'cos the serial0/0 is just too slow!. Now I'm going to alter the variance value:
config-router#variance 3
Spot the difference:
BOTTOM#sho ip protocols
Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
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 3
Redistributing: eigrp 100
EIGRP NSF-aware route hold timer is 240s
Automatic network summarization is not in effect
Maximum path: 4
Routing for Networks:
192.168.10.0
200.140.10.0
Routing Information Sources:
Gateway Distance Last Update
200.140.10.1 90 00:00:15
192.168.10.1 90 00:00:15
Distance: internal 90 external 170
And check the routing table entries:
BOTTOM#sho 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
100.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
D 100.140.10.2/32 [90/2195456] via 192.168.10.1, 00:00:55, Ethernet0/0
D 100.140.10.0/24 [90/2195456] via 192.168.10.1, 00:00:55, Ethernet0/0
[90/2681856] via 200.140.10.1, 00:00:55, Serial0/0
D 100.140.10.1/32 [90/2681856] via 200.140.10.1, 00:00:55, Serial0/0
C 192.168.10.0/24 is directly connected, Ethernet0/0
200.140.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 200.140.10.0/24 is directly connected, Serial0/0
C 200.140.10.1/32 is directly connected, Serial0/0
Note the route to the 100.140.10.0 network now has two routing table entries via different interfaces. Load balancing across unequal cost pathways will be happening
Sadly the formatting isn't helping here, but if you look closely you can see that there is definitely two routes to the 100.140.10.0
**Note**
These configs were created on a 3 router lab. TOP, MIDDLE and BOTTOM.
TOP connects to MIDDLE with a serial cable. MIDDLE connects to BOTTOM with a serial cable. TOP connects to BOTTOM with an ethernet crossover cable. All routers are Cisco 2600 variants running either IOS 12.2 or 12.3.
All show commands were performed on the BOTTOM router.
- broadcaststorm
- Offline
- Junior Member
- Posts: 79
- Thank you received: 0
sho ip eigrp topology
IP-EIGRP Topology Table for AS(100)/ID(200.140.10.2)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 200.140.10.2/32, 0 successors, FD is Inaccessible
via 192.168.10.1 (2707456/2681856), Ethernet0/0
via 200.140.10.1 (2681856/2169856), Serial0/0
P 200.140.10.0/24, 1 successors, FD is 2169856
via Connected, Serial0/0
P 200.140.10.1/32, 1 successors, FD is 2169856
via Rconnected (2169856/0)
P 192.168.10.0/24, 1 successors, FD is 281600
via Connected, Ethernet0/0
P 100.140.10.2/32, 1 successors, FD is 2195456
via 192.168.10.1 (2195456/2169856), Ethernet0/0
P 100.140.10.0/24, 1 successors, FD is 2195456
via 192.168.10.1 (2195456/2169856), Ethernet0/0
via 200.140.10.1 (2681856/2169856), Serial0/0
P 100.140.10.1/32, 1 successors, FD is 2681856
via 200.140.10.1 (2681856/2169856), Serial0/0
Check out the successors and feasible successors in there! Nice
Remember, the costs show as FD first, then AD second
So you can hopefully see that the path to the 100.140.10.0 via Eth 0/0 has an FD of 2195456 and an AD of 2169856.
The successor via the Serial has an FD of 2681856 and an AD of 2169856. So the AD of the feasible successor (the Serial0/0) is less than the FD of the current successor (Ethernet 0/0), so the numbers work according to the rules.
All this good stuff with just 3 routers, 2 serial cables, one ethernet crossover cable and some fun with the configs. Practice makes perfect.
ALL the above configs can be recreated exactly as you see here in Packet Tracer, but IMO it's always best to have some real kit to use Luckily, I was sitting at my lab when the call came in!!!