Маршрутизаторы cisco: Неравнозначная балансировка нагрузки при помощи статических маршрутов
Многие, прочитав название поста, решат что автор, мягко говоря, некомпетентен. Однако, не спешите судить поспешно, вначале дочитайте данную заметку до конца
. В последнее время мне очень понравилось собирать информацию о недокументированных возможностях (в ряде случаев — глюках) маршрутизаторов cisco. Иногда найденный материал настолько мне интересен, что я решаюсь запостить его сюда.
- For process-switching—load balancing is on a per-packet basis and the asterisk (*) points to the interface over which the next packet is sent.
- For fast-switching—load balancing is on a per-destination basis and the asterisk (*) points to the interface over which the next destination-based flow is sent.
Более подробно о балансировке можно прочитать в документе .
К примеру, если у Вас два канала на отделение и они разной пропускной способности, ну например один шире другого в 3 раза, то в случае попыток задействовать равнозначную балансировку (прописав 2 равнозначных маршрута на два удаленных адреса) Вас постигнут глюки :), т.к. при достаточно большой нагрузке один из каналов станет перегруженным и на нем начнут терятся пакеты. Единственным официальным выходом из этой ситуации является использование протокола динамической маршрутизации EIGRP, который позволяет определить отношение пропускной способности каналов друг к другу и полноценно использовать их одновременно на всю катушку.
Желающие почитать об этом могут обратится к документации на
На самом деле, как оказалось, в маршрутизаторах cisco есть одна тонкость, позволяющая сделать неравнозначную балансировку нагрузки в случае статической маршрутизации…
Вся хитрость заключается в том, что при разделении трафика учитывается только адрес назначения; интерфейс, через который будет уходить этот трафик не учитывается. Т.е. на одном интерфейсе мы можем прописать несколько вторичных адресов, в которые мы завернем маршруты. Этим то и можно произвести неравнозначную балансировку. Конечно, это решение не очень гибко (до версии IOS 12.3 (T) максимальное количество эквивалентных маршрутов было 6, с версии 12.3© максимальное количество — 16), но решить большинство задач с его помощью можно.
Простой пример на тему (для наглядности использовал цвет):
router A: interface Serial 0 ip address 192.168.1.1 255.255.255.252 ip address 192.168.2.1 255.255.255 252 secondary ip address 10.10.10.1 255.255.255.252 secondary interface Serial 1 ip address 172.16.16.1 255.255.255.252 interface FastEthernet 0/0 ip address 10.0.0.1 255.255.255.0 ip route 10.0.1.0 255.255.255.0 192.168.1.2 ip route 10.0.1.0 255.255.255.0 192.168.2.2 ip route 10.0.1.0 255.255.255.0 10.10.10.2 ip route 10.0.1.0 255.255.255.0 172.16.16.2 router B: interface Serial 0 ip address 192.168.1.2 255.255.255.252 ip address 192.168.2.2 255.255.255 252 secondary ip address 10.10.10.2 255.255.255.252 secondary interface Serial 1 ip address 172.16.16.2 255.255.255.252 interface FastEthernet 0/0 ip address 10.0.1.1 255.255.255.0 ip route 10.0.0.0 255.255.255.0 192.168.1.1 ip route 10.0.0.0 255.255.255.0 192.168.2.1 ip route 10.0.0.0 255.255.255.0 10.10.10.1 ip route 10.0.0.0 255.255.255.0 172.16.16.1
Таким образом, мы у нас получается соотношение 3:1, т.е. например для трафика между 10.0.0.0/24 и 10.0.1.0/24 через router A три пакета будут уходить через Serial0, а четвертый через Serial1.
Желающие посмотреть на это чудо в действии, могут у себя выключить ip cef (fast-switching) и запустить дебаг debug ip packet. В дебаге можно увидеть на какой адрес форвардится каждый конкретный пакет.
Популярность: 10%
Похожие заметки
OSPF: Анонсирование сети на Loopback-ахИзбитая тема. IPSec между Cisco и D-Link
Использование IPSec profiles для защиты GRE туннелей
OSPF на Cisco. А бывает и так…
ADSL и мнимые проблемы с Path MTU Discovery
Roman Shramko