# Virtual Router Redundancy Protocol

El Protocol de Redundància d'Encaminador Virtual (VRRP) és un protocol de xarxa que procura l'assignació automàtica d'encaminadors IP. Això augmenta la disponibilitat i fiabilitat de l'encaminament de les dades, mitjançant l'assignació automàtica de la passarel·la predeterminada d'una subxarxa IP.
El protocol el fa en crear encaminadors virtuals, que són una representació abstracta de múltiples encaminadors, per exemple, un encaminador mestre i encaminadors de còpia de seguretat, actuant com a grup. A un amfitrió de la xarxa se li assigna la IP de l'encaminador virtual com a passarel·la predeterminada, en comptes d'un de físic. Si l'encaminador físic que fa la tasca d'encaminament de paquets falla, se'n selecciona un altre de virtual que el reemplaça de forma automàtica. L'encaminador físic que envia els paquets en un moment donat s' anomena encaminador mestre.
El VRRP facilita informació de l'estat d'un encaminador, no les rutes que aquest processa i intercanvia. Cada instància de VRRP té limitada l'actuació dins una sola subxarxa. No anuncia rutes d'IP que no siguin de la seva subxarxa, ni afecta la taula d'encaminament de cap altra forma. Es pot utilitzar VRRP en xarxes Ethernet, MPLS i d'Anell de confiança tant amb la Versió del Protocol de l'Internet 4 (IPv4), com amb l'IPv6.
El protocol es descriu a la publicació de l'IETF del [rfc:5798 RFC] 5798, el qual és un estàndard obert, però Cisco reclama que té patentat un protocol similar amb essencialment les mateixes funcionalitats. Tot i això, en resposta a una pregunta directa, Robert Barr de Cisco va respondre l'any 2001 que no farien cap reclamació d'infracció de patent a no ser que algú en fes alguna contra Cisco. IBM també reclama que té patents afectades i la seva declaració al respecte es pot llegir a la pàgina web de l'IETF

## Implementació

Un encaminador virtual ha d'utilitzar l'adreça MAC 00-00-5E-00-01-XX. L'últim byte de l'adreça, XX, és l'Identificador de l'Encaminador Virtual (Virtual Router IDentifier, o VRID), el qual és diferent per cada encaminador virtual de la xarxa. Aquesta adreça s'utilitza en un únic encaminador físic simultàniament i respondrà amb aquesta adreça MAC quan rebi una petició ARP dirigida a l'adreça IP de l'encaminador virtual.
Els encaminadors físics dins de l'encaminador virtual s'han de comunicar entre ells utilitzant paquets amb l'adreça IP de difusió selectiva 224.0.0.18 i número de protocol IP 112.
Els encaminadors tenen una prioritat d'1 a 255 i l'encaminador amb la prioritat més alta esdevindrà el mestre. La prioritat predeterminada és 100, per propietari d'adreça la prioritat és sempre 255.

## Elecció de l'encaminador mestre

La fallada en no rebre paquets de difusió selectiva de l'encaminador mestre per un període superior al triple del període temporitzat, provoca que els encaminadors de reserva assumeixin que el mestre ha deixat de funcionar. Aleshores l'encaminador virtual passa a l'estat de no estable i s'inicia el procés d'elecció del següent encaminador mestre d'entre els encaminadors de reserva. Això s'assoleix mitjançant l'ús de paquets de difusió selectiva.
S'assumeix que els encaminadors de reserva només enviaran paquets de difusió selectiva durant un procés d'elecció. Una excepció a aquesta regla és quan un encaminador físic es configura amb una prioritat més alta que el mestre actual, el qual significa que mentre estigui connectat a la xarxa tindrà l'estat de mestre. Això permet a un administrador de sistemes forçar un encaminador físic a l'estat de mestre immediatament després de posar-lo en marxa, per exemple quan aquell encaminador particular és més potent que d'altres dins l'encaminador virtual. L'encaminador de reserva amb la prioritat més alta esdevé l'encaminador mestre augmentant la seva prioritat per sobre de la del mestre actual. Aleshores aquest es responsabilitzarà de l'encaminament dels paquets enviats a l'adreça MAC de la passarel·la virtual. En casos on els encaminadors de reserva tenen tots la mateixa prioritat, esdevé mestre el que té l'adreça IP més alta.
Tots els encaminadors físics que actuen d'encaminador virtual han de ser al mateix segment de xarxa. Dins l'encaminador virtual els dispositius es comuniquen de forma periòdica. Aquest període es pot ajustar a fi de canviar l'interval de l'anunci. Quan més curt sigui aquest interval de temps, més curt serà el temps sense encaminament en cas de fallada, això a costa de més trànsit a la xarxa. La seguretat s'assoleix responent només a paquets en el seu primer salt, encara que hi ha altres mecanismes a fi de reforçar-ho, particularment contra atacs locals. El procés d'elecció es fa de forma ordenada utilitzant un temps lleugerament manilpulat, derivat de la prioritat de l'encaminador i utilitzat per a reduir la possibilitat d'efecte allau que succeeix durant una elecció. La manipulació temporal ve donada per la fórmula (expressat en mil·lisegons) RFC 3768 .$({256-Priority)}/{256}$
Es pot millorar la utilització dels encaminadors de reserva utilitzant balanceig de càrrega. Més informació a l'RFC 5798.

## Història

El VRRP es basa en els conceptes del protocol Hot Standby Router Protocol (HSRP) de Cisco Systems. Tot i ser semblants en el concepte, els dos protocols no són compatibles.

## Vegeu també

* Common Address Redundancy Protocol (CARP) - Un protocol lliure i sense restriccions alternatiu a HSRP o VRRP.
* Gateway Load Balancing Protocol - Un protocol propietat de Cisco de redundància d'encaminadors que proporciona balanceig de càrrega
* Hot Standby Routing Protocol - Un protocol propietat de Cisco de redundància d'encaminadors.
* First Hop Redundancy Protocols - Relació de protocols de redundància de pasarel·la pretederminada.
* R-SMLT - Protocol d'encaminament propietari de Nortel.

## Referències

* ↑ IETF source
* ↑ Alexandre Cassen (2001-11-30).
* ↑ Chuck Adams, IBM (2003-04-15).
* ↑ Section 5.2.4.

## Enllaços externs

Implementacions
* VRRPd - A GPL licensed implementation of VRRP designed for Linux operationg systems desenvolupament aturat el novembre de 2011, però en va fer un fork en Bourgeois Frédéric Advanced VRRPd - A GPL licensed implementation of VRRP designed for Linux operating systems
* Keepalived - Una implementació amb llicència GPL de VRRPv2 per a sistemes operatius Gnu/Linux.