Le problème est très simple : Si un lien Trunk entre deux switchs est défectueux, déconnecté ou bogué –> On coupe la communication entre les PC connectés sur des switchs différents.
Comment faire pour éviter ça ?
Plusieurs solutions :
- changer le câble… ok c’est nul comme proposition ;
- priez… encore plus nul, quoique parfois on sait jamais ;
- connecter un second câble entre les 2 switchs et configurer le Trunk dessus ;
- connecter un second câble entre les 2 switchs, configurer l’agrégation de liens et configurer le Trunk dessus.
Quelle est la meilleure solution d’après vous ?
Si on choisit la troisième solution, le spanning-tree va s’activer et bloquer un des 2 liens. Alors certes, quand un lien sera défectueux, le spanning-tree va débloquer l’autre mais le temps de déblocage peut être long. Et je ne parle pas d’un lien qui bagote… alors là le spanning-tree va mettre le bazar dans votre réseau !
Si on choisit la dernière solution alors on a un système entièrement redondant où les deux liens sont actifs en même temps donc on gagne en plus en bande passante.
Définition
L’agrégation de liens permet de relier logiquement jusqu’à 8 liens entre deux équipements, Cisco ou non. Au niveau de l’équipement, c’est vu comme un et un seul gros lien et ça permet d’avoir la redondance et la résilience du réseau dans le cas où un lien « pète ». De plus, plus j’agrège des liens physiques, plus je monte en bande passante disponible.
Dans le schéma ci-dessus, on a fait des agrégats un peu partout ; entre switchs, entre switch et routeur et même entre switch et serveur (très pratique pour assurer la résilience du réseau en cas de défaillance d’une carte réseau).
Les protocoles PAGP et LCAP
Pour configurer un agrégat entre 2 équipements, on peut choisir entre le protocole propriétaire Cisco PAgP, ou la norme LACP
PAgP utilise 3 modes au niveau des ports :
-
Auto (mode par défaut): le port attend une requête du port voisin
-
Desirable : le port négocie avec le port voisin
-
On : le port ne prévient pas et ne négocie pas avec l’autre. Dans ce cas, on monte l’Etherchannel sans PAgP ou LACP
LACP utilise aussi 3 modes au niveau des ports mais la nomenclature est différente :
-
Passive (par défaut): le port attend les paquets LACP d’en face pour y répondre mais n’en envoi pas tout seul
-
Active : Le port négocie activement en envoyant des paquets LCAP en face
-
On : le port ne prévient pas et ne négocie pas avec l’autre. Dans ce cas, on monte l’Etherchannel sans PAgP ou LACP
Pour le CCNA, faire attention à ne pas mélanger les modes entre PAgP et LACP, c’est forcément une question qui tombe. Et ne pas mélanger le fonctionnement d’un mode (par exemple : je préviens ou je ne préviens pas mon voisin) avec les modes du protocole DTP (cf chapitre DTP).
Configuration
Pour configurer l’agrégat, il faut :
-
choisir ses ports physiques que l’on veut connecter au voisin ;
-
activer le protocole PAgP ou LACP sur ces ports physiques ;
-
et définir une interface logique (la fameuse grosse interface que le switch considérera comme active).
Switch_A(config)# interface range FastEthernet 0/1 - 2 Switch_A(config-if)# channel-protocol pagp Switch_A(config-if)# channel-group 8 mode desirable Switch_A(config-if)#exit Switch_A(config)# Switch_A(config)# interface Port-channel 8 Switch_A(config-if)# switchport mode trunk Switch_A(config-if)# exit Switch_A(config)#
Dans la configuration ci-dessus, j’ai choisi les ports Fa0/1 et Fa0/2 pour les agréger entre eux. J’ai choisi le protocole PAgP pour négocier avec mon voisin et j’ai défini une interface logique n°8 (Port-channel). Et je la configure en lien Trunk. pour faire transiter les trames taguées des utilisateurs.
Importants et à retenir pour le CCNA
- c’est dans l’interface logique que désormais il faut faire la configuration (Trunk, VLAN…)
- Tous les ports physiques doivent avoir :
-
Même protocole d’agrégation activé
-
Même vitesse
-
Même type de duplex
-
Même configuration de Trunk ou Access
-
Même VLANs transitant si le mode est Trunk
-
Même VLANs si le mode est Access
-
-
Si on modifie la configuration sur un port physique –> cela modifie le comportement uniquement sur ce port physique
-
Si on modifie la configuration sur le port logique –> cela modifie le comportement de tous les port physiques appartenant au port logique
Bonjour Cyril ,
J’ai une petite question svp : quelle est la différence entre un port et une interface logique ?
Merci d’avance.
Bonjour Cyril,
j’ai bien lu l’article, je l’ai tester sur packet tracer et ça marche très bien. mais j’ai tout de même quelques préoccupations, parce que je compte déployer l’etherchannel chez un de mes clients.
– J’aimerais savoirs qu’elles sont les inconvénients de l’etherchannel dans une architecture comme celle poster dans le lien et quels type de problèmes je pourrais rencontrer à la longue ou dans un avenir proche.
– Comment pourrais-je gérer le loadbalancing sur mes lien agrégé ?
http://www.imagup.com/data/1176534331.html
NB : j’ai fait le schéma sans avoir fait la config etherchannel.
Merci encore pour l’article.
Petite interrogation (de mémoire il ne me semblait pas l’avoir vu comme ça) :
lorsque l’on configure l’agrégation de liens (entre 2 switchs par exemple), suffit-il de le faire sur un seul des 2 switchs ? N’y a t‑il pas d’autres paramètres ?
Bonsoir Messieurs.
Effectivement, avant de me relancer dans ma maquette qui est peu être un peu complexe pour mon niveau débutant, je me suis tourné vers Packet Tracer ou j’obtiens bien le résultat des deux liens agrégés et du trunk.
J’ai appliqué la commande de Steve et j’ai également le bon résultat.
Merci pour ces cours et très bonne journée.
Petit complément concernant la vérification du fonctionnement de l’etherchannel…
Pur voir en un clin d’oeil si l’etherchannel est fonctionnel ou non …
SWITCH# show etherchannel summary
Flags: D - down P - in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
u - unsuitable for bundling
U - in use f - failed to allocate aggregator
d - default port
Number of channel-groups in use : 1
Number of aggregators : 1
Group Port-channel Protocol Ports
— — + — — — — -+ — — — –+ — — — — — — — — — — — — — — — –
1 Po1(SD) PAgP Fa0/1(I) Fa0/2(I)
La partie intéressante est la dernière ligne, on y voit :
– Le numéro du groupe, ici 1 … c’est donc l’Etherchannel 1, représenté par l’interface Port-Channel1
– Le nom abrégé de l’interface Po1 … et SURTOUT … son état : SD signifie etherchannel de niveau 2 et DOWN (donc pas fonctionnel)
– Le protocol (ici PAgP)
– Et enfin les ports participants à l’etherchannel ( Fa0/1 et Fa0/2 dans le cas présent)
Donc … ici je vois directement l’état … je sais qu’il y a un problème (dans le cas présent je n’ai pas encore configuré l’autre côté 😉 ).
Voici un résultat de la même commande pour un état fonctionnel :
SW1#show etherchannel summary
Flags: D - down P - in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
u - unsuitable for bundling
U - in use f - failed to allocate aggregator
d - default port
Number of channel-groups in use : 1
Number of aggregators : 1
Group Port-channel Protocol Ports
— — + — — — — -+ — — — –+ — — — — — — — — — — — — — — — –
1 Po1(SU) PAgP Fa0/1(Pd) Fa0/2℗
L’état de l’etherchannel est maintenant SU … Niveau2 ET Fonctionnel.
Voilà 🙂
Bonjour.
J’ai testé les commandes que vous donnez sur un Catalyst 3750E mais il y a un moment ou je bloque …
Je fais :
c3750g1(config)#int ra gi1/0/1 – 2
c3750g1(config-if-range)#channel-protocol lacp
c3750g1(config-if-range)#channel-group 1 mode active
c3750g1(config-if-range)#exit
c3750g1(config)#int port-channel 1
c3750g1(config-if)#switchport mode trunk
Command rejected : An interface whose trunk encapsulation is « Auto » can not be configured to « trunk » mode.
Savez vous me dire pourquoi j’ai cette réponse ? le problème vient-il du fait que j’utilise LACP plutôt que PAGP ?
Merci de votre réponse
bonjour,
je viens de tester avec packet tracer et de comprendre le fonctionnement,
merci le cours est clair et précis !
kool 🙂