Montag, 20. Juni 2016

GLBP протокол резервирования шлюза Cisco

Работа протокола GLBP (Gateway Load Balancing Protocol) аналогична работе других протоколов отказоустойчивого шлюза, но не идентична. Это проприетарный протокол Cisco, он не только повышает доступность шлюза, но и распределяет нагрузку между маршрутизаторами на которых он поднят. В протоколах HSRP и VRRP основную работу выполняет основной, активный маршрутизатор. Остальные маршрутизаторы в группе ждут падения активного и только после этого вступают в активную работу. GLBP обеспечивает распределение нагрузки на несколько маршрутизаторов (шлюзов) используя один виртуальный IP-адрес и несколько виртуальных MAC-адресов. Каждый маршрутизатор сконфигурирован с одинаковым виртуальным IP-адресом и все маршрутизаторы в виртуальной группе участвуют в передаче пакетов.

Члены GLBP группы выбирают один шлюз который будет активным виртуальным шлюзом active virtual gateway (AVG) для этой группы. Другие члены группы обеспечивают резервирование для AVG в случае если AVG станет недоступным. AVG назначает виртуальный MAC адрес для каждого члена GLBP группы. Каждый член группы участвует в передаче пакетов, используя виртуальный MAC адрес, выданный AVG. Этих членов группы называют active virtual forwarders (AVFs). AVG ответственен за выдачу ответов по протоколу Address Resolution Protocol (ARP) на запросы к виртуальному IP-адресу. Распределение нагрузки достигается тем что AVG отвечает на ARP запросы используя разные виртуальные MAC-адреса.
Маршрутизаторы отправляют друг другу сообщения hello каждые 3 секунды. Сообщения отправляются на адрес 224.0.0.102, UDP порт 3222 (отправителя и получателя).

GLBP Gateway Priority 

    определяет роль, которую каждый маршрутизатор AVF играет в группе. Т.е. с помощью этого свойства можно определить последовательность выбора нового AVG, если старый AVG станет недоступным. Приоритет можно определить на каждом маршрутизаторе значением от 1 до 255 командой: glbp priority. Маршрутизатор с большим приоритетом становится AVG.По умолчанию схема выбора AVG только на основе приоритета выключена. Запасной AVF станет AVG только если текущий AVG станет недоступным. Что бы разрешить выборы AVG на основе приоритета нужно ввести команду: glbp preempt
    GLBP поддерживает следующие режимы балансировки нагрузки:

  • None - режим, при котором коммутатор не обеспечивает балансировку нагрузки. На все запросы клиентов он отвечает своим МАК адресом. Второй коммутатор начинает работу только после того как основной коммутатор (AVG) выйдет из строя или станет недоступным.
  • Weighted load-balancing - балансировка нагрузки производится в соответствии с весом каждого коммутатора. Вес коммутатора назначается инженером на каждом коммутаторе отдельно. Например если в GLBP группе два коммутатора, у AVG вес 70 а у AVF 140, то нагрузка будет распределяться 1:2. Другими словами из трех полученных запросов на MAC-адрес AVG один раз ответит своим MAC-адресом и дважды MAC-адресом AVF коммутатора.
  • Host-dependent load-balancing - этот режим используется в случае если есть необходимость в реализации трансляции адресов Network Address Translation (NAT), так как этот режим гарантирует возвращение клиенту того же MAC-адреса AVF коммутатора который он использовал ранее и следовательно NAT сессия у клиента не прерывается. Клиенты будут получать те же MAC-адреса AVF до тех пор, пока количество коммутаторов в GLBP группе не изменится.
  • Round-robin load-balancing - режим используется по умолчанию. В этом режиме AVG выдает MAC-адреса AVF попеременно.

Режим preempt

Этот режим позволяет маршрутизатору с более высоким приоритетом перехватить роль activ.
В GLBP есть два режима preempt:
для AVG -- по умолчанию отключен,
для AVF -- по умолчанию включен, с задержкой 30 секунд.
По умолчанию режим preempt для AVG отключен. То есть, backup virtual gateway может стать AVG только если текущий AVG выйдет из строя.

Object Tracking

Удобная возможность повлиять на выбор AVF.
SWG1(config)# track 1 interface FastEthernet0/1 line-protocol
Указание объекта, который будет влиять на вес GLBP, если интерфейс выключается, то вес уменьшается на 11 (по умолчанию на 10):
SWG1(config-if)# glbp 1 weighting track 1 decrement 11
Настройка пороговых значений веса, которые регулируют будет ли маршрутизатор выполнять роль GLBP gateway. Для данного примера, начальное значение 200. Если интерфейс fa0/1 выключается, то значение становится 189. Так как оно меньше, чем значение lower, то маршрутизатор не может выполнять роль active forwarder. Когда интерфейс включится, то значение станет снова 200. Так как это больше чем значение upper, то маршрутизатор снова становится active forwarder:1
SWG1(config-if)# glbp 1 weighting 200 lower 192 upper 195
С помощью этих пороговых значений можно привязывать определенные значения весам таким образом, чтобы, например, если два интерфейса не доступны (с альтернативными путями к сети), то тогда маршрутизатор не будет выполнять роль active forwarder.

GLBP Client Cache

По умолчанию функция GLBP Client Cache отключена. После включения функции AVG начинает сохранять у себя информацию о том какие хосты используют какой gateway.
Включение GLBP Client Cache:
SWG1 (config-if)# glbp 0 client-cache
Просмотр информации о GLBP Client Cache (хранится только на AVG):
SWG1# show glbp detail
http://xgu.ru/wiki/GLBP

Keine Kommentare:

Kommentar veröffentlichen