Введение
Протокол межмаршрутной маршрутизации, автоматически назначающий маршрутизаторы хостам.
Протокол виртуальной избыточности маршрутизаторов (VRRP) – это компьютерный сетевой протокол, обеспечивающий автоматическое назначение доступных маршрутизаторов Интернет-протокола (IP) участвующим хостам. Это повышает доступность и надежность маршрутизационных путей за счет автоматического выбора шлюза по умолчанию в IP-подсети. Протокол достигает этого путем создания виртуальных маршрутизаторов, представляющих собой абстрактное объединение нескольких маршрутизаторов, то есть первичного/активного и вторичного/резервного маршрутизаторов, работающих как группа. Виртуальный маршрутизатор назначается в качестве шлюза по умолчанию для участвующих хостов вместо физического маршрутизатора. Если физический маршрутизатор, осуществляющий маршрутизацию пакетов от имени виртуального маршрутизатора, выходит из строя, другой физический маршрутизатор автоматически заменяет его. Физический маршрутизатор, пересылающий пакеты в данный момент времени, называется основным/активным маршрутизатором. VRRP предоставляет информацию о состоянии маршрутизатора, но не о маршрутах, обрабатываемых и обмениваемых этим маршрутизатором. Каждая инстанция VRRP ограничена одной подсетью. Он не распространяет IP-маршруты за пределы этой подсети и никак не влияет на таблицу маршрутизации. VRRP может использоваться в сетях Ethernet, MPLS и Token Ring с версией 4 протокола Интернет (IPv4), а также с IPv6.
Реализация
Виртуальный маршрутизатор должен использовать в качестве своего MAC-адреса. Последний байт адреса (XX) является идентификатором виртуального маршрутизатора (VRID), который уникален для каждого виртуального маршрутизатора в сети. Этот адрес используется только одним физическим маршрутизатором одновременно, и он будет отвечать этим MAC-адресом при получении ARP-запроса на IP-адрес виртуального маршрутизатора. Физические маршрутизаторы, входящие в состав виртуального маршрутизатора, должны взаимодействовать друг с другом, используя пакеты с IP-адресом многоадресной рассылки и номером протокола IP 112 для IPv4 или номером протокола IP 112 для IPv6. Маршрутизаторы, выполняющие резервное копирование виртуального маршрутизатора, имеют приоритет от 1 до 254, при этом маршрутизатор с наивысшим приоритетом становится основным/активным. Значение приоритета по умолчанию — 100; для маршрутизатора, которому принадлежит MAC-адрес, приоритет всегда равен 255.
Выбор основных/активных маршрутизаторов
Неполучение мультикастного пакета от основного/активного маршрутизатора в течение времени, превышающего утроенный интервал рекламы, приводит к тому, что вторичные/в режиме ожидания маршрутизаторы считают основной/активный маршрутизатор неисправным. Виртуальный маршрутизатор затем переходит в неустойчивое состояние и запускается процесс выбора следующего основного/активного маршрутизатора из числа вторичных/в режиме ожидания маршрутизаторов. Это осуществляется посредством мультикастных пакетов. Вторичные/в режиме ожидания маршрутизаторы должны отправлять мультикастные пакеты только в процессе выборов. Исключением из этого правила является ситуация, когда физический маршрутизатор сконфигурирован с более высоким приоритетом, чем текущий основной/активный, что означает, что при подключении к сети он перехватит статус основного/активного. Это позволяет системному администратору принудительно перевести физический маршрутизатор в основное/активное состояние сразу после загрузки, например, когда данный маршрутизатор обладает большей производительностью, чем другие в виртуальном маршрутизаторе. Вторичный/в режиме ожидания маршрутизатор с наивысшим приоритетом становится основным/активным, повышая свой приоритет над приоритетом текущего основного/активного маршрутизатора. После этого он берет на себя ответственность за маршрутизацию пакетов, направленных на MAC-адрес виртуального шлюза. Если у всех вторичных/в режиме ожидания маршрутизаторов одинаковый приоритет, то основным/активным становится вторичный/в режиме ожидания маршрутизатор с наивысшим IP-адресом. Все физические маршрутизаторы, функционирующие как виртуальный маршрутизатор, должны находиться в одном сегменте локальной сети (LAN). Обмен данными внутри виртуального маршрутизатора происходит периодически. Этот период можно изменить, регулируя интервалы рекламы. Чем короче интервал рекламы, тем короче период недоступности, но это происходит за счет увеличения трафика в сети. Безопасность обеспечивается обработкой только пакетов первого «прыжка», хотя для усиления этой защиты предусмотрены и другие механизмы, особенно против локальных атак. Процесс выборов упорядочивается за счет использования смещения времени, вычисляемого на основе приоритета маршрутизатора, что позволяет снизить вероятность возникновения проблемы «громовой стаи» во время выборов. Смещение времени рассчитывается по формуле (256 − Priority) / 256 (в миллисекундах). Эффективность использования вторичных/в режиме ожидания маршрутизаторов можно повысить за счет балансировки нагрузки.
История
Работа над VRRP началась в 1997 году с публикации первого проекта Internet Engineering Task Force (IETF). В 1998 году протокол был официально определён. VRRP является открытым стандартом, однако Cisco заявляла, что их протокол Hot Standby Router Protocol, аналогичный, но проприетарный протокол с практически идентичной функциональностью, запатентован и лицензирован. Тем не менее, в 2001 году, в ответ на прямой запрос, Роберт Барр из Cisco сообщил, что они не будут заявлять о каких-либо патентных правах, если кто-либо не попытается предъявить претензии к Cisco. IBM также заявляет о наличии патентов, покрывающих данную технологию, и их заявление доступно на веб-странице IETF. Все соответствующие патенты истекли. В 2004 году протокол был усовершенствован и выпущен в виде версии 2. Версия VRRP 3, являющаяся текущей версией, была опубликована в 2010 году.