Skip to main content

HSRP/VRRP/CARP - continuité de service

Introduction

Un des critères de qualité d’un système d’information est la disponibilité. Du point de vue de l’utilisateur d’un service on parle de continuité de service.

En effet on attend d’un service qu’il soit à tout moment disponible. Lorsqu’il ne l’est pas on parle de défaut de service. L’idéal absolu serait le zéro défaut de service. Dans cet objectif, il faut mettre en place des dispositifs permettant de pallier les diverses causes de  défaut de service.

Le principe de Haute Disponibilité

On mesure la disponibilité à l’aide d’un pourcentage : pourcentage de temps pendant lequel le service est disponible par rapport au temps pendant lequel il est utile. Pour un système utile 24 heures sur 24 et 365 jours par an, 99% de disponibilité c’est donc 1% d’indisponibilité cela signifie qu’il peut être indisponible 3.65 jours par an !

Par convention, la disponibilité visée s’exprime toujours avec des nombres en 9, le tableau suivant présente les niveaux de disponibilités possibles pour un système devant être disponible 24 heures sur 24, 365 jours par an.

Disponibilité en % 

Nombre de 9 Durée d’interruption maximale par an
99.99999 7 3.15 secondes
99.9999 6 31.5 secondes
99.999 5 5.26 minutes
99.99 4 52.56 minutes
99.9 3 76 heures
99 2 3.65 jours

Actuellement on vise facilement l’objectif de deux ou trois 9, mais au-delà, une planification précise et des systèmes grandement redondants deviennent nécessaires.

Le coût de mise en œuvre devient un critère dans le choix des systèmes (serveurs, routeurs... ) pour lesquels on mettra en place des systèmes redondants.

Une solution : la redondance

Les causes possibles d’un défaut de service sont très variées et on peut distinguer :

  • Pannes matérielles ou logicielles
  • Sous-dimensionnement des ressources vis-à-vis des besoins d’utilisation
  • Attaque DDOS

On parle de redondance lorsque l’on met en place plusieurs machines physiques ou virtuelles qui sont destinées à jouer le même rôle. Ces machines associées les unes aux autres constituent un groupe (cluster).

 

La redondance matérielle permet de répondre à la fois aux problèmes de panne et de surcharge. On en distingue deux modalités :

  • Répartition de charge (load balancing) : utilisation de redondance de ressources toutes actives qui se partagent le traitement des requêtes des clients. Objectif : augmentation de la puissance de travail.
  • Haute disponibilité (high availability) : utilisation de redondance de ressources, certaines actives, d’autres disponibles pour prendre la relève en cas de panne d’une ressource active. Objectif : sécuriser le système en assurant sa disponibilité. Aussi qualifié de mode actif/passif

 

La continuité de service au niveau 3 

Les protocoles de haute disponibilité

L’objectif premier est d’assurer la haute disponibilité de la passerelle sur les réseaux IP.

Nous parlons ici de protocoles qui ne font PAS de load balancing

Quelques protocoles largement utilisés :

  • HSRP (Hot Standing Routing Protocole) : protocole propriétaire CISCO
  • VRRP : normalisé et dérivé de HSRP, il est utilisé chez la plupart des constructeurs (Cisco, Nokia, Alcatel)
  • CARP : une alternative sécurisée et libre aux protocoles VRRP et HSRP

 

 

image.pngLe principe est de créer un routeur virtuel à partir de plusieurs (souvent 2) routeurs physiques : un “actif” et l'autre (ou les autres) “en attente” (ou ”standby”) en fonction des priorités accordées à chacun de ces routeurs.

 

Le principe du mode "actif/passif", quel que soit le protocole, est qu’il n’y a qu’un seul routeur actif, les autres prendront la relève uniquement en cas de défaillance.

La participation d’un routeur à un groupe se fait sur UNE interface

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fonctionnement de HSRP

Le protocole est basé sur la redondance matériel de routeurs visant à assurer de manière immédiate et  transparente la relève du service par un routeur “de secours” en cas de panne de la passerelle.

Ce protocole est en particulier utilisé pour les routeurs de connexion à internet qui jouent un rôle critique dans les organisations. Le protocole VRRP fonctionne de manière similaire. Les valeurs par défaut données ci-dessous sont celles de HSRP (adresse multicast utilisée, timers...)

 

Deux ou plusieurs routeurs partageront la même adresse I P et la même adresse MAC virtuelles afin d’être vus par les hôtes finaux comme une unique passerelle. Ces routeurs constituent donc un groupe. 
Les routeurs d’un même groupe ont chacun obligatoirement une interface sur le même réseau. Ce sont seulement ces interfaces qui font groupe.
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.

 

Un groupe de routeur va négocier au sein d’un même groupe HSRP (ou standby group) :

    Un routeur primaire, élu au moyen d’une priorité (priorité la plus élevée) Un routeur secondaire, pour remplacer le routeur primaire en cas de problème.

     

    Dans un groupe il y a UN seul routeur primaire (actif) et UN seul routeur secondaire (standby) qui prendra le relai immédiatement en cas de défaillance routeur actif.

    Le processus d’élection se base sur une priorité effective. Cette priorité effective est composée de 5 octets :

      L’octet de poids fort est défini par le paramètre priorité compris entre 1 et 255 (255 étant le plus prioritaire). La priorité par défaut est à 100. Les octets suivants contiennent l’adresse IP de l’interface [priority adresse IP]

      ⇒ Ainsi, à priorité égales, le routeur ayant la plus haute adresse IP sera élu

       

      Tous les messages entre les routeurs sont échangés en utilisant l'adresse multicast 224.0.0.2 (224.0.0.102 pour la version 2) via UDP sur le port 1985, le TTL des paquets est fixé à 1 pour éviter leur propagation au-delà du réseau.

      Une fois l’élection finie, seul le routeur primaire procèdera au routage et il va envoyer périodiquement (toutes les 3 secondes par défaut) des messages multicast Hello en UDP aux autres routeurs afin de confirmer son bon fonctionnement. Les autres routeurs du groupe écoutent mais n’émettent aucune trame. 

      Un délai de 10 secondes sans message Hello de la part du routeur actif entraîne la promotion du routeur Standby en actif.

       

      Si le groupe contient plus de 2 routeurs, lorsque le routeur standby devient actif, un processus d’élection du nouveau routeur standby est activé. Il peut y avoir plusieurs groupes HSRP dans un même réseau. Chaque groupe est associé à UNE adresse IP virtuelle distincte qui lui est propre.

      Le "tracking" HSRP

      Le "tracking" (ou suivi) permet de lier la priorité de l’interface d’un routeur participant à un groupe HSRP au statut d'une autre de ses interfaces. Souvent, pour les routeurs frontières, on voudrait qu’une défaillance de l’interface extérieur du routeur actif lui fasse perdre sa priorité afin qu’un autre routeur prenne le relai.

      Le paramètre décrément indique de combien de points réduire la priorité si l’interface suivie est défaillante.

      Il est possible de suivre plusieurs interfaces. Si plusieurs interfaces suivies tombent, les décréments se cumulent. 

       

      La préemption

      Par défaut lorsque le processus d’élection du routeur actif et du routeur standby est terminée, il n’y aura de changement de routeur primaire qu’en cas de défaillance du routeur actif.

      En particulier si on ajoute un nouveau routeur au groupe et même si sa priorité est supérieure, il ne pourra devenir routeur primaire que si le routeur actif devient défaillant. ⇒ HSRP : préemption désactivée par défaut
      Si l’administrateur active la préemption, un routeur peut relancer le processus d’élection pour que sa priorité soit prise en compte. Soit parce qu’il est nouveau dans le groupe, soit parce que sa priorité vient de changer.

       

      Les limitations de HSRP 

        Il n'y a pas de partage de la charge entre les routeurs participants au groupe. En créant plusieurs groupes et en définissant des passerelles différentes dur les hôtes l’administrateur peut faire de la répartition de charge « à la main ». L'utilisation de l'adresse multicast spécifique 224.0.0.2 (All routers) a pour effet que tous les routeurs du sous-réseau reçoivent les messages, y compris ceux qui ne participent pas à HSRP. Les messages sont transmis en clair. Seul le hash des mots de passe est possible mais non par défaut. Le protocole est propriété CISCO et se limite à la constitution de groupes de routeurs CISCO.

         

        Exemple de configuration HSRP

        Soient deux routeurs (R1 et R2) utilisant le protocole HSRP pour fournir une tolérance aux pannes.

        image.png

        Le routeur R1 utilisera l'adresse IP 192.168.200.250/24; le routeur R2 utilisera l'adresse IP 192.168.200.251/24.


        L'adresse IP virtuelle est 192.168.200.254/24. Elle sera la passerelle par défaut sur les hôtes du réseau.
        Nous allons voir la configuration nécessaire afin que R1 soit le routeur "actif" HSRP du groupe numéro 1 et que R2 soit le routeur "en attente" (standby) en cas de problèmes.

         

        Nous choisirons le groupe HSRP Numéro 1 et R 1 en tant que routeur primaire. Configuration du routeur 1 :

        R1(config)#interface Fastethernet 0/0
        R1(config-if)#ip address 192.168.200.251 255.255.255.0
        R1(config-if)#standby 1 ip 192.168.200.254
        R1(config-if)#standby 1 priority 110
        R1(config-if)#standby 1 preempt
        R1(config-if)#standby track serial0/1equivalent à standby track serial0/1 10
        R1(config-if)#standby track serial0/0

        Le paramètre “preempt” permet d’activer la préemption. Les interfaces se0/1 et se0/0 sont suivies, le comportement de cette configuration est le suivant :

          0 interfaces inactives = priorité 110 1 interface série inactive = décrément de 10, nouvelle priorité 100 2 interfaces série inactives = décrément de 20, nouvelle priorité 90

           

          Configuration du Routeur2

           

          R2(config)#interface Fastethernet 0/0
          R2(config-if)#ip address 192.168.200.251 255.255.255.0
          R2(config-if)#standby 1 ip 192.168.200.254
          R2(config-if)#standby 1 preempt

          La priorité n’est pas définie ici, en effet par défaut elle est à 100. Donc R1 avec sa priorité 110 sera élu primaire (active) et R2 secondaire (Standby).

          Les requêtes du PC1 seront donc envoyées vers R1 de façon transparente. Si jamais R1 devient inactif, la requête sera redirigée alors vers R2 sans aucun changement de configuration.

           

          Les protocoles à équilibrage de charge

          GLBP - propriétaire CISCO

          Gateway Load Balancing Protocol est un protocole permettant de la redondance et de la répartition de charge sur plusieurs routeurs en utilisant une seule adresse IP virtuelle, associée à plusieurs adresses MAC virtuelles.

           

          XRRP - propriétaire HP

           

          image.pngUtilisation normale

           

          image.png Utilisation en fail over