21. FHRP. HSRP
Проблема отказоустойчивости шлюза
Кадры пользователей обычно терминируются на маршрутизаторе
Как бы ни была надежна коммутируемая сеть, при отказе маршрутизатора передача трафика невозможна
В IPv4 нет штатных механизмов отказоустойчивости шлюза
Принцип работы FHRP
FHRP - First Hop Redundancy Protocol
Шлюзом по умолчанию узлам назначается виртуальный IP-адрес
Маршрутизаторы договариваются, кто обслуживает этот IP-адрес
При отказе оставшиеся маршрутизаторы продолжают обслуживание
Cравнение протоколов FHRP
Стандартные протоколы:
VRRP (Virtual Router Redundancy Protocol) - RFC 5798, патентные проблемы относительно HSRP
Проприетарные протоколы:
HSRP (Hot Standby Router Protocol) - RFC 2281, лицензируемый Cisco
GLBP (Gateway Load Balancing Protocol) - Cisco-специфичный
ESRP (Extreme Standby Router Protocol) - Extreme-специфичный
R-SMLT (Routed Split Multi-Link Trunking) - Avaya-специфичный
Непроприетарные протоколы:
CARP (Common Address Redundancy Protocol) - BSD/Linux, не стандартизирован
Описание HSRP
Маршрутизаторы HSRP объединяются в группу
Один из маршрутизаторов в группе выбирается активным за группу
Отвечает на запросы ARP предсказуемым виртуальным MAC-адресом
Форвардит IP-пакеты в кадрах, приходящих на виртуальный MAC
Отправляет Hello-пакеты (по умолчанию раз в 3 секунды)
Другой маршрутизатор выбирается запасным за группу
Слушает Hello от активного (если не слышит - сам становится активным)
Отправляет Hello-пакеты (по умолчанию раз в 3 секунды)
Все остальные маршрутизаторы (если есть) не делают ничего
Слушают Hello от запасного, если не слышат - происходят выборы запасного
Включение HSRP
Для включения HSRP необходимо задать группу и виртуальный IP
Выборы идут в течение Hold Time. Выборы выигрывает роутер с большим MAC адресом
Дополнительно можно назначить приоритет
Приоритет по умолчанию - 100
Активным всегда становится запасной маршрутизатор, но при выборах запасного выигрывает маршрутизатор с большим приоритетом
Preempting разрешает перехватить роль активного, если текущий приоритет запасного больше приоритета текущего активного
При смене активного роутера рассылается GARP для оповещения соседей в среде
Если IP за группу не указывать, то IP будет выбран больший из участников группы
Диагностика HSRP
Сосуществование HSRP и STP
Обычно маршрутизация выполняется на distribution-коммутаторах
Для защиты от петли между access-свитчами может использоваться STP
STP выберет разные корневые коммутаторы в разных VLAN
Простейшая балансировка
Роль активного роутера следует совмещать с ролью STP Root
Таймеры HSRP
Hello Timer указывает частоту отправки Hello пакетов, по умолчанию 3 сек
Hold Time указывает время ожидания Hello, по умолчанию 10 сек
В HSRPv2 можно назначить субсекундные таймеры
HSRP использует Hold Time для:
Определения отказа соседа, используется Hold Time из Hello
Определение времени выборов, используется собственный таймер
Состояние HSRP
Init - HSRP на интерфейсе не работоспособен
Learn - HSRP ожидает определения виртуального IP-адреса
Listen - HSRP ожидает возможности устроить выборы запасного
Speak - производятся выборы запасного роутера
Standby - HSRP ожидает возможности стать основным роутером
Active - HSRP захватил роль основного роутера
Проблема выхода трафика
HSRP может работать прекрасно, выбрав активный роутер
Однако это не решает проблему обработки отказа
Отслеживание объектов
В некоторых случаях необходимо временно понизить приоритет роутера и "добровольно" отдать роль активного роутера запасному
В случае падения интерфейса до ядра сети
В случае падения маршрута в сеть
Формат команды: standby <group> track <object> decrement <value>
При отсутствии указания декремента подразумевается значение в 10
Отслеживание интерфейсов
IOS старых версий (до 15.0) имел возможность указания в HSRP отслеживания интерфейсов, без создания объекта отслеживания
В IOS 15.0 команды старого синтаксиса применяются, но автоматически создают конфигурацию с объектами, отслеживающими интерфейсы
В новых IOS команды старого синтаксиса не поддерживаются
Инкапсуляция HSRP
HSRP использует следующую схему инкапсуляции:
Ethernet: HSRP Virtual MAC для активного, unicast MAC для запасного
IPv4: IP-адрес получателя: 224.0.0.2 all-routers (HSRPv1), 224.0.0.102 (HSRPv2)
UDP: Порты источника и получателя - 1985
Аутентификация HSRP
HSRP поддерживает две схемы аутентификации:
Подпись пакетов открытым паролем:
Подпись пакетов хэшем MD5 от содержимого пакета и текстового ключа
По умолчанию все пакеты подписываются открытым паролем "cisco"
По сути не защищает от появления в канальной среде постоянного роутера с фиктивно внесенными данными, полученными в канальной среде через ARP. Используем DAI для таких случаев.
Отличия HSRPv2 от HSRPv1
Поддержка субсекундных таймеров
Поддержка IPv6
Использование других портов UDP (2029 вместо 1985)
Использование Multicast IP FF02::66
Поддержка до 4096 групп в канале
Virtual MAC HSRPv2 - 0000.0C9F.Fxxx, где xx - номер группы
Virtual MAC HSRPv1 - 0000.0C07.ACxx, где xx - номер группы
Использование отдельного Multicast IP, не конфликтующего с другими протоколами
Last updated