Протокол резервирования виртуального маршрутизатора ( VRRP ) — это сетевой протокол , который обеспечивает автоматическое назначение доступных маршрутизаторов протокола Интернета (IP) участвующим хостам . Это повышает доступность и надежность путей маршрутизации посредством автоматического выбора шлюза по умолчанию в подсети IP .
Протокол достигает этого путем создания виртуальных маршрутизаторов, которые являются абстрактным представлением нескольких маршрутизаторов, т. е. первичных/активных и вторичных/резервных маршрутизаторов , действующих как группа. Виртуальный маршрутизатор назначается в качестве шлюза по умолчанию для участвующих хостов, а не физического маршрутизатора. Если физический маршрутизатор, который маршрутизирует пакеты от имени виртуального маршрутизатора, выходит из строя, выбирается другой физический маршрутизатор для его автоматической замены. Физический маршрутизатор, который пересылает пакеты в любой момент времени, называется первичным/активным маршрутизатором.
VRRP предоставляет информацию о состоянии маршрутизатора, а не о маршрутах, обрабатываемых и обмениваемых этим маршрутизатором. Каждый экземпляр VRRP ограничен по области действия одной подсетью. Он не объявляет маршруты IP за пределами этой подсети и не влияет на таблицу маршрутизации каким-либо образом. VRRP может использоваться в сетях Ethernet , MPLS и Token Ring с протоколом Internet Protocol Version 4 (IPv4), а также IPv6 .
Виртуальный маршрутизатор должен использовать 00-00-5E-00-01-XX в качестве своего адреса управления доступом к среде (MAC). Последний байт адреса (XX) — это идентификатор виртуального маршрутизатора (VRID), который отличается для каждого виртуального маршрутизатора в сети. Этот адрес используется только одним физическим маршрутизатором одновременно, и он ответит этим MAC-адресом, когда будет отправлен запрос ARP на IP-адрес виртуального маршрутизатора.
Физические маршрутизаторы внутри виртуального маршрутизатора должны взаимодействовать между собой, используя пакеты с многоадресным IP- адресом 224.0.0.18 и номером IP-протокола 112 [1] для IPv4 или ff02::12 и номером IP-протокола 112 для IPv6 [1] .
Маршрутизаторы, резервирующие виртуальный маршрутизатор, имеют приоритет от 1 до 254, и маршрутизатор с наивысшим приоритетом станет основным/активным. Приоритет по умолчанию — 100; для владельца MAC-адреса приоритет всегда равен 255.
Невозможность получить многоадресный пакет от основного/активного маршрутизатора в течение периода, превышающего трехкратный таймер объявления, заставляет вторичные/резервные маршрутизаторы предположить, что основной/активный маршрутизатор мертв. Затем виртуальный маршрутизатор переходит в нестабильное состояние, и инициируется процесс выборов для выбора следующего основного/активного маршрутизатора из вторичных/резервных маршрутизаторов. Это выполняется с помощью многоадресных пакетов.
Вторичные/резервные маршрутизаторы должны отправлять многоадресные пакеты только во время процесса выборов. Исключением из этого правила является случай, когда физический маршрутизатор настроен с более высоким приоритетом, чем текущий основной/активный, что означает, что при подключении к сети он будет иметь приоритет над основным/активным статусом. Это позволяет системному администратору принудительно переводить физический маршрутизатор в основное/активное состояние сразу после загрузки , например, когда этот конкретный маршрутизатор мощнее других в виртуальном маршрутизаторе. Вторичный/резервный маршрутизатор с наивысшим приоритетом становится основным/активным маршрутизатором, повышая свой приоритет выше приоритета текущего основного/активного. Затем он будет нести ответственность за маршрутизацию пакетов, отправленных на MAC-адрес виртуального шлюза. В случаях, когда все вторичные/резервные маршрутизаторы имеют одинаковый приоритет, вторичный/резервный маршрутизатор с наивысшим IP-адресом становится основным/активным маршрутизатором.
Все физические маршрутизаторы, действующие как виртуальный маршрутизатор, должны находиться в одном сегменте локальной сети (LAN). Связь внутри виртуального маршрутизатора происходит периодически. Этот период можно регулировать, изменяя таймеры интервала объявления. Чем короче интервал объявления, тем короче период черной дыры , хотя и за счет большего трафика в сети. Безопасность достигается путем реагирования только на пакеты первого перехода , хотя предусмотрены другие механизмы для усиления этого, особенно против локальных атак. Процесс выборов упорядочивается с помощью времени перекоса , выведенного из приоритета маршрутизатора и используемого для уменьшения вероятности возникновения проблемы «громового стада» во время выборов. Время перекоса определяется по формуле (256 − Приоритет ) / 256 (выражается в миллисекундах).
Использование вторичного/резервного маршрутизатора можно улучшить за счет распределения нагрузки. [1] : §4.2
Работа над VRRP началась в 1997 году с первого черновика, опубликованного Internet Engineering Task Force (IETF). В 1998 году протокол был официально определен. [2] VRRP является открытым стандартом, но Cisco заявила, что их Hot Standby Router Protocol , похожий, но запатентованный протокол с по сути теми же возможностями, запатентован и лицензирован. [3] Однако в 2001 году в ответ на прямой запрос Роберт Барр из Cisco ответил, что они не будут заявлять никаких патентных претензий, если только кто-то не попытается предъявить иск против Cisco. [4] IBM также заявляет о патентах, и их заявление можно прочитать на веб-странице IETF. [5] Все патенты, о которых идет речь, истекли. [6] [7]
Протокол был усовершенствован в 2004 году как версия 2. [8] Текущая версия VRRP версии 3 была опубликована в 2010 году. [1]
Mellanox предлагает MAGP, фирменный протокол на основе VRRP, который позволяет работать в режиме «активный-активный». [9]
Компания Foundry Networks разработала VRRP-E(Extended), фирменную версию VRRP, которая позволяет обойти некоторые ограничения RFC 3768 [10] [1]
Роберт Барр из CISCO Systems: Cisco не будет предъявлять никаких патентных претензий против кого-либо в связи с реализацией стандарта IETF для VRRP, если только патентная претензия не будет предъявлена против Cisco, в этом случае Cisco оставляет за собой право предъявлять патентные претензии в качестве защиты.