Haute disponibilité (HSRP/VRRP)

Définition :

La haute disponibilité est un terme souvent utilisé en informatique, à propos d’architecture de système ou d’un service pour désigner le fait que cette architecture ou ce service a un taux de disponibilité convenable.

La disponibilité est aujourd’hui un enjeu important des infrastructures informatiques. Une étude de 2007 estime que la non-disponibilité des services informatiques peut avoir un coût de 440 000 euros de l’heure1, ces coûts se chiffrant en milliards d’euros à l’échelle d’un pays2. L’indisponibilité des services informatiques est particulièrement critique dans le domaine de l’industrie, notamment en cas d’arrêt d’une chaîne de production.

Deux moyens complémentaires sont utilisés pour améliorer la haute disponibilité :

  • la mise en place d’une infrastructure matérielle spécialisée, généralement en se basant sur de la redondance matérielle. Est alors créé un cluster de haute-disponibilité (par opposition à un cluster de calcul) : une grappe d’ordinateurs dont le but est d’assurer un service en évitant au maximum les indisponibilités ;
  • la mise en place de processus adaptés permettant de réduire les erreurs, et d’accélérer la reprise en cas d’erreur. ITIL contient de nombreux processus de ce type.

HSRP :

Hot Standby Router Protocol (HSRP) est un protocole propriétaire de Cisco implémenté sur les routeurs et les commutateurs de niveau 3 permettant une continuité de service. HSRP est principalement utilisé pour assurer la disponibilité de la passerelle par défaut dans un sous-réseau en dépit d’une panne d’un routeur.

Dans chaque sous-réseau où HSRP est actif, on définit un groupe de routeurs, c’est-à-dire un identifiant numérique. Le numéro du groupe varie de 0 à 255, il peut donc exister jusqu’à 256 groupes HSRP dans un même sous-réseau. Chaque groupe est associé à une adresse IP virtuelle distincte.

Dans un groupe, un routeur actif sera élu : celui qui aura la priorité la plus élevée. Les autres routeurs sont en standby et écoutent les messages émis par le routeur actif. Périodiquement, les routeurs du groupe échangent des messages Hello pour s’assurer que les routeurs du groupe sont encore joignables. Par défaut, les messages Hello sont envoyés toutes les 3 secondes, et un délai de plus de 10 secondes sans message Hello de la part du routeur actif entraîne la promotion du routeur Standby en actif.

Le routeur actif assure seul la réponse aux requêtes ARP pour l’adresse IP virtuelle. Sur Ethernet, l’adresse MAC virtuelle associée à cette adresse IP virtuelle sera de la forme 00:00:0c:07:ac:XX, où XX correspond au numéro de groupe en hexadécimal.

Si le routeur actif nominal devient inaccessible un autre routeur sera élu : celui qui a la deuxième priorité la plus élevée. Tous les messages entre les routeurs sont échangés en utilisant l’adresse multicast 224.0.0.2 via UDP sur le port 1985, le TTL des paquets est fixé à 1 pour éviter leur propagation au-delà du sous-réseau.

Si un routeur A découvre qu’un autre routeur B est actif pour le même groupe dans un sous-réseau et que ce dernier a une priorité inférieure à la sienne, alors le routeur A annonce qu’il reprend le rôle de routeur actif, pour autant qu’il soit configuré pour la préemption, avec un message Coup. Un routeur actif peut renoncer immédiatement à son rôle en émettant un message Resign, ce qui provoque la promotion du routeur Standby en actif sans délai.

Le routeur actif ne doit pas révéler son adresse IP réelle aux hôtes qui l’utilisent avec son adresse IP virtuelle. En particulier, les messages ICMP redirect ne seront pas envoyés.

Le changement de routeur actif est transparent pour les hôtes du segment qui utilisent l’adresse virtuelle. Au moment du basculement, le routeur actif envoie des messages gratuituous ARP qui modifient la table d’adresse MAC du commutateur (aussi appelé switch).

VRRP :

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.

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 de secours en français) qui 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 par la RFC 5798 avec la version 3 du protocole VRRP.

Le protocole VRRP est plus déployé que d’autres protocoles similaires.[réf. nécessaire] VRRP est un standard IETF pris en charge par de nombreux vendeurs de routeurs ainsi que par des systèmes d’exploitation comme Linux.