Découvrez comment fonctionne le protocole HSRP

Découvrez les fonctionnalités de base

Je vais maintenant vous expliquer le fonctionnement du protocole HSRP (Hot Standby Router Protocol). Ce protocole, développé par Cisco, permet d'assurer la redondance de passerelle par défaut dans un réseau IP en créant un groupe de routeurs virtuels qui apparaissent comme une seule passerelle aux équipements du réseau.

Examinons cette topologie :

Un switch de niveau 3 (SW-L3) relie deux PC dans des VLAN distincts : PC1 en VLAN 10 (réseau 192.168.10.0/24) et PC2 en VLAN 20 (192.168.20.0/24), jouant le rôle de passerelle.
Exemple du switch de niveau 3 SW-L3 comme passerelle

PC1 se trouve dans le VLAN 10 et utilise le switch de niveau 3 SW-L3 en tant que passerelle pour atteindre PC2 qui se trouve dans le VLAN 20, qui utilise également le switch de niveau 3 en tant que passerelle. Le switch est configuré comme ceci :

SW-L3(config)#vlan 10
SW-L3(config-vlan)#name vlan10
SW-L3(config)#vlan 20
SW-L3(config-vlan)#name vlan20
SW-L3(config)#ip routing
SW-L3(config)#interface vlan 10
SW-L3(config-if)#ip address 192.168.10.254 255.255.255.0
SW-L3(config)#interface vlan 20
SW-L3(config-if)#ip address 192.168.20.254 255.255.255.0
SW-L3(config)#int gig 1/0/1
SW-L3(config-if)#switchport mode access
SW-L3(config-if)#switchport access vlan 10
SW-L3(config)#int gig 1/0/2
SW-L3(config-if)#switchport mode access
SW-L3(config-if)#switchport access vlan 20

Si PC1 envoi un ping à PC2, ça fonctionne :

C:\>ping 192.168.20.1

Pinging 192.168.20.1 with 32 bytes of data:

Reply from 192.168.20.1: bytes=32 time=6ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127

Ping statistics for 192.168.20.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 6ms, Average = 1ms

Parfait ! Jusqu’au moment où… SW-L3 tombe en panne, et là :

Le switch SW-L3 est en panne, signalé par une croix rouge. Les PC1 et PC2, chacun dans un VLAN différent, ne savent plus joindre leur passerelle par défaut.
Le switch SW-L3 est tombe en panne

C:\>ping 192.168.20.1

Pinging 192.168.20.1 with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.20.1:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

Le réseau est tombé, situation que l’on ne peut pas se permettre en production dans le cadre du plan de continuité du système d’information.

Heureusement, une solution existe : le protocole HSRP. Ce protocole, propriétaire Cisco, permet de disposer d’une tolérance de panne de passerelle.

Il existe un autre protocole nommé VRRP (RFC v3 9568), dont le fonctionnement est sensiblement le même que le protocole HSRP.

Voici la topologie HSRP :

Topologie redondante avec deux switchs de niveau 3 (SW-L3-1 et SW-L3-2) connectés en trunk aux switchs S1 et S2. Les PC1 et PC2 sont dans les VLAN 10 et 20.
Exemple d'une topologie de la protocole HSRP

Tous les switches sont reliés entre eux par l’intermédiaire de liens TRUNK 802.1Q pour laisser passer le flux de tous les VLANs. PC1 est connecté sur un port d’accès dans le VLAN 10 et PC2 est connecté sur un port d’accès dans le VLAN 20. SW-L3-1 sera la passerelle active pour le VLAN 10, et SW-L3-2 sera la passerelle active pour le VLAN 20. Nous allons en profiter également pour configurer SW-L3-1 en tant que ROOT BRIDGE Spanning-Tree pour le VLAN 10 et SW-L3-2 en tant que ROOT BRIDGE Spanning-Tree pour le VLAN 20. SW-L3-1 sera également BACKUP ROOT BRIDGE pour le VLAN 20 et SW-L3-2 sera BACKUP ROOT BRIDGE pour le VLAN 10.

Si SW-L3-1 ou SW-L3-2 tombe, l’autre sera ROOT BRIDGE pour les VLAN 10 et 20 et également passerelle active pour ces deux VLANs. Voici la configuration de base de chaque switch :

S1(config)#vlan 10
S1(config-vlan)#name vlan10
S1(config)#vlan 20
S1(config-vlan)#name vlan20
S1(config)#int range gig 0/1-2
S1(config-if-range)#switchport mode trunk
S1(config)#int fa 0/1
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 10
S1(config)#spanning-tree mode rapid-pvst

S2(config)#vlan 10
S2(config-vlan)#name vlan10
S2(config)#vlan 20
S2(config-vlan)#name vlan20
S2(config)#int range gig 0/1-2
S2(config-if-range)#switchport mode trunk
S2(config)#int fa 0/1
S2(config-if)#switchport mode access
S2(config-if)#switchport access vlan 20
S2(config)#spanning-tree mode rapid-pvst

SW-L3-1(config)#vlan 10
SW-L3-1(config-vlan)#name vlan10
SW-L3-1(config)#vlan 20
SW-L3-1(config-vlan)#name vlan20
SW-L3-1(config)#int range gig 1/0/1-3
SW-L3-1(config-if-range)#switchport mode trunk
SW-L3-1(config)#spanning-tree mode rapid-pvst

SW-L3-2(config)#vlan 10
SW-L3-2(config-vlan)#name vlan10
SW-L3-2(config)#vlan 20
SW-L3-2(config-vlan)#name vlan20
SW-L3-2(config)#int range gig 1/0/1-3
SW-L3-2(config-if-range)#switchport mode trunk
SW-L3-2(config)#spanning-tree mode rapid-pvst

On commence par configurer la partie Spanning-Tree.

SW-L3-1 est configuré en tant que ROOT BRIDGE pour le VLAN 10 et BACKUP ROOT BRIDGE pour le VLAN 20 :

SW-L3-1(config)#spanning-tree vlan 10 priority 0
SW-L3-1(config)#spanning-tree vlan 20 priority 4096

SW-L3-2 est configuré en tant que ROOT BRIDGE pour le VLAN 20 et BACKUP ROOT BRIDGE pour le VLAN 10 :

SW-L3-2(config)#spanning-tree vlan 10 priority 0
SW-L3-2(config)#spanning-tree vlan 20 priority 4096

L’étape suivante consiste à configurer sur SW-L3-1 et SW-L3-2 une adresse IP sur l’interface VLAN 10 et l’interface VLAN 20, nous allons utiliser une adresse qui se termine en .252 sur SW-L3-1 et une adresse qui se termine en .253 sur SW-L3-2, l’adresse qui se termine en .254 sera utilisée en tant qu’adresse IP virtuelle HSRP.

Regardons d'abord la configuration de SW-L3-1 :

SW-L3-1(config)#ip routing
SW-L3-1(config)#interface vlan 10
SW-L3-1(config-if)#ip address 192.168.10.252 255.255.255.0
SW-L3-1(config-if)#exit
SW-L3-1(config)#interface vlan 20
SW-L3-1(config-if)#ip address 192.168.20.252 255.255.255.0
SW-L3-1(config-if)#exit

Voici le résultat sur SW-L3-1 :

SW-L3-1#show ip interface brief | include Vlan
Vlan1           unassigned      YES unset   administratively down
Vlan10          192.168.10.252  YES manual  up
Vlan20          192.168.20.252  YES manual  up

Regardons maintenant la configuration de SW-L3-2 :

SW-L3-2(config)#ip routing
SW-L3-2(config)#interface vlan 10
SW-L3-2(config-if)#ip address 192.168.10.253 255.255.255.0
SW-L3-2(config-if)#exit
SW-L3-2(config)#interface vlan 20
SW-L3-2(config-if)#ip address 192.168.20.253 255.255.255.0
SW-L3-2(config-if)#exit

Voici le résultat sur SW-L3-2 :

SW-L3-2#show ip interface brief | include Vlan
Vlan1           unassigned      YES unset   administratively down
Vlan10          192.168.10.253  YES manual  up
Vlan20          192.168.20.253  YES manual  up

On arrive maintenant sur la configuration du protocole HSRP, mais tout d’abord, un peu de théorie sur son fonctionnement : comment font deux routeurs / switches de niveau 3 pour se mettre d’accord sur la configuration HSRP ? Avec HSRP, un routeur ou switch de niveau 3 sera actif et l’autre passif, et pour décider des rôles, ça fonctionne de cette façon :

Étape 1 : INIT

Les switches de niveau 3 initialisent le protocole HSRP.

Étape 2 : LISTEN

Les switches de niveau 3 connaissent l’adresse virtuelle HSRP à utiliser pour le réseau et écoutent les paquets HSRP pour surveiller l’état du switch de niveau 3 actif si c’est déjà la cas.

Étape 3 : SPEAK

Les switches de niveau 3 vont comparer leur priorité HSRP, qui peut aller de 0 à 255, avec une priorité par défaut à la valeur 100. Si un administrateur a configuré une priorité sur un switch de niveau 3, ce sera la priorité la plus haute qui l’emportera, mais si ça n’est pas le cas, et qu’une égalité de priorité se produit, ce sera le switch de niveau 3 avec l’adresse IP la plus élevée qui sera élu actif.

Étape 4 : état Active / Standb

Le switch de niveau 3 actif gère le routage, il envoie régulièrement des paquets HELLO HSRP (toutes les 3 secondes) pour signaler sa présence au routeur STANDBY. Si au bout de 10 secondes, le routeur STANDBY n’a pas reçu de HELLO du routeur actif, il prend le relais et devient actif à sa place.

Le switch SW-L3-1 est configuré avec une priorité HSRP à la valeur la plus haute pour le VLAN 10 (255). Dans la configuration, on indique la priorité de 255, l’adresse IP virtuelle HSRP et la commande “preempt”, qui va permettre, si le SW-L3-1 tombe en panne et fonctionne de nouveau de dire à SW-L3-2 : “je suis de nouveau opérationnel, je redeviens la passerelle active pour le VLAN 10”. Pour configurer HSRP, on utilise la commande “standby”, suivie d’un numéro de process HSRP, libre de choix, mais souvent pour une question de cohérence, il convient d’utiliser le même numéro que le numéro de VLAN. Voici la configuration de SW-L3-1 :

SW-L3-1(config)#interface vlan 10
SW-L3-1(config-if)#standby 10 ip 192.168.10.254
SW-L3-1(config-if)#standby 10 priority 255
SW-L3-1(config-if)#standby 10 preempt

Sur SW-L3-2, il suffit d’annoncer l’adresse virtuelle HSRP :

SW-L3-2(config)#interface vlan 10
SW-L3-2(config-if)#standby 10 ip 192.168.10.254

Une fois SW-L3-2 configuré, on peut vérifier la configuration HSRP :

SW-L3-1#show standby brief
                         P indicates configured to preempt.
Interface   Grp    Pri   P   State   Active   Standby          Virtual IP
VL10        10     255   P   Active  local    192.168.10.253   192.168.10.254

On peut voir ci-dessus que SW-L3-1 est la passerelle active pour le VLAN 10.

Voici le résultat de cette même commande sur SW-L3-2 :

SW-L3-2#show standby brief
                            P indicates configured to preempt.
Interface   Grp    Pri   P   State     Active          Standby   Virtual IP
VL10        10     100       Standby   192.168.10.252  local     192.168.10.254

Ici c’est différent, SW-L3-2 est à l’état STANDBY et prendra le relais si SW-L3-1 tombe.

Pour que la communication fonctionne, une adresse IPv4 doit avoir une correspondance avec une adresse de niveau 2 (MAC). Le protocole ARP est chargé d’établir cette correspondance, ce qui est plutôt facile à comprendre quand une adresse IP est liée à une carte réseau réelle qui dispose de sa propre adresse MAC, mais là, on parle d’une adresse IP virtuelle liée à quoi ?

Tout est prévu dans le protocole HSRP, l’adresse MAC 00:00:0C:07:AC:X ou X représente les deux derniers caractères hexadécimaux utilisés pour définir le numéro de groupe HSRP.

Sur PC1, il suffit de pinguer l’adresse 192.168.10.254 :

C:\>ping 192.168.10.254

Pinging 192.168.10.254 with 32 bytes of data:

Reply from 192.168.10.254: bytes=32 time=6ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127

Ping statistics for 192.168.10.254:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 6ms, Average = 1ms

Il faut ensuite afficher le contenu de la table ARP :

C:\>arp -a
    Internet address Physical Address Type
    192.168.10.254 0000.0c07.ac0a dynamic

Regardez la fin de l’adresse MAC : 0aA en hexadécimal correspond à 10 en décimal, on retrouve donc notre numéro de groupe HSRP.

Passons maintenant à la configuration HSRP pour le VLAN 20.

Voici la configuration de SW-L3-2 :

SW-L3-2(config)#interface vlan 20
SW-L3-2(config-if)#standby 20 ip 192.168.20.254
SW-L3-2(config-if)#standby 20 priority 255
SW-L3-2(config-if)#standby 20 preempt

Puis, la configuration de SW-L3-1 :

SW-L3-2(config)#interface vlan 20
SW-L3-2(config-if)#standby 20 ip 192.168.20.254

Ensuite, la vérification de la configuration :

SW-L3-1#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State   Active          Standby         Virtual IP
VL10        10  255 P   Active  local           192.168.10.253  192.168.10.254
VL20        20  100     Standby 192.168.20.253  local           192.168.20.254

SW-L3-2#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State   Active          Standby         Virtual IP
VL10        10  100     Standby 192.168.10.252  local           192.168.10.254
VL20        20  255 P   Active  local           192.168.20.252  192.168.20.254

C’est parfait, SW-L3-1 est actif pour le VLAN 10 et SW-L3-2 est actif pour le VLAN 20. Faisons le même test sur PC2 pour voir l’adresse MAC virtuelle liée à l’adresse HSRP du VLAN 20 :

C:\>arp -a
  Internet address  Physical Address    Type
  192.168.20.254    0000.0c07.ac14      dynamic

Comment HSRP est arrivé au résultat de 14 sur les derniers caractères hexadécimaux de l’adresse MAC pour le VLAN 20 ?

Il existe une méthode de calcul très simple : On décompose un octet et on passe en binaires positifs les bits qui permettent d’obtenir 20.

128 64  32  16  8   4   2   1
0   0   0   1   0   1   0   0

On reporte les 4 premiers bits en partant de la gauche sur le premier caractère hexadécimal :

8   4   2   1
0   0   0   1

On obtient 1 pour le premier caractère hexadécimal. On reporte ensuite les 4 autres bits sur le deuxième caractère hexadécimal :

8   4   2   1
0   1   0   0

On obtient 4 pour le deuxième caractère hexadécimal. On retrouve donc le 14 à la fin de l’adresse MAC HSRP !

Passons maintenant au test de tolérance de panne. Un ping continu est envoyé de PC1 vers PC2 :

C:\>ping -t 192.168.20.1

Pinging 192.168.20.1 with 32 bytes of data:

Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127

On coupe l’alimentation de SW-L3-2 pour générer une panne :  

Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127

Quelques pings sont perdus, mais on récupère la connexion !

Regardons de plus près ce qui se passe sur SW-L3-1 : 

SW-L3-1#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State   Active  Standby         Virtual IP
VL10        10  255 P   Active  local   192.168.10.253  192.168.10.254
VL20        20  100     Active  local   unknown         192.168.20.254

Une fois que SW-L3-2 est de nouveau opérationnel, il récupère son rôle : 

SW-L3-2#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State   Active           Standby         Virtual IP
VL10        10  100     Standby 192.168.10.252   local           192.168.10.254
VL20        20  255 P   Active  local            192.168.20.252  192.168.20.254

Découvrez les fonctionnalités avancées  

Le tracking est très important quand on aborde le protocole HSRP. Prenons cette topologie : 

Le routeur R1, actif pour HSRP, a perdu son lien vers le réseau 192.168.20.0/24 via l'interface E 0/1. Le trafic de PC2 est impacté, tandis que PC1 reste connecté.
Le lien entre R1 et le switch côté PC2 est tombé

R1 est actif HSRP pour les deux réseaux. Si par exemple, le lien entre R1 et le switch côté PC2 tombe, R2 va devenir actif HSRP pour le réseau 192.168.20.0/24, mais pas pour le réseau 192.168.10.0/24…

Pourquoi ?

En fait, la communication HSRP reste établie entre R1 et R2 dans le réseau 192.168.10.0/24, les paquets HELLO HSRP envoyés par R1 à R2 dans le réseau 192.168.10.0/24 continuent d’être reçus par R2, qui ne devient pas actif HSRP pour le réseau 192.168.10.0/24.

Quelle est la conséquence ?

R1 reste actif HSRP pour le réseau 192.168.10.0/24, il continue donc de recevoir les paquets envoyés par PC1 à destination de PC2 mais pour en faire quoi ? Il ne peut plus communiquer avec PC2 car le lien entre R1 et le switch qui mène à PC2 est rompu, les paquets sont donc tout simplement détruits. Le tracking va nous permettre de résoudre ce problème.

Très bien ! Comment alors ?

On va créer un objet de tracking, qui va monitorer l’état de l’interface opposée au groupe HSRP. Dans le cas du réseau 192.168.10.0/24, il s’agit de l’interface E 0/1 de R1. Si cette interface tombe, on va appliquer une décote de priorité HSRP sur R1 pour le réseau 192.168.10.0/24, de 156 points.

Pourquoi 156 ?

R1 dispose d’une priorité HSRP de 255, si on enlève 156, sa priorité passe à 99, donc inférieure à la priorité du routeur R2 qui en STANDBY avec une priorité par défaut de 100. R2 deviendra donc actif HSRP et les paquets pourront cheminer de PC1 vers PC2. Pour commencer, il faut créer l’objet de tracking : 

R1(config)#track 1 interface ethernet0/1 line-protocol

Ensuite on configure HSRP en ajoutant le tracking :

R1(config)#interface ethernet0/0
R1(config-if)#standby 10 ip 192.168.10.254
R1(config-if)#standby 10 priority 255
R1(config-if)#standby 10 preempt
R1(config-if)#standby 10 track 1 decrement 156

R2 est simplement configuré, il faut cependant penser à activer PREEMPT sur R2 également si on souhaite qu’il prenne le relais immédiatement lors de la chute de priorité de R1 :

R2(config)#interface ethernet0/0
R2(config-if)#standby 10 ip 192.168.10.254
R2(config-if)#standby 10 preempt

L’interface Ethernet 0/1 de R1 va maintenant tomber en panne :

*Nov 2 10:15:30:709: %TRACK-6-STATE: 1 interface Et0/1 line-protocol Up -> Down

L’objet de tracking a détecté la panne de l’interface Ethernet 0/1, voyons l’état HSRP :

*Nov 2 10:15:41:525: %HSRP-5-STATECHANGE: Ethernet0/0 Grp 10 state Speak -> Standby

R1#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State   Active           Standby   Virtual IP
Et0/0       10  99  P   Standby 192.168.10.253   local     192.168.10.254

R1 est bien passé à l’état Standby, avec une priorité tombée à 99. On active de nouveau l’interface Ethernet 0/1 :

*Nov 2 10:20:01:334: %TRACK-6-STATE: 1 interface Et0/1 line-protocol Down -> Up

*Nov 2 10:20:02:727: %HSRP-5-STATECHANGE: Ethernet0/0 Grp 10 state Standby -> Active

R1#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State   Active  Standby         Virtual IP
Et0/0       10  255 P   Active  local   192.168.10.253  192.168.10.254
 

Maintenant que nous avons vu le Tracking, nous allons voir comment modifier les timers HSRP.

La commande suivante permet de voir les timers actuellement utilisés sur les interfaces qui participent à HSRP :

R1#show standby ethernet 0/0
Ethernet0/0 - Group 10
    State is Active
      5 state changes, last state change 00:05:13
    Virtual IP address is 192.168.10.254
    Active virtual MAC address is 0000.0c07.ac0a (MAC In Use)
      Local virtual MAC address is 0000.0c07.ac0a (v1 default)
    Hello time 3 sec, hold time 10 secs

 On peut voir grâce à cette commande que les timers par défaut sont utilisés, ce qui donne ceci en cas d’interruption lors de la bascule : 

Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127

On va maintenant modifier les timers, de façon significative, les HELLO vont être envoyés toutes les secondes et le Hold time à 5 secondes, cette opération est à réaliser sur les deux routeurs, sinon on va avoir un timer mismatch entre les deux routeurs, ce qui risque de poser un problème de synchronisation entre R1 et R2 qui pourraient chacun devenir actifs : 

R1(config)#interface ethernet 0/0
R1(config-if)#standby 10 timers 1 5

R2(config)#interface ethernet 0/0
R2(config-if)#standby 10 timers 1 5

Si on vérifie les timers, ils sont bien modifiés : 

R1#show standby ethernet 0/0
Ethernet0/0 - Group 10
    State is Active
        5 state changes, last state change 00:44:34
    Virtual IP address is 192.168.10.254
    Active virtual MAC address is 0000.0c07.ac0a (MAC In Use)
         Local virtual MAC address is 0000.0c07.ac0a (v1 default)
    Hello time 1 sec, hold time 5 secs

On fait de nouveau un test de coupure : 

Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127
Reply from 192.168.10.254: bytes=32 time<1ms TTL=127

La coupure a duré longtemps.

Vous pouvez même encore réduire, en millisecondes : 

R1(config-if)#standby 10 timers ?
    <1-254>  Hello interval in seconds
    msec      Specify hello interval in milliseconds

C’est à adapter en fonction du contexte, de la criticité de la durée d’interruption.

Et si on configure HSRP avec plus de deux routeurs / switches de niveau 3 ?

C’est possible, mais on aura toujours un actif, un passif (standby), les autres resteront à l’état listen.

Prenons cet exemple : 

 

Trois routeurs reliés à un switch : R1 est actif (priorité 255), R2 en standby (priorité 200) et R3 en listen (priorité 100). Un PC est connecté au switch.
La configuration HSRP aura toujours un actif et un passif

R1 est le routeur actif HSRP : 

R1#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State        Active       Standby         Virtual IP
Et0/0       10  255 P   Active      local         192.168.10.252  192.168.10.254

R2 est le routeur STANDBY : 

R2#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State     Active           Standby  Virtual IP
Et0/0       10  200 P   Standby   192.168.10.251   local    192.168.10.254

R3 reste à l’état LISTEN : 

R3#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State    Active           Standby         Virtual IP
Et0/0       10  100 P   Listen   192.168.10.251   192.168.10.252  192.168.10.254

Le routeur R1 tombe :

 

R1 tombe en panne (croix rouge). R2 devient routeur actif (priorité 200) et R3 passe en standby (priorité 100), assurant la continuité via HSRP.
Le router R2 devient actif quand le router R1 tombe

A l’expiration des timers HSRP, R2 devient actif :

R2#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State    Active   Standby         Virtual IP
Et0/0       10  200 P   Active   local    192.168.10.253  192.168.10.254

R3 devient STANDBY :

R3#show standby brief
                    P indicates configured to preempt.
Interface   Grp Pri P   State     Active           Standby    Virtual IP
Et0/0       10  100 P   Standby   192.168.10.252   local      192.168.10.254

Si la commande “preempt” est bien configurée sur les trois routeurs, une fois R1 de nouveau opérationnel, il redevient actif, R2 redevient STANDBY et R3 repasse à l’état LISTEN.

N'hésitez pas à mettre en pratique ces concepts et techniques dans vos propres maquettes. C'est en manipulant les commandes, en testant différentes topologies et en observant les résultats que vous parviendrez à maîtriser ce mécanisme essentiel pour gérer et fiabiliser votre réseau. L'expérimentation est la clé de la compréhension et de la capacité à résoudre les problèmes réels. Alors, lancez-vous dans l'application pratique de ces connaissances !

En résumé

  • HSRP (Hot Standby Router Protocol) permet de garantir une haute disponibilité de la passerelle dans un réseau en créant une passerelle virtuelle partagée entre plusieurs équipements de niveau 3, dont un seul est actif à la fois.

  • Le rôle de passerelle active est attribué en fonction de la priorité HSRP ou de l’adresse IP la plus élevée en cas d’égalité, et peut basculer automatiquement en cas de panne grâce à l’échange de paquets HELLO.

  • La passerelle virtuelle possède une adresse IP fixe partagée et une adresse MAC virtuelle construite à partir du numéro de groupe HSRP, ce qui permet aux PC de toujours "voir" la même passerelle, même si un routeur tombe.

  • Le tracking d’interface permet de prendre en compte l’état réel du réseau au-delà du protocole HSRP, en abaissant la priorité si une interface critique tombe, pour éviter les “fausses” disponibilités.

  • Il est possible d’ajuster les timers HSRP (HELLO et HOLD) pour réduire le temps de bascule, mais cela nécessite une synchronisation sur tous les routeurs participants.

Il est maintenant temps de vérifier vos connaissances avec un quiz. Bonne chance ! 

Ever considered an OpenClassrooms diploma?
  • Up to 100% of your training program funded
  • Flexible start date
  • Career-focused projects
  • Individual mentoring
Find the training program and funding option that suits you best