Индекс
Что такое equal Cost Multi Path (ECMP)?
Синтаксис конфигурации
Примере
Цель
Топологии
Пример конфигурации
Equal Cost Multi Path (ECMP) — это стратегия маршрутизации уровня 3 для пересылки трафика в целевой ресурс с помощью нескольких доступных путей. ECMP увеличивает количество путей к целевому ресурсу и увеличивает доступную пропускную способность для доступа к целевому ресурсу. Механизм ECMP обеспечивает балансировку нагрузки и увеличение пропускной способности за счет использования неиспользуемых каналов и пропускной способности.
Хэширование
ECMPДля предотвращения поляризации трафика в сетевой топологии ЦОД с древовидной конфигурацией ЦОД на разных уровнях требуются различные данные о хэшированиех. В SONiC мы используем различные алгоритмы хэширования для ECMP и LAG по умолчанию, поэтому настройка начального значения хэша — это все, что требуется.
Несмотря на то что ECMP может увеличить количество доступных каналов, все доступные пути должны быть тесно загружены, чтобы путь не был превышен или не используется. Параметры хэширования загрузок сетевой папки IP ECMP можно изменить, чтобы повлиять на совместное использование нагрузки трафика по нескольким доступным путям. Чтобы получить оптимальное совместное использование нагрузки ECMP, настройте ECMP на всех устройствах, которые находятся между исходной и целевой системами.
При необходимости рекомендуется настраивать различные параметры балансировки нагрузки на каждом уровне на основе уникальной схемы трафика в сети. Например, на маршрутизаторе A поля хэша для балансировки нагрузки могут включать в себя source-ip, dest-ip, protocol, source-port и L4-dest-port, а на маршрутизаторе B поля хэша могут использовать только исходный IP-адрес, dest-ip и протокол.
Настройте начальное значение хэша ECMP.
Настройте уникальное начальное значение хэша для каждого устройства, чтобы избежать поляризации хэша, которая может привести к перегрузке сети. Поляризация сети может происходить, когда несколько потоков данных пытается достичь коммутатора с помощью одного и того же порта коммутатора.
Синтаксис конфигурации |
Пояснение |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash { seed-value }
|
Настройте начальное значение хэша. Значение seed-value составляет от 0 до 16777215. |
Активация многопутевого ввода-вывода в конфигурации BGP
Синтаксис конфигурации |
Пояснение |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths {number}
|
Настройте максимальное количество маршрутов eBGP, которое можно выбрать, чтобы создать равно затратные маршруты с несколькими путями (ECMP) для совместного использования нагрузки. |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths ibgp {number} |
Настройте максимальное количество маршрутов iBGP, которое можно выбрать, чтобы создать равно затратные многопутовые маршруты (ECMP) для совместного использования нагрузки. |
Настройте хэш загрузки общего ресурса ECMP для IPv4 (необязательно).
Синтаксис конфигурации |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv4 {ipv4-src-ip | ipv4-dst-ip | ipv4-ip-proto | ipv4-l4-src-port| ipv4-l4-dst-port | symmetric}
|
Настройте хэш загрузки сетевой папки ECMP для IPv6 (необязательно).
Синтаксис конфигурации |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv6 {ipv6-src-ip | ipv6-dst-ip | ipv6-next-hdr | ipv6-l4-src-port| ipv6-l4-dst-port | symmetric}
|
Рассмотрим, что коммутатор Dell SONiC имеет два маршрута от BGP для достижения 4.4.4.4/32 маршрутов. Мы должны использовать ECMP для достижения версии 4.4.4.4/32 и использовать оба маршрута одновременно.
Можно просмотреть путь, объявленный соседними устройствами BGP нашему коммутатору для доступа к хосту или подсети, с помощью команды show bgp ipv4 unicast <host/subnet>. Пример результата показан ниже.
DellSONiC# show bgp ipv4 unicast 4.4.4.4
Запись таблицы маршрутизации BGP для версии 4.4.4.4/32
Пути: (2 доступны, лучше всего No 2, таблица по умолчанию)
200
10.0.0.2 с 10.0.0.2 (20.0.0.1)
Исходный неполный, метрика 0, действителен, внешний, многопутевой
Последнее обновление: 2023-12-25 14:34:55+0000
200
30.0.0.2 с 30.0.0.2 (30.0.0.2)
Исходный неполный, метрика 0, действителен, внешний, многопутевой, лучший (более старый путь)
Последнее обновление: 2023-12-25 14:34:55+0000 |
|
Мы активируем ECMP.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash seed 100
|
Давайте настроим максимальный путь BGP на 2, так как у нас есть два пути.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp 100
DELLSONiC(config-router-bgp)# address-family ipv4 unicast
DELLSONiC(config-router-bgp-af)# maximum-paths 2 |
Чтобы проверить, установлены ли оба маршрута в таблице маршрутизации, используйте следующую команду:
show ip route <hopst/subnet>
DELLSONiC# show ip route 4.4.4.4
Codes: K - kernel route, C - connected, S - static, B - BGP, O - OSPF
> - selected route, * - FIB route, q - queued route, r - rejected route
Destination Gateway Dist/Metric Last Update
--------------------------------------------------------------------------------------------------------------------------------
B>* 4.4.4.4/32 via 10.0.0.2 Eth1/1 20/0 03:02:41 ago
* via 30.0.0.2 Eth1/2
|