Общие сведения о протоколе HSRP
Создана 23.10.2023
Отредактирована 10.11.2023
Отредактирована 10.11.2023
HSRP (Hot Standby Router Protocol) — протокол маршрутизации семейства FHRP (англ. First-hop redundancy protocols), разработанный компанией Cisco и стандартизованный в RFC 2281 этот документ для HSRPv1.
Cisco предоставляет HSRP и HSRP для IPv6 как способ избежать потери доступа к внешней сети в случае сбоя маршрутизатора по умолчанию. Проприетарный протокол Cisco HSRP, предназначенный для обеспечения сквозного переключения IPv4-устройства первого перехода.
Протокол HSRP обеспечивает высокую доступность сети благодаря предоставлению функций обеспечения избыточности для маршрутизации на первом хопе для IPv4-узлов в сетях, настроенных с использованием IPv4-адреса шлюза по умолчанию. HSRP используется группой маршрутизаторов для выбора активного и резервного устройств. В рамках группы интерфейсов устройства активным называется устройство, используемое для маршрутизации пакетов; резервным — устройство, которое задействуется в случае сбоя активного устройства или при выполнении предварительно заданных условий. Задача резервного маршрутизатора HSRP заключается в мониторинге рабочего состояния группы HSRP и быстром переходе к выполнению функций пересылки пакетов в случае сбоя активного маршрутизатора.
Настройка протокола HSRP в симуляторе Cisco Packet Tracer
Отличия HSRP версии 1 и версии 2
Протокол HSRP представлен в двух версиях. Рассмотрим их отличия. Версия HSRP 2 предназначена для устранения следующих ограничений версии HSRP 1:
- В HSRP версии 1 значения миллисекундного таймера не объявляются и не изучаются. HSRP версии 2 объявляет и изучает значения миллисекундного таймера. Это изменение обеспечивает стабильность групп HSRP во всех случаях.
- В версии 1 HSRP номера групп ограничены диапазоном от 0 до 255. Версия HSRP 2 расширяет диапазон номеров групп от 0 до 4095.
- HSRP версии 2 обеспечивает улучшенное управление и устранение неполадок. В версии HSRP 1 вы не можете использовать активные сообщения приветствия HSRP для определения того, какое физическое устройство отправило сообщение, поскольку исходный MAC-адрес является виртуальным MAC-адресом HSRP. Формат пакета HSRP версии 2 включает 6-байтовое поле идентификатора, которое используется для уникальной идентификации отправителя сообщения. Обычно это поле заполняется MAC-адресом интерфейса.
- Многоадресный адрес 224.0.0.2 используется для отправки приветственных сообщений HSRP. Этот адрес может конфликтовать с обработкой отпуска по протоколу Cisco Group Management (CGMP).
Версия 1 является версией HSRP по умолчанию.
HSRP версии 2 использует новый многоадресный IP-адрес 224.0.0.102 для отправки пакетов приветствия вместо многоадресного адреса 224.0.0.2, используемого в HSRP версии 1. Этот новый многоадресный адрес позволяет включать обработку выхода CGMP одновременно с HSRP.
HSRP версии 2 допускает расширенный диапазон номеров групп от 0 до 4095 и, следовательно, использует новый диапазон MAC-адресов от 0000.0C9F.F000 до 0000.0C9F.FFFF. Увеличение диапазона номеров групп не означает, что интерфейс может или должен поддерживать такое количество групп HSRP. Расширенный диапазон номеров групп был изменен, чтобы номер группы соответствовал номеру VLAN на субинтерфейсах.
При изменении версии HSRP каждая группа будет повторно инициализирована, поскольку теперь у нее есть новый виртуальный MAC-адрес.
Формат пакета HSRP версии 2 отличается от формата пакета HSRP версии 1. В формате пакета используется формат типа-длины-значения (TLV - type-length-value). Пакеты HSRP версии 2, полученные устройством HSRP версии 1, будут иметь поле типа, сопоставленное с полем версии HSRP версии 1, и впоследствии игнорируются.
Протокол балансировки нагрузки шлюза (GLBP) также устраняет те же ограничения по отношению к HSRP версии 1, что и HSRP версии 2. Дополнительную информацию о GLBP см. в документе «Настройка GLBP».
Протокол | HSRPv1 | HSRPv2 |
Номера групп (group numbers) | 0 - 255 | 0 - 4095 |
Виртуальный MAC адрес | 0000.0C07.ACXX (XX = group number) | 0000.0C9F.Fxxx (XXX = group number) |
Многоадресный адрес | 224.0.0.2 | 224.0.0.102 |
Поддержка аутентификации MD5 | нет | да |
Примечание: HSRP версии 1 и 2 имеют разные форматы пакетов. Оба не совместимы друг с другом. Обе стороны интерфейса должны иметь одинаковую версию.
До введения аутентификации HSRP MD5 пакеты протоколов HSRP аутентифицировались с помощью простой текстовой строки. Аутентификация HSRP MD5 — это усовершенствование, позволяющее генерировать дайджест MD5 для части HSRP многоадресного пакета протокола HSRP. Эта функция обеспечивает дополнительную безопасность и защищает от угроз со стороны программного обеспечения, подменяющего HSRP.
Аутентификация MD5 обеспечивает большую безопасность, чем альтернативная схема аутентификации с использованием обычного текста. Аутентификация MD5 позволяет каждому члену группы HSRP использовать секретный ключ для генерации хэша MD5 с ключом, который является частью исходящего пакета. Генерируется хеш-код входящего пакета, и если хеш-код во входящем пакете не соответствует сгенерированному хешу, пакет игнорируется.
Аутентификация по алгоритму HSRP message digest 5 (MD5) защищает от программного обеспечения, подменяющего HSRP, и использует стандартный для отрасли алгоритм MD5 для повышения надежности и безопасности. HSRP включает адрес IPv4 или IPv6 в TLV аутентификации.
MD5 (англ. Message Digest 5) — 128-битный алгоритм хеширования, разработанный профессором Рональдом Л. Ривестом из Массачусетского технологического института (Massachusetts Institute of Technology, MIT) в 1991 году. Предназначен для создания «отпечатков» или дайджестов сообщения произвольной длины и последующей проверки их подлинности. Широко применялся для проверки целостности информации и хранения хешей паролей.
Формат пакетов HSRPv1
Протокол HSRP работает поверх UDP (инкапсулирован в UDP) и использует номер порта 1985. Пакеты отправляются на адрес многоадресной рассылки 224.0.0.2 с TTL 1.
Маршрутизаторы используют свой фактический IP-адрес в качестве адреса источника пакетов протокола, а не виртуальный IP-адрес. Это необходимо для того, чтобы маршрутизаторы HSRP могли идентифицировать друг друга.
Формат части данных дейтаграммы UDP:
Приоритет и приоритетное вытеснение HSRP
Роль активных (Active) и резервных (Standby) маршрутизаторов определяется во время процесса выбора HSRP. По умолчанию в качестве активного выбирается маршрутизатор с максимальным в численном отношении адресом IPv4. Однако всегда лучше контролировать, как сеть будет работать в нормальных условиях, чем оставлять это на волю случая.
Для определения активного маршрутизатора можно использовать приоритет HSRP.
Маршрутизатор с наивысшим приоритетом HSRP станет активным маршрутизатором.
По умолчанию приоритет HSRP равен 100.
Если приоритеты равны, то в качестве активного выбирается маршрутизатор с максимальным в численном отношении адресом IPv4.
Чтобы настроить маршрутизатор в качестве активного, используйте команду интерфейса standby priority. Приоритеты HSRP имеют диапазон от 0 до 255.
По умолчанию, после того как маршрутизатор становится активным, он остается таковым, даже если в сети появляется другой маршрутизатор с более высоким приоритетом HSRP.
Чтобы принудительно провести новый процесс выборов HSRP, когда маршрутизатор с более высоким приоритетом подключается в оперативный режим, необходимо включить механизм приоритетного вытеснения с помощью команды интерфейса standby preempt.
Приоритетное вытеснение — это способность маршрутизатора HSRP запускать процесс повторного выбора. Если приоритетное вытеснение включено, то при появлении в сети маршрутизатора с более высоким приоритетом HSRP он становится активным маршрутизатором.
Приоритетное вытеснение позволяет маршрутизатору стать активным, только если у него более высокий приоритет. Если у маршрутизатора такой же приоритет, но больший адрес IPv4, он не будет вытеснять действующий активный маршрутизатор. См. сетевую схему на рисунке 1.
Примечание. Если приоритетное вытеснение отключено, то активным маршрутизатором становится первый загруженный маршрутизатор,
если во время процесса выбора в сети нет других маршрутизаторов.
если во время процесса выбора в сети нет других маршрутизаторов.
Скачать файл для программы Cisco Packet Tracer -
Protocol_HSRPv1_for_Router.pkt
Рис. 1. Сетевая схема, протокол HSRPv1 настроен на маршрутизаторах R1 и R2.
Скачать файл для программы Cisco Packet Tracer -
Protocol_HSRPv2_for_Switch_L3.pkt
Рис. 2. Сетевая схема, протокол HSRPv2 настроен на коммутаторах L3.
Команда резервного отслеживания - track
Команда резервного отслеживания standby 0 track позволяет вам указать другой интерфейс на маршрутизаторе, который будет контролировать процесс HSRP, чтобы изменить приоритет HSRP для данной группы. Если указанный интерфейс выходит из строя, приоритет HSRP снижается. Это означает, что другой маршрутизатор HSRP с более высоким приоритетом может стать активным маршрутизатором, если на этом маршрутизаторе включено резервное вытеснение.
На сетевой схеме HSRP настроен следующим образом:
- R1 является активным маршрутизатором и отслеживает состояние интерфейса R1 Gi0/0/0. Когда R1 является активным маршрутизатором, весь трафик от хостов (PC0 и PC1) к web server направляется через R1.
- R2 является резервным маршрутизатором и отслеживает состояние интерфейса Gi0/1/0 R2.
- Если интерфейс Gi0/0/0 маршрутизатора R1 выходит из строя, приоритет HSRP R1 уменьшается на 10. В этот момент приоритет HSRP R2 выше, чем у R1, и R2 становится активным маршрутизатором.
- Когда R2 становится активным маршрутизатором, весь трафик от хостов к серверам направляется через R2.
Состояния и таймеры HSRP
По умолчанию активные и резервные маршрутизаторы HSRP отправляют пакеты приветствия на групповой адрес группы HSRP каждые 3 секунды. Резервный маршрутизатор станет активным, если он не получает сообщения приветствия от активного маршрутизатора в течение 10 секунд. Эти настройки таймера можно уменьшить, чтобы ускорить переключение при отказе или приоритетное вытеснение. Однако чтобы избежать повышения нагрузки на ЦП и ненужных изменений резервного состояния, не устанавливайте таймер приветствия менее, чем на 1 секунду, а таймер удержания — менее, чем на 4 секунды.
Состояние HSRP | Описание |
---|---|
Initial | Это состояние возникает при изменении конфигурации или в том случае, когда интерфейс впервые становится доступным. |
Learn | Маршрутизатор не определил виртуальный IP-адрес и пока не получил сообщения приветствия от активного маршрутизатора. В этом состоянии маршрутизатор ожидает получения сообщения приветствия от активного маршрутизатора. |
Listen | Маршрутизатору известен виртуальный IP-адрес, но маршрутизатор не является ни активным, ни резервным маршрутизатором. Он прослушивает сообщения приветствия от этих маршрутизаторов. |
Speak | Маршрутизатор отправляет периодические сообщения приветствия и активно участвует в процессе выбора активного и/или резервного маршрутизатора. |
Standby | Маршрутизатор является кандидатом на роль следующего активного маршрутизатора и периодически отправляет сообщения приветствия. |
Active | Маршрутизатор в настоящее время пересылает пакеты, которые отправляются на виртуальный MAC-адрес группы. Маршрутизатор периодически отправляет сообщения Hello. За исключением переходных условий, в группе ДОЛЖЕН быть не более одного маршрутизатора в активном состоянии. |
Проверка HSRP
Активный маршрутизатор HSRP имеет следующие характеристики:
- Отвечает на ARP-запросы шлюза по умолчанию, отправляя MAC-адрес виртуального маршрутизатора.
- Выполняет активную пересылку пакетов для виртуального маршрутизатора.
- Отправляет сообщения приветствия.
- Содержит данные IP-адреса виртуального маршрутизатора.
Резервный маршрутизатор HSRP имеет следующие характеристики:
- Прослушивает периодические сообщения приветствия.
- Выполняет активную пересылку пакетов, если данные не поступают с активного маршрутизатора.
Для проверки состояния HSRP используется команды:
- show standby
- show standby brief