Балансировка нагрузки

Под балансировкой обычно понимается распределение между несколькими линками трафика, направленного в одну сеть.

Включается она просто

router bgp 100
maximum-paths 2

При этом должны выполняться следующие условия:

  • Не менее двух маршрутов в таблице BGP для этой сети.

  • Оба маршрута идут через одного провайдера

  • Параметры Weight, Local Preference, AS-Path, Origin, MED, метрика IGP совпадают.

  • Параметр Next Hop должен быть разным для двух маршрутов.

Последнее условие обходится скрытой командой

router bgp 64500
bgp bestpath as-path multipath-relax

В этом случае умаляется также условие полного совпадения AS-path, но длина должна быть по-прежнему одинаковой.

Как мы можем проверить это на нашей сети? Нам ведь нужно убедиться, что балансировка работает.

Балансировка обычно осуществляется на базе потоков (IP-адрес/порт отправителя и IP-адрес/порт получателя), чтобы пакеты приходили в правильном порядке. Поэтому нам нужно создать два потока. Нет ничего проще: 1) ping непосредственно с msk-arbat-gw1 на 103.0.0.1 2) подключаемся телнетом на msk-arbat-gw1 (не забыв настроить параметры) с любого другого маршрутизатора и запускаем пинг с указанием источника (чтобы потоки чем-то отличались друг от друга)

После этого один пинг пойдёт через один линк, а второй через другой. Проверено

По умолчанию никак не учитывается пропускная способность внешних каналов. Такая возможность однако реализована и запускается командами

router bgp 64500
bgp dmzlink-bw
neighbor 101.0.0.1 dmzlink-bw
neighbor 102.0.0.1 dmzlink-bw

Конфигурация устройств

Last updated