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

Ограничения протокола GLBP

 — Так же как HSRP и VRRP, протокол GLBP используется в Ethernet сетях (IEEE 802.3) 

 — Маршрутизатор должен поддерживать множественные MAC адреса на одном физическом интерфейсе

 — Enhanced Object Tracking (EOT) не может быть использован совместно с протоколом GLBP, если активирован режим SSO (Stateful switchover)

 — GLBP поддерживает до 1024 виртуальных роутеров (GLBP групп) на каждом физическом интерфейсе. И до 4-х виртуальных форвардеров в одной группе (то есть, если я правильно понимаю, балансировку нагрузки одновременно могут выполнять максимум 4 маршрутизатора)

 — Если GLBP используется на VLAN интерфейсе, то номер GLBP группы должен быть отличен от номера VLAN

Основные понятия протокола GLBP 

 Active Virtual Gateway (AVG) — активный виртуальный шлюз. Члены GLBP группы выбирают один маршрутизатор, который будет выполняет роль AVG, остальные будут работать в режиме резерва, что бы в случае выхода из строя AVG, заменить его. AVG назначает виртуальные MAC адреса для каждого члена GLBP группы. Каждый маршрутизатор с виртуальным MAC адресом имеет возможность отвечать на пакеты, пришедшие на этот MAC. Active Virtual Gateway отвечает на ARP запросы, приходящие на виртуальный IP адрес, и в ARP ответах отдает разные виртуальные MAC адреса для одного виртуального IP.

 Active Virtual Forwarders (AVF) — активные виртуальные форвардеры. Это маршрутизаторы в GLPB группе, которым AVG назначил виртуальный MAC адрес и которые участвуют в передаче пакетов.

 GLBP gateway priority — приоритет, который определяет, какой из резервных маршрутизаторов станет выполнять роль AVG, если текущий AVG станет не доступен. Значение приоритета может быть от 1 до 255. Если включен «glbp preempt», то маршрутизатор с наивысшим приоритетом станет выполнять роль AVG, даже если текущий AVG в нормальном состоянии.

 GLBP Gateway Weighting — вес маршрутизатора, определяет пропорциональность нагрузки на маршрутизатор. Вес может автоматически изменяться, в зависимости от состояния каналов, используя механизм Object Tracking.

 GLBP Client Cache — кэш, который содержит данные о хостах из сети, отправляющих пакеты на виртуальный роутер (GLPB группу). Запись в кэше создается, когда AVG получает от хоста из сети ARP запрос для виртуального IP адреса. Запись хранит информацию о том, какой хост из сети отправил ARP запрос и какой виртуальный форвардер (виртуальный MAC адрес) ассоциирован с этим хостом (то есть задает через какой маршрутизатор в группе данный хост будет осуществлять передачу пакетов). GLBP client cache может хранить информации о 2000 хостах для одной группы. Если кэш начинает использовать много оперативной памяти, то максимальное число хостов в кэше можно уменьшить командой «glbp client-cache maximum«. Если будет достигнут лимит кэша, то каждый новый клиент будет добавляться, а предыдущий удаляться из кэша. 

 GLBP Authentication — протокол GLPB поддерживает аутентификацию (MD5, plain text). Пакеты GLBP будут отбрасываться, если схема аутентификации GLPB группы отличается от схемы аутентификации в пришедшем пакете, либо если парольные фразы для «plain text» и MD5 хэши для MD5 аутентификации отличаются.

Участники GLBP взаимодействуют между собой с помощью «hello» пакетов, которые отправляются каждые 3 секунды на мультикаст адрес 224.0.0.102 и UDP порт 3222

 

Настройка протокола GLBP

Настройка протокола GLBP производится в режиме конфигурирования интерфейса и похожа на настройку протоколов HSRP и VRRP.

Для активирования GLPB, необходимо поместить интерфейс маршрутизатора в нужную GLPB группы и задать на нем виртуальный IP адрес, это проделать необходимо на всех маршрутизаторах, участвующих в резервировании/балансировке. Так же, нужно помнить, что на физическом интерфейсе должен быть прописан IP адрес.

 

Команда активирующая GLPB (в режиме конфигурации интерфейса):

 «glbp group_num ip ip_addr [secondary]» — помещает интерфейс в GLBP группу с номером group_num и задает IP адрес ip_addr для виртуального шлюза (нужно помнить, что если это VLAN интерфейс, то номер GLPB группы должен быть отличен от номера VLAN). Можно повторно ввести данную команду с опцией secondary и задать дополнительный (вторичный) IP адрес для виртуального роутера.

 

Данной команды уже достаточно для работы GLBP.  Дополнительную настройку протокола можно выполнить следующими командами: 

Настройка временных интервалов GLBP:

 «glbp group_num timers [msec] hellotime [msec] holdtime» — задает интервал времени hellotime между последовательностью hello пакетов отправляемых AVG в GLBP группу. holdtime — задает время в секундах, если не указана опция msec, после истечения которого информация в hello пакете будет считаться недействительной.

 «glbp group_num timers redirect redirect_time timeout» — задает интервал времени redirect_time в течении которого AVG ждёт возвращения виртуального форвардера (в случае его отказа). Виртуальный MAC адрес сбойного роутера по прежнему выдается в ARP запросах в течении redirect_time времени, но функцию маршрутизации возьмет на себя другой (живой) роутер в GLBP группе group_num. По истечении времени заданного в переменной timeout  с момента падения маршрутизатора, виртуальный MAC адрес сбойного роутера перестанет существовать на всех роутерах в GLPB группе, и пакеты отправленные на этот MAC адрес будут потеряны.

 

Настройка типа балансировки GLBP:

 «glbp group_num load-balancing [host-dependent | round-robin | weighted]» — указывает какой метод балансировки использовать для GLPB группы group_num

    host-dependent — определенный хост в сети всегда будет работать с одним и тем же маршрутизатором. Полезно при использовании сетевой трансляции адресов (NAT) 

    round-robin — поочередная обработка. То есть виртуальные MAC адреса  для виртуального IP адреса будут выдаваться в ответах на ARP запросы поочередно.

    weighted — балансировка будет происходить в соответствии с заданным весом на маршрутизаторах.

 

Настройка приоритета GLBP

 «glbp group_num priority level» — задает приоритет маршрутизатора. По умолчанию значение 100.

 «glbp group_num preempt [delay minimum seconds]» — задает возможность маршрутизатору забрать роль AVG, если его приоритет выше, чем приоритет текущего маршрутизатора с ролью AVG. Опция «delay minimum» позволяет задать задержку в секундах, перед тем как роль AVG заберется.

  

Настройка кэша клиентской информации: 

 «glbp group_num client-cache maximum number [timeout minutes]» — Активирует использование client-cache для GLBP группы group_num  (по умолчанию не используется). number — максимальное количество клиентов, информация о которых хранится в кэше (значение может быть от 8 до 2000). minutes — время в минутах, в течении которого информация хранится в кэше о конкретном клиенте, с момента последнего обновления (задается в интервале от 1 до 1440 ). Рекомендуется время minutes использовать немного большим, чем ожидаемое значение времени timeout ARP cache у клиента.

 

Настройка аутентификации GLBP:

 «glbp group_num authentication md5 key-string [ 0 | 7] key» — включает в группе аутентификацию MD5 с использованием кодовой строки key. 0 — парольная строка key вводится не в зашифрованном виде, 7 — в зашифрованном

 «glbp group_num authentication md5 key-chain keychain» — включает MD5 аутентификацию с использованием ключевой цепочки keychain

 «glbp group_num authentication text string» — включает Plain text аутентификацию с использованием строки string

 

Настройка веса маршрутизатора для GLBP:

 «glbp group_num weighting maximum [lower lower] [upper upper]» — задает вес маршрутизатора maximum и устанавливает нижнюю lower и верхнюю upper границы веса.

 «glbp group_num weighting track object-number [decrement value]» — задает динамическое изменение веса в зависимости от состояния канала или интерфейса, за которым включено наблюдение object-number. Слежение (наблюдение) за интерфейсом задается в режиме глобального конфигурирования командой: «track object-number interface type number {line-protocol | ip routing

 «glbp group_num forwarder preempt [delay minimum seconds]» — задает возможность маршрутизатору забирать роль активного виртуального форвардера (AVF), если у текущего AVF падает вес к нижнему порогу.

 

Пример настройки GLBP на Cisco

Для примера возьмём ту же схему, что была в примере по настройке протокола HSRP и VRRP.

Cisco GLBP - схема

Сеть NET1 (192.168.0.0/24), сеть NET2 (10.0.2.0/24). Нужно создать балансировку роутеров R1 и R2 по протоколу GLBP с виртуальным IP 192.168.0.254 для сети NET1 и 10.0.2.254 для сети NET2.

 

Фрагмент конфигурации R1:

interface FastEthernet0/0
  ip address 192.168.0.35 255.255.255.0
  duplex auto
  speed auto
  glbp 192 ip 192.168.0.254
  glbp 192 priority 200
  glbp 192 authentication text SecKey1
!
interface FastEthernet0/1
  ip address 10.0.2.35 255.255.255.0
  duplex auto
  speed auto
  glbp 10 ip 10.0.2.254
  glbp 10 priority 200
  glbp 10 authentication text SecKey2
!

 

Фрагмент конфигурации R2:

interface FastEthernet0/0
  ip address 192.168.0.36 255.255.255.0
  duplex auto
  speed auto
  glbp 192 ip 192.168.0.254
  glbp 192 authentication text SecKey1
!
interface FastEthernet0/1
  ip address 10.0.2.36 255.255.255.0
  duplex auto
  speed auto
  glbp 10 ip 10.0.2.254
  glbp 10 authentication text SecKey2
!

 

Посмотреть состояние протокола GLBP можно командой «show glbp«:

R1#show glbp
FastEthernet0/0 - Group 192
  State is Active
    2 state changes, last state change 00:12:55
  Virtual IP address is 192.168.0.254
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 1.404 secs
  Redirect time 600 sec, forwarder time-out 14400 sec
  Preemption disabled
  Active is local
  Standby is 192.168.0.36, priority 100 (expires in 8.776 sec)
  Priority 200 (configured)
  Weighting 100 (default 100), thresholds: lower 1, upper 100
  Load balancing: round-robin
  There are 2 forwarders (1 active)
  Forwarder 1
   State is Active
     1 state change, last state change 00:12:45
   MAC address is 0007.b400.c001 (default)
   Owner ID is c200.12f8.0000
   Redirection enabled
   Preemption enabled, min delay 30 sec
   Active is local, weighting 100
   Arp replies sent: 3
  Forwarder 2
   State is Listen
   MAC address is 0007.b400.c002 (learnt)
   Owner ID is c201.12f8.0000
   Redirection enabled, 597.080 sec remaining (maximum 600 sec)
   Time to live: 14397.080 sec (maximum 14400 sec)
   Preemption enabled, min delay 30 sec
   Active is 192.168.0.36 (primary), weighting 100 (expires in 7.072 sec)
FastEthernet0/1 - Group 10
  State is Active
    2 state changes, last state change 00:09:11
  Virtual IP address is 10.0.2.254
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 0.344 secs
  Redirect time 600 sec, forwarder time-out 14400 sec
  Preemption disabled
  Active is local
  Standby is 10.0.2.36, priority 100 (expires in 7.060 sec)
  Priority 200 (configured)
  Weighting 100 (default 100), thresholds: lower 1, upper 100
  Load balancing: round-robin
  There are 2 forwarders (1 active)
  Forwarder 1
   State is Active
     1 state change, last state change 00:09:17
   MAC address is 0007.b400.0a01 (default)
   Owner ID is c200.12f8.0001
   Redirection enabled
   Preemption enabled, min delay 30 sec
   Active is local, weighting 100
   Arp replies sent: 3
  Forwarder 2
   State is Listen
   MAC address is 0007.b400.0a02 (learnt)
   Owner ID is c201.12f8.0001
   Redirection enabled, 598.756 sec remaining (maximum 600 sec)
   Time to live: 14398.752 sec (maximum 14400 sec)
   Preemption enabled, min delay 30 sec
   Active is 10.0.2.36 (primary), weighting 100 (expires in 8.748 sec)
R1#

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *