# Virtual Router Redundancy Protocol

Virtual Router Redundancy Protocol (protocole de redondance de routeur virtuel, VRRP) est un protocole standard dont le but est d'augmenter la disponibilité de la passerelle par défaut des hôtes d'un même réseau. Le principe est de définir la passerelle par défaut pour les hôtes du réseau comme étant une adresse IP virtuelle référençant un groupe de routeurs.
Il est décrit dans la RFC 9568 (rendant obsolète la RFC 5798, et encore précédemment la RFC 3768).

## Fonctionnement

VRRP utilise la notion de routeur virtuel, auquel est associée une adresse IP virtuelle ainsi qu'une adresse MAC virtuelle. Les rôles de routeur master et routeur backup sont également utilisés et associés aux routeurs d'un groupe VRRP.
Le routeur master (ou maître en français) est associé à l'adresse IP virtuelle du groupe. C'est lui qui va répondre aux requêtes ARP des clients sur cette adresse IP. Un ou plusieurs routeurs backup (ou routeur de secours en français) pourront reprendre le rôle de master en cas de défaillance de celui-ci.
VRRP peut être utilisé sur Ethernet, MPLS et les réseaux Token Ring. Une implémentation pour le protocole IPv6 est définie depuis la RFC 5798 avec la version 3 du protocole VRRP.
VRRP est un standard IETF pris en charge par de nombreux constructeurs de routeurs ainsi que par des systèmes d'exploitation comme Linux. Le protocole VRRP est plus déployé que d'autres protocoles similaires.

## Implémentation

Chaque routeur qui participe au groupe VRRP se voit définir une priorité allant de 1 à 255 (du routeur le moins prioritaire au routeur maître). L'élection va déterminer un routeur maître qui annoncera alors une priorité de 255.
Les messages VRRP sont échangés à intervalle régulier (appelé intervalle d'avertissement (anglais : Advertisement_Interval), égal à une seconde par défaut) sur l'adresse multicast 224.0.0.18 (parfois traduit en vrrp.mcast.net). Le champ « protocole » de l'entête IP est positionné à 112. Les messages sont envoyés avec comme adresse MAC source l'adresse MAC virtuelle du groupe VRRP. Celle-ci a toujours le format (hexadécimal) 00-00-5E-00-01-XX, le dernier octet étant le numéro du groupe VRRP (VRID, anglais : Virtual Router IDentifier, identifiant de routeur virtuel), codé ici en hexadécimal de 00 (0) à FF (255)). Si plusieurs groupes VRRP coexistent dans un sous-réseau, chacun doit avoir un VRID unique.
Les routeurs backup sont attentifs à ces messages : Ils vérifient que la priorité du maître est toujours supérieure à la leur, ainsi que l'arrivée régulière des messages. À défaut de message d'un autre routeur maître dans le sous-réseau (après 3,6 s par défaut), un routeur backup se proclamera maître.
Si l'option de préemption est configurée, un routeur backup se proclamera maître si la priorité du maître baisse en dessous de la sienne, à défaut le routeur maître continuera à assurer son rôle.
Il est possible au maître de renoncer spontanément et de provoquer rapidement une nouvelle élection, sans attendre un timeout, en indiquant que sa priorité est passée à zéro.
La priorité d'un routeur peut être rendue dynamique avec pour paramètre la disponibilité d'un lien physique (tracking).

## Choix du master

Chaque routeur d'un groupe VRRP est paramétré avec une priorité (valeur configurable de 1 à 254, par défaut égale à 100). Cette priorité est le paramètre qui va permettre le choix d'un routeur master pour le groupe VRRP. Le routeur du groupe ayant la priorité la plus haute est choisi comme master. En cas d'égalité, le routeur ayant l'adresse IP la plus élevée est choisi.
À noter que si un routeur est paramétré avec l'adresse IP virtuelle du groupe VRRP, celui-ci a une priorité égale à 255 (valeur maximale de priorité). De fait il sera choisi comme master.

## Remarque

Dans un groupe VRRP, il n'y a pas de notion de partage de la charge, c'est le routeur maître qui assure exclusivement la transmission des paquets pour le routeur virtuel. S'il y a un nombre d'hôtes suffisant, il est toutefois possible de définir plusieurs groupes VRRP sur chacun des routeurs, et de configurer autant de groupes d'hôtes qui auront chacun une passerelle par défaut différente.
Il est également important de faire remarquer que VRRP n'est pas un protocole de routage. En effet, celui-ci ne vise pas à échanger des informations de routage avec d'autres routeurs mais assure la haute disponibilité de la passerelle par défaut dans un sous-réseau.