GLBP

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 :

Topologie

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 :

Structure Adresse Mac GLBP

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 :

Topologie

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

Le switch doit être configuré comme ceci :

Switch Configuration

 

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 :

Show GLBP

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é :

Ping 10.0.10.1

Ping 10.0.10.1

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

Telnet 10.0.10.1

Telnet 10.0.10.1

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

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

Show ARP

Show ARP

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.2 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 :

Ping 10.0.20.5

Pour rappel, PC1 utilise R2 comme Gateway :

Show ARP

 

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

Ping 10.0.20.5

La bascule semble avoir eu lieu.

Voyons quelle Gateway utilise PC1 :

Telnet 10.0.10.1

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

 

Voyons la table ARP :

Show 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

Ping 10.0.20.5

Cette fois ci, la bascule est bien plus rapide.

 

Voici comment configurer le Load Ballancing :

GLBP 1 Load-balancing

Voici la commande pour configurer le poids :

GLBP 1 Weighting

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.

 

Tagués avec : , ,
Publié dans Gateway Redundancy
2 commentaires pour “GLBP
  1. toma dit :

    Merci pour le temps pris pour nous partagez ton savoir super cool ce site on espère avoir le contenu du ccna security et ccnp secu. Vous êtes trop pédagogue.
    Merci merci

  2. sidibe dit :

    merci d’avoir pris ton temps pour la constitution de ces cours

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.