📜 ⬆️ ⬇️

Load balancing between two channels in dynamic EIGRP routing

I am glad to welcome all habrazhiteli.
In accordance with the new requirements, redundant communication channels began to be created at work, during the initial setup of which, balancing traffic in EIGRP did not work, I had to deal with this interesting issue.

Network layout image

Given:
We have a network 172.18.230.224/27, let's call it “our network”, from it very important data is transferred to two other networks ID and IE, respectively. Transmission should be carried out via redundant communication channels, that is, we have primary and backup channels. Two interesting nuances:
1) Static routing is configured in the ID network and, sla-monitors and ip load-sharing per-packet, balancing is working properly;
2) In the IE network, the dynamic routing protocol EIGRP works and during the initial configuration the balancing did not work, and why, let's look further.

')
So, let's see what is happening in steps:

1) Let's look at the topology of EIGRP from the second to the router on the IE network with the command: sh ip eigrp topology 192.168.10.0

2811-2# sh ip eigrp topology 192.168.10.0
IP-EIGRP (AS 1): Topology entry for 192.168.10.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 40512000
Routing Descriptor Blocks:
192.168.199.205 (Serial0/0/0:1), from 192.168.199.205, Send flag is 0x0
Composite metric is (40514560/28160), Route is External
Minimum bandwidth is 64 Kbit
Total delay is 20100 microseconds
{ }
192.168.198.98 (FastEthernet0/1), from 192.168.198.98, Send flag is 0x0
Composite metric is (40517120/40514560), Route is External
Minimum bandwidth is 64 Kbit
Total delay is 20200 microseconds
{ }


2) Let's look at the topology of EIGRP from the first one in the router to the IE network with the command: sh ip eigrp topology 192.168.10.0



2811-1# sh ip eigrp topology 192.168.10.0/24
IP-EIGRP (AS 1): Topology entry for 192.168.10.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 40514560
Routing Descriptor Blocks:
192.168.199.201 (Serial0/0/0:1), from 192.168.199.201, Send flag is 0x0
Composite metric is (40514560/28160), Route is External
Vector metric:
Minimum bandwidth is 64 Kbit
Total delay is 20100 microseconds
{ }
192.168.198.99 (FastEthernet0/1), from 192.168.198.99, Send flag is 0x0
Composite metric is (40517120/40514560), Route is External
Vector metric:
Minimum bandwidth is 64 Kbit
Total delay is 20200 microseconds
{ }


Here we see bandwith (bandwidth) and delay (delay) for the local interface S0 / 0/0: 1 and the interface Fa0 / 1, through which the second route to the IE network is advertised. The metric is calculated based on the above factors K1-K5, as well as bandwith (throughput) and delay (delay). We see that the first direct route has a metric of 40514560 , the second has an internal interface and the second router has a metric of 40517120 , therefore it can be assumed why balancing does not work: the first router uses only the first route, since it has the best metric, and the second route is a backup, and it will only work if the main channel “falls”.
Check our hunch

2811-1# sh ip route 192.168.10.0
Routing entry for 192.168.10.0/24
Known via "eigrp 1", distance 170, metric 40514560, type external
Redistributing via eigrp 1
Last update from 192.168.199.209 on Serial0/0/0:1, 3d06h ago
Routing Descriptor Blocks:
* 192.168.199.209, from 192.168.199.209, 3d06h ago, via Serial0/0/0:1
Route metric is 40514560, traffic share count is 1
Total delay is 20100 microseconds, minimum bandwidth is 64 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 7/255, Hops 1


We were right: in the routing table of the first router there is only one route through the main channel.

Decision:

Of course, there may be several solutions to this problem, but I have already hinted that the metric is calculated on the basis of such parameters as K1-K5 coefficients, throughput and latency. Maybe our solution will not be the most elegant, but we will try to pick up such a delay on the S0 / 0/0: 1 interface of the second router so that the metrics of the two routes of the first router match.

Brief theoretical reference:

The total metric is calculated using bandwidth and delay values. Bandwidth is calculated by the formula:
bandwidth = (10,000,000 / bandwidth (m)) * 256
where bandwidth (m) is the minimum bandwidth on the entire route to the destination network.
Delay:
delay = delay (s) * 256 (in tens of microseconds)
where delay (s) is the total delay on all routers en route to the destination network.
These values ​​are used by the EIGRP protocol to calculate the metric:
Metric = [K1 * bandwidth + (K2 * bandwidth) / (256-load) + K3 * delay] * [K5 / (reliability + K4)]
If the coefficients have not changed, the formula takes the form:
Metric = K1 * bandwidth + K3 * delay
The number of transitions in the EIGRP protocol is 224, which is more than enough for modern networks.

Payment:

To determine the values ​​of the coefficients used to calculate the metrics in EIGRP, we use the command: sh ip protocols
2811-1# sh ip protocols
{ }
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
{ }


We see that the coefficients KE = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0

Since K2 = K4 = K5 = 0 => Metric = K1 * bandwidth + K3 * delay, where Bandwidth = 10 ^ 7 / Slowest (B) (in Kbps), Slowest (B) is the smallest bandwidth on the route; Delay = Summa (D) / 10, Summa (D) - the sum of all delays on the way.

(10 ^ 7/64 + 20100/10) * 256 = (10 ^ 7/64 + (200 + D2) / 10) * 256
(we divide both sides by 256 and mutually destroy 10 ^ 7/64)
20100 = 200 + D2
D2 = 19900 this number must be divided by 10 to get the necessary delay for S0 / 0/0: 1
D2 = 1990

Note: D = D1 + D2, where D1 is the sum of the delays on the two Fa0 / 1 interfaces that interconnect the routers and D1 = 100 + 100 = 200. The delay on the interface was watched by the show int fa0 / 1 command.

There are very few. We go to the second router in the global configuration mode and type the commands:
int S0 / 0/0: 1
delay 1990



Result:

At 2811-1, a new route appeared through the FastEthernet0 / 1 interface and the metrics of the two routes coincide -----> balancing works:
2811-1# sh ip route 192.168.10.0
{ }
Routing Descriptor Blocks:
* 192.168.199.201, from 192.168.199.201, 00:14:09 ago, via Serial0/0/0:1
Route metric is 40514560 , traffic share count is 1
Total delay is 20100 microseconds, minimum bandwidth is 64 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 39/255, Hops 1
192.168.198.99, from 192.168.198.99, 00:14:09 ago, via FastEthernet0/1
Route metric is 40514560 , traffic share count is 1
Total delay is 20100 microseconds, minimum bandwidth is 64 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 35/255, Hops 2


Load main channel:
image

Backup Channel Load:
image

Afterword:
This decision may not seem quite logical and considerably complicates further troubleshooting, I fully agree with this thesis. For people who do not have much experience with CISCO, I think my article will be useful. I would be happy for comments and suggestions.

Source: https://habr.com/ru/post/139315/


All Articles