Балансировка нагрузки на уровне плоскости форвардинга
PRSP использует балансировку нагрузки на уровне forwarding plane, если ядро поддерживает Equal Cost Multipath (ECMP). PRSP устанавливает максимальное количество маршрутов ECMP, поддерживаемых ядром. Это позволяет выполнять балансировку нагрузки с использованием более чем одного следующего узла (nexthop) для достижения пункта назначения. Если маршрутизатор получает и устанавливает несколько путей с одинаковой административной дистанцией и стоимостью до пункта назначения, возможна балансировка нагрузки.
Идеально, если несколько следующих узлов используют разные интерфейсы для достижения пункта назначения, но это не является обязательным. Алгоритм распределения трафика по маршрутам ECMP зависит от ядра и обычно основывается на протоколе, исходном адресе, адресе назначения и порте.
Включение балансировки нагрузки
Следующий пример иллюстрирует, как включить Equal Cost Multipath (ECMP) и настроить протокол маршрутизации (в данном примере используется OSPF) для балансировки нагрузки. Однако этот пример не будет работать, если ядро не поддерживает балансировку нагрузки. В этой топологии SW1, SW2 и SW3 — это три маршрутизатора на базе Linux, соединенные друг с другом. SW1 может достичь SW3 через два доступных соединения с SW2.
Топология
Рисунок 13-17: Топология балансировки нагрузки
Конфигурация
SW1 - NSM
- Включите поддержку multipath и задайте максимальное количество путей, которые будут установлены в таблице маршрутизации (FIB):
#configure terminal
(config)#maximum-paths 2
% System Reboot is required for new Maximum-Path value to take effect.
Примечание: Пользователь может сохранить изменения и перезагрузить систему, чтобы изменения вступили в силу.
SW1 - OSPF
1. Настройте OSPF на всех интерфейсах SW1, SW2 и SW3.
SW1 получает информацию о SW3 через 2 следующих узла (обе сети N1 и N2).
Балансировка нагрузки на уровне плоскости форвардинга
Проверка
SW1 - OSPF
Выполните команду show ip ospf route на SW1. Таблица маршрутизации OSPF показывает, что SW1 может достичь SW3 через оба следующих узла:
SW1#show ip ospf route
OSPF process 100:
Codes: C - connected, D - Discard, 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
C 10.10.10.0/24 [10] is directly connected, eth1, Area 0.0.0.0
C 10.10.11.0/24 [10] is directly connected, eth2, Area 0.0.0.0
O 20.10.10.0/24 [11] via 10.10.10.3, eth1, Area 0.0.0.0
via 10.10.11.3, eth2, Area 0.0.0.0
Выполните команду show ip route на SW1. Она показывает, что SW1 установил оба следующих узла для достижения SW3 в таблице маршрутизации NSM:
SW1#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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, L1 - IS-IS level-1, L2 - IS-IS level-2,
ia - IS-IS inter area, E - EVPN,
v - vrf leaked
* - candidate default
IP Route Table for VRF "default"
C 10.10.10.0/24 is directly connected, eth1, 00:17:08
C 10.10.11.0/24 is directly connected, eth2, 00:16:49
O 20.10.10.0/24 [110/11] via 10.10.11.3, eth2, 00:08:52
[110/11] via 10.10.10.3, eth1
C 127.0.0.0/8 is directly connected, lo, 00:25:21
C 192.168.52.0/24 is directly connected, eth0, 00:25:16
Gateway of last resort is not set