Vous êtes sur la page 1sur 13

GLBP

Posté le 25 janvier 2014 par Valentin Weber — 4 commentaires ↓

Suite aux articles sur HSRP et VRRP, voyons aujourd’hui le protocole GLBP.

Le but est toujours le même, créer de la redondance sur la Gateway, le tout avec au moins deux
routeurs.

Sauf que GLBP amène une nouvelle fonctionnalité : le Load Ballancing. Il sera possible de
répartir la charge entre nos différents routeurs.

Voyons ensemble comment fonctionne le protocole GLBP.

1) Principe de fonctionnement
 

Dans cet article, nous ne reviendrons pas sur les concepts de bases des protocoles de
redondance (HSRP, VRRP, GLBP). Ceux-ci ont été détaillés dans l’article sur HSRP. Il est
recommandé de bien maitriser les notions qui y sont détaillées.

Voyons ensembles les caractéristiques du protocole GLBP.

Avant toute chose, il est bon de noter que ce protocole est propriétaire Cisco.

Comme nous l’avons dit, l’avantage de GLBP est qu’il est capable de faire du Load Ballancing.

Prenons la topologie suivante :


R1 et R2 sont tous les deux des routeurs, utilisant GLBP.

Nous avons donc deux routeurs qui peuvent assurer le rôle de Gateway.

Plutôt que l’un soit en Standby, les deux seront utilisés.

La charge sera donc répartie entre R1 et R2.

Mais comment la charge est-elle répartie ?

Il ne s’agit pas de vrai Load Ballancing, avec un paquet qui va à R1, et le suivant à R2, etc…

Ce qui se passe, c’est que PC 1 va utiliser R1 comme Gateway, et PC 2 va utiliser R2.

En cas de panne, ils utiliseront le routeur restant.

En GLBP nous avons une IP virtuelle, et plusieurs adresses MAC virtuelles (une par routeur).
Le tour de magie s’opère grâce aux requêtes ARP.

Voici ce qui va se passer :

 R1 sera un AVG (le maitre) et R2 un AVF (esclave)


 PC1 va apprendre l’adresse IP de la Gateway
 Il va ensuite chercher l’adresse MAC associée en envoyant une requête ARP
 R1 va recevoir la requête puis il va répondre avec son adresse MAC virtuelle
 Ensuite, PC2 va faire de même, en envoyant une requête ARP pour la même IP
 R1 va recevoir la requête, puis va répondre avec l’adresse MAC virtuelle de R2

Au final, PC1 et PC2 vont utiliser la même IP de Gateway, mais ils n’auront pas la même adresse
MAC associée. Ce qui fait qu’ils n’enverront pas les paquets vers le même routeur.

Les clients enverront donc toujours le trafic au même routeur. Il ne s’agit pas de vrai Load
Ballancing, mais au moins, nos deux routeurs sont utilisés.

Comme nous l’avons dit, en GLBP il y a une IP virtuelle pour le groupe, et une adresse MAC par
routeur.

L’adresse MAC se compose comme ceci :

XXX correspond au numéro du groupe. Il va de 1 à 1023.

YY correspond au numéro du routeur dans le group.

L’adresse de Multicast utilisée est la suivante : 224.0.0.102.

 
En GLBP les routeurs peuvent avoir trois rôles :

 AVG – Active Virtual Gateway


 Standby AVG
 AVF – Active Virtual Forwarders

L’AVG est le routeur maitre. C’est lui qui se charge de répondre aux requêtes ARP.

L’AVG est le routeur avec la plus haute priorité, ou en cas d’égalité, celui avec la plus haute IP.

La priorité de base est 100.

L’AVG doit donc répondre aux requêtes ARP, de manière à répartir la charge entre les AVF.

Le Standby AVG est le deuxième routeur avec la plus haute priorité. Il prendra la place de l’AVG
en cas de panne de celui-ci.

Les AVF sont les routeurs qui routent le trafic. Un AVG est aussi AVF.

La charge est donc répartie entre les AVF.

Il peut y avoir maximum 4 AVF par group.

En cas de panne d’un AVF, les AVF restants vont entrer en compétition pour le remplacer. L’AVF
qui gagne aura pour rôle de répondre aux messages de l’adresse MAC virtuelle de l’AVF en
panne, en plus des messages sur sa propre adresse MAC.

L’AVF gagnant est celui avec le plus haute poids.

Il existe trois méthodes pour répartir la charge en GLBP :

 Round Robin
 Weighted
 Host-Dependent

 
En Round Robin, l’AVG répond aux requêtes ARP en utilisant à tour de rôle les adresses MAC
des AVF.

Exemple pour trois AVF :

 Requête ARP 1 : réponse avec l’adresse MAC de l’AVF 1


 Requête ARP 2 : réponse avec l’adresse MAC de l’AVF 2
 Requête ARP 3 : réponse avec l’adresse MAC de l’AVF 3
 Requête ARP 4 : réponse avec l’adresse MAC de l’AVF 1
 Requête ARP 5 : réponse avec l’adresse MAC de l’AVF 2
 Etc…

En Weighted, un poids est attribué à chaque AVF. Le poids sera pris en compte dans la
réparation de charge :

Exemple pour 2 AVF, l’AVF 1 avec un poids de 200, et l’AVF 2 avec un poids de 100 :

 Requête ARP 1 : réponse avec l’adresse MAC de l’AVF 1


 Requête ARP 2 : réponse avec l’adresse MAC de l’AVF 1
 Requête ARP 3 : réponse avec l’adresse MAC de l’AVF 2
 Requête ARP 4 : réponse avec l’adresse MAC de l’AVF 1
 Etc…

Enfin, en Host-Dependent, la même adresse MAC est toujours attribuée au même client.

Si un client envoie une requête ARP, puis qu’il vide son cache ARP et renvoie une requête, il
recevra à nouveau la même adresse MAC de Gateway.

En GLBP, il existe 4 Timers :

 Hello
 Holdtime
 Redirect time
 Secondary holdtime

Le Hello, indique tous les combien de temps un Hello est envoyé. Par défaut il est de 3
secondes.
Le Holdtime indique le temps max entre deux Hello, avant que le routeur soit considéré comme
Dead.
Le Redirect Time indique combien de temps l’AVG continue de répondre aux requêtes ARP avec
l’adresse MAC d’un AVF Dead. Par défaut il est de 600s.
Le Secondary Holdtime indique combien de temps un AVF va supporter l’adresse MAC d’un AVF
Dead. Par défaut il est de 14400s.

En GLBP, il existe différents états avant de devenir AVG :

 Disabled : L’IP virtuelle n’est pas encore configurée, mais une configuration GLBP
existe déjà
 Initial : L’IP virtuelle est configurée, mais la configuration n’est pas complète
 Listen : Le routeur reçoit des paquets Hello, et il est prêt à passer en mode Speak si
l’AVG ou le Standby AVG tombe
 Speak : Le routeur tente de devenir AVG ou Standby AVG
 Standby : Le routeur est un Standby AVG. Il deviendra AVG en cas de panne de ce
dernier
 Active : Le routeur est l’AVG du groupe

En GLBP, il existe différents états avant de devenir AVF :

 Disable : Le routeur ne connait pas encore son adresse MAC virtuelle


 Initial : L’adresse MAC virtuelle est connue, mais la configuration GLBP n’est pas
complète
 Listen : Le routeur reçoit des Hello, et tentera de passera en mode AVF
 Active : Le routeur est un AVF

2) Configuration
 

Voyons à présent la configuration du protocole GLBP.

Ne disposant pas de switchs L3 supportant GLBP, je ferais la démonstration sous GNS3.

Voici la topologie que nous utiliserons :


Les PC sont en fait des routeurs, avec une configuration basique.

Le switch doit être configuré comme ceci :


 

Commençons la configuration GLBP.

R1(config)#interface fastEthernet 0/0


R1(config-if)#no shutdown
R1(config)#interface fastEthernet 0/0.10
R1(config-subif)#encapsulation dot1Q 10
R1(config-if)#ip address 10.0.10.2 255.255.255.0
R1(config-if)#glbp 1 ip 10.0.10.1
R1(config-if)#glbp 1 priority 150
R1(config-if)#glbp 1 preempt
R1(config-if)#glbp 1 load-balancing round-robin

L’option Preempt permet à un AVG de de redevenir AVG après une panne.

L’option round-robin est la méthode de Load Ballancing par défaut. Pour plus de détails, voir la
partie théorique de cet article.

Faisons de même pour R2 :

R2(config)#interface fastEthernet 0/0


R2(config-if)#no shutdown
R2(config)#interface fastEthernet 0/0.10
R2(config-subif)#encapsulation dot1Q 10
R2(config-if)#ip address 10.0.10.3 255.255.255.0
R2(config-if)#glbp 1 ip 10.0.10.1
R2(config-if)#glbp 1 preempt
R2(config-if)#glbp 1 load-balancing round-robin

Voici le résultat :
La première partie concerne l’AVG.

Nous pouvons voir que R1 est l’AVG.

La deuxième partie concerne les AVF.

Nous pouvons voir qu’il y en a deux.

R1 est l’AVF 1, d’où son statut Active pour le Forwarder 1.

R2 est l’AVF 2, ce qui explique pourquoi R1 est en mode Listen pour le Forwarder 2. Il prendra le
relai en cas de panne de R2.

Faisons maintenant quelques tests.

Les PC doivent être configurés comme suit :


PC1(config)#ip default-gateway 10.0.10.1
PC1(config)#interface fastEthernet 0/0
PC1(config-if)#no shutdown
PC1(config-if)#ip address 10.0.10.5 255.255.255.0

A adapter en fonction des PC.

Commençons par tester la connectivité :

Voyons à présent vers quel AVF chaque PC pointe :

Comme prévu, ils n’utilisent pas le même AVF.

Nous pouvons jeter un œil aux tables ARP des PC :

Effectivement, ils n’ont pas la même adresse mac pour 10.0.10.1.

Avant de réaliser un tester de coupure, il nous faut configurer les routeurs pour le VLAN 20 :
 

R1(config)#interface fastEthernet 0/0.20


R1(config-subif)#encapsulation dot1Q 20
R1(config-subif)#ip address 10.0.20.2 255.255.255.0
R1(config-subif)#glbp 2 ip 10.0.20.1
R1(config-subif)#glbp 2 preempt

R2(config)#interface fastEthernet 0/0.20


R2(config-subif)#encapsulation dot1Q 20
R2(config-subif)#ip address 10.0.20.3 255.255.255.0
R2(config-subif)#glbp 2 ip 10.0.20.1
R2(config-subif)#glbp 2 priority 150
R2(config-subif)#glbp 2 preempt

Testons le routage :

Pour rappel, PC1 utilise R2 comme Gateway :

Nous allons donc lancer un Ping de PC1 vers PC3, puis nous couperons l’interface Fa0/0 de R2,
comme ceci :

R2(config)#interface fastEthernet 0/0


R2(config-if)#shutdown
La bascule semble avoir eu lieu.

Voyons quelle Gateway utilise PC1 :

Il utilise à présent R1 (au lieu de R2 qui était utilisé précédemment).

Voyons la table ARP :

PC1 utilise toujours l’adresse MAC de R2, sauf que c’est R1 qui y répond.

Au final, PC1 n’a pas vu le changement, hormis la coupure.

En parlant de ça, nous pouvons réduire les Timers :

R1(config-subif)#glbp 1 timers msec 150 msec 500

A faire sur les deux routeurs, et pour les deux groupes.

Réactivons l’interface de R2, avant de refaire le test :

R2(config)#interface fastEthernet 0/0


R2(config-if)#no shutdown
Cette fois ci, la bascule est bien plus rapide.

Voici comment configurer le Load Ballancing :

Voici la commande pour configurer le poids :

L’AVG se basera sur le poids des routeurs pour le Load Ballancing.

3) Conclusion
 

Nous voici arrivés au terme de ces trois articles sur HSRP, VRRP et GLBP.

Nous avons pu voir que HSRP et VRRP sont très proches. GLBP quant à lui apporte une
réparation de charge.

Même si la charge n’est pas parfaitement répartie, le concept n’en est pas moins intéressent.

Vous aimerez peut-être aussi