Correction CCNA Version 7

Correction CCNA Version 7

Correction CCNA 1

Correction CCNA 1

Cisco - CCNA version 6 Answes

Cisco - CCNA 4 version 6 Answe

Correction CCNA 3

Correction CCNA 2

Etherchannel : configuration

 

1- Technologie Etherchannel

EtherChannel est une technologie d’agrégation de liens qui permet d’assembler plusieurs liens physiques Ethernet identiques en un seul lien logique. On l’appelle aussi bonding, LAG, etherchannel, ou encore portchannel.

Le but est d’augmenter la vitesse et la tolérance aux pannes entre les commutateurs, les routeurs et les serveurs. Elle permet de simplifier une topologie Spanning-Tree en diminuant le nombre de liens.

Un lien EtherChannel groupe de 2 à 8 liens actifs de 100 Mbit/s, 1 Gbit/s et 10 Gbit/s, plus éventuellement de 1 à 8 liens inactifs en réserve qui deviennent actifs quand des liens actifs sont coupés.

EtherChannel est principalement utilisé sur la dorsale du réseau local, dans le “switch block” entre la couche Access et Distribution, mais on peut aussi l’utiliser pour connecter des postes d’utilisateurs, des serveurs.

La technologie EtherChannel a été inventée par la société Kalpana au début des années 1990. Cette société a ensuite été acquise par Cisco Systems en 1994. En 2000, l’IEEE a publié le standard 802.3ad, qui est une version ouverte de EtherChannel.

1-1 Disponibilité dans le LAN

 
Couche    Protocole/Solutions         Délais de reprise
L1            Etherchannel                   Plus ou moins 1 seconde pour rediriger le trafic sur un lien alternatif
L2           Rapid Spanning Tree       Quelques secondes
L3           First Hop Redundancy     Protocols comme HSRP, VRRP, GLBP    10 secondes par défaut ..
L3           Protocoles de routage      En dessous de la seconde avec OSPF ou EIGRP

1-2  Configuration Cisco

Sur une interface, on indique à quel Groupe Etherchannel elle appartient. On trouvera des configurations :

  • Statique
  • Dynamique, via un protocole qui négocie l’agrégation :
    • Port Aggregation Protocol (PAgP)
    • Link Aggregation Control Protocol (LACP).

1-3 EtherChannel et IEEE 802.3ad

Les protocoles EtherChannel et IEEE 802.3ad sont très semblables et accomplissent le même but.

Il y a néanmoins quelques différences entre les deux :

  • EtherChannel est un protocole propriétaire de Cisco, alors que 802.3ad est un standard ouvert
  • EtherChannel nécessite de configurer précisément le commutateur, alors que 802.3ad n’a besoin que d’une configuration initiale
  • EtherChannel prend en charge plusieurs modes de distribution de la charge sur les différents liens, alors que 802.3ad n’a qu’un mode standard
  • EtherChannel peut être configuré automatiquement à la fois par LACP et par PAgP, tandis que 802.3ad ne peut l’être que par LACP.

2  Configuration Etherchannel en Cisco IOS

2-1 Configuration L2

Switch(config)# interface range fa0/1 – 4 {we can use the range or single interface}
Switch(config-if-range)# channel-group [1 – 6] mode [auto | desirable | on | active | passive]
  • Le nombre de “channel-group” disponible dépend du type de commutateur.
  • Les modes “auto” (passif) et “desirable” (inconditionnellement) activent PAgP.
  • “Active” (inconditionnellement) et “passive” activent LACP.
  • Le mode “on” force l’interface à se lier sans PAgP ou LACP
(config-if-range)#channel-group 1 mode ?
  active     Enable LACP unconditionally
  auto       Enable PAgP only if a PAgP device is detected
  desirable  Enable PAgP unconditionally
  on         Enable Etherchannel only
  passive    Enable LACP only if a LACP device is detected

Cette commande créera une interface Port-Channel 1 avec une méthode de configuration obligatoire.

La configuration des paramètres Duplex, vitesse, Spanning-Tree, Access ou Trunk doivent être identiques sur les interfaces physiques du channel-group et l’interface Port-Channel.

Le tableau suivant donne les possibilités de configuration :

 Interface X                  Interface Y                        Protocole
Desirable                      Desirable                          PAgP
Desirable                      Auto                                  PAgP
Active                          Active                                LACP
Active                          Passive                               LACP

 

Auto en PAgP et Passive en LACP de part et d’autre des interfaces ne monte pas le Port-Channel créé.

2-2 Diagnostic L2

Switch# show interface etherchannel
Switch# show etherchannel [summary | port | load-balance | port-channel | detail]
Switch# show [pagp | lacp ] neighbors

2-3 Configuration L3

Désactivation switchport sur les interfaces physiques et configuration du mode Etherchannel “on” (Etherchannel sans LACP ou PAgP) :

SW0(config)#interface range g0/0-1
SW0(config-if-range)#no switchport
SW0(config-if-range)#no ip add
SW0(config-if-range)#channel-group 1 mode on

Désactivation switchport et adresse IP sur le port Etherchannel

SW0(config)#interface Po1
SW0(config-if)#no switchport
SW0(config-if)#ip add 192.168.2.1 255.255.255.0

Les interfaces doivent avoir des paramètres speed et mode identiques.

3 Exemple de configuration

L’image vios_l2-adventerprisek9-m.03.2017.qcow2 est une des images IOSv qui permet de réaliser cet exercice en lab.

3-1 Topologie

 

  • Vlan 10 (G3/0), VLAN 20 (G3/1) sur SW0 et sur SW1
  • SW0 STP root primary vlan 10, root secondary vlan 20
  • SW1 STP root primary vlan 20, root secondary vlan 10
  • Po1 sur SW0 et SW1 (G0/0 et G0/1) en mode Trunking
  • Po2 sur SW0 et SW1 (G0/2 et G0/3) en mode Trunking
  • PC1 connecté sur G3/0 de SW0 : 192.168.10.1/24
  • PC2 connecté sur G3/1 de SW0 : 192.168.20.1/24
  • PC3 connecté sur G3/0 de SW1 : 192.168.10.2/24
  • PC4 connecté sur G3/1 de SW1 : 192.168.20.2/24

3-2 Configuration des VLANs

Sur SW0 et sur SW1 :

(config)#vlan 10
(config-vlan)#exit
(config)#vlan 20
Topologie de base Etherchannel

3-3 Configuration de Spanning-Tree

Sur SW0 :

SW0(config)#spanning-tree vlan 10 root primary
SW0(config)#spanning-tree vlan 20 root secondary

Sur SW1 :

SW1(config)#spanning-tree vlan 20 root primary
SW1(config)#spanning-tree vlan 10 root secondary

3-4 Configuration des ports Access

Sur SW0 et sur SW1 :

(config)#int G3/0
(config-if)#switchport mode access
(config-if)#switchport access vlan 10
(config-if)#exit
(config)#int G3/1
(config-if)#switchport mode access
(config-if)#switchport access vlan 20
(config-if)#exit

3-5 Configuration Etherchannel

Sur SW0 et sur SW1 :

(config)#interface range G0/0-1
(config-if-range)#shutdown
(config-if-range)#switchport trunk encapsulation dot1q
(config-if-range)#switchport mode trunk
(config-if-range)#channel-group 1 mode desirable
(config-if-range)#no shutdown
(config-if-range)#exit
(config)#interface Po1
(config-if)#switchport trunk encapsulation dot1q
(config-if)#switchport mode trunk
(config-if)#exit
(config)#interface range G0/2-3
(config-if-range)#shutdown
(config-if-range)#switchport trunk encapsulation dot1q
(config-if-range)#switchport mode trunk
(config-if-range)#channel-group 2 mode active
(config-if-range)#no shutdown
(config-if-range)#exit
(config)#interface Po2
(config-if)#switchport trunk encapsulation dot1q
(config-if)#switchport mode trunk
(config-if)#exit

3-6 Diagnostic Spanning-Tree

Sur SW0 :

SW0#sh spanning-tree vlan 10

VLAN0010
  Spanning tree enabled protocol ieee
  Root ID    Priority    24586
             Address     007c.efbd.6900
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24586  (priority 24576 sys-id-ext 10)
             Address     007c.efbd.6900
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  15  sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi3/0               Desg FWD 4         128.13   P2p
Po1                 Desg FWD 3         128.65   P2p
Po2                 Desg FWD 3         128.66   P2p


SW0#sh spanning-tree vlan 20

VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    24596
             Address     007c.efaa.5600
             Cost        3
             Port        65 (Port-channel1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    28692  (priority 28672 sys-id-ext 20)
             Address     007c.efbd.6900
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  15  sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi3/1               Desg LRN 4         128.14   P2p
Po1                 Root FWD 3         128.65   P2p
Po2                 Altn BLK 3         128.66   P2p



Sur SW1 :

SW1#show spanning-tree vlan 10

VLAN0010
  Spanning tree enabled protocol ieee
  Root ID    Priority    24586
             Address     007c.efbd.6900
             Cost        3
             Port        65 (Port-channel1)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    28682  (priority 28672 sys-id-ext 10)
             Address     007c.efaa.5600
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi3/0               Desg FWD 4         128.13   P2p
Po1                 Root FWD 3         128.65   P2p
Po2                 Altn BLK 3         128.66   P2p


SW1#show spanning-tree vlan 20

VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    24596
             Address     007c.efaa.5600
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    24596  (priority 24576 sys-id-ext 20)
             Address     007c.efaa.5600
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi3/1               Desg FWD 4         128.14   P2p
Po1                 Desg FWD 3         128.65   P2p
Po2                 Desg FWD 3         128.66   P2p


4- Fonctionnalités avancées

On citera ici quelques fonctionnalités avancées en dehors des sujets du CCNA :

  • On peut répartir la charge de liens Etherchannel sur plusieurs commutateurs (switches stackables ou des plateformes VSS pour “Virtual Switching System”).
  • La distribution du trafic sur plusieurs liens Etherchannel dépend d’un algorithme de Hash dont la méthode est configurable.
  • La fonctionnalité “Etherchannel Guard” permet d’éviter des erreurs de configuration (commande spanning-tree etherchannel guard misconfig).

 

 

Configuration Spanning Tree (STP)


A l’issue de cet article, vous serez en mesure de mettre en place Spanning Tree dans un réseau, et ce en comprennent son fonctionnement.

1- La topologie

Voici la topologie que nous utiliserons :
Le but sera de configurer Spanning Tree pour qu’il désactive les liens redondants.
Nous verrons quel est le lien désactivé, puis nous influencerons l’élection du Root Bridge.
Nous verrons aussi les timers de Spanning Tree, le Peer Vlan Spanning Tree, etc…

2- Première approche

Vous vous demandez certainement comment activer Spanning Tree.
Et bien sachez qu’il est déjà activé, et déjà en action.
En utilisant la commande « Show Running Config », nous pouvons voir quelle est la version utilisée :
Spanning-Tree Mode PVST
La version activée actuellement est la PVST.
Pour rappel, cette version fonctionne comme le STP classique, sauf qu’il peut y avoir un Root Bridge par VLAN.
Dans les exemples que je donnerai, il sera parfois fait mention du VLAN 99.
Il s’agit du VLAN que j’utilise pour accéder à distance à mes switchs. Il n’est pas nécessaire de s’en soucier.
En dehors de cela, nous n’avons que le VLAN 1 (pour le moment).
Voyons donc qui est le Root Bridge sur la topologie précédente.
Les critères de choix du Root Bridge sont les suivants :
  • Priorité la plus basse
  • Adresse MAC la plus basse
La commande « Show Spanning Tree » permet de voir l’état Spanning Tree :
Les informations affichées sont celles du VLAN 1
Nous retrouvons deux groupes d’information.
La partie Root ID, concerne le Root Bridge (ici il s’agit de S2 lui-même)
Quand le Switch en question est le Root Bridge, nous pouvons voir le message « This bridge is the root ».
La deuxième partie, « Bridge ID » concerne le switch en lui-même.
Forcément, pour S2 nous y retrouvons les mêmes informations.

3- Etats des ports

Dans la partie interface, il est indiqué le rôle des ports, et leur état.
Ici, comme S2 est le Root Bridge, les ports sont tous en Designated / Forwarding.
Voyons maintenant le résultat de la même commande sur S1 :
La partie Root ID fait bien référence à S2.
Nous pouvons voir que le port Fa 0/1 a le rôle Root.
Le port Fa 0/2 a été bloqué.

4- Choix du meilleur lien / désactivation des liens redondants

Nous parlions, dans le précédent article, du choix des liens à désactiver.
Ici, tous les liens sont en 100 Mb/s.
Le coût est effectivement de 19 :
Le choix du meilleur chemin sera donc relativement simple.
Mais pourquoi S1 a-t’il choisit le lien vers S4 comme étant le meilleur chemin ?
En effet, S1 a 2 chemins égaux à disposition.
Dans l’article précédent, nous avions dit qu’en cas d’égalité, c’est le voisin avec le plus petit BID qui gagne.
Comparons S3 et S4 :

Les deux switchs ont la même priorité.
En revanche, S4 a une adresse MAC plus élevée.
S3 a donc un BID plus petit.
Ce qui explique pourquoi S1 a coupé le port Fa 0/2.

5- Les Timers STP

Voyons en fonction les Timers STP.
Pour étudier les Timers, nous allons couper le port Fa 0/2 de S2, de manière à ce que S1 réactive son pot Fa 0/2.
Pour cela, nous commençons par désactiver le port.
Switch-2(config-if)#interface fastEthernet 0/2
Switch-2(config-if)#shutdown
Rapidement, nous passons sur S1, et nous affichons l’état Spanning Tree :
Nous constatons que le port reste en mode Blocking pendant les 20 secondes dont nous avions parlé.
Ensuite, le port passe en mode Listening pendant 15 secondes (il écoute les BPDU).
Après quoi il passe en mode Learning (pendant 15 secondes) :
Enfin, le port arrive en mode Forwarding :

6- Portfast

La première solution pour réduire les timers, est d’utiliser le Portfast sur certains ports.
Comme dit dans l’article précédent, cela aura pour effet de désactiver Spanning Tree sur le port en question.
Cette fonctionnalité n’est à activer que sur les ports connectés à des PC.
Entre les switchs, Porfast est proscrit, pour des raisons évidentes.
La configuration est très simple :
Switch-1(config)#interface fastEthernet 0/3
Switch-1(config-if)#spanning-tree portfast
Afin de prévenir les erreurs, le message suivant est affiché :

7- Rapid-PVST

Afin de rendre le processus Spanning Tree plus rapide, nous allons mettre en place le protocole Rapid PVST.
Encore une fois, pour plus de détails, je vous renvoie vers l’article traitant de la théorie de Spanning Tree.
Voici comment changer le mode Spanning Tree :
Spanning Tree Mode
Vous aurez alors le choix entre plusieurs modes.
Ici nous choisirons Rapid-PVST. Il fonctionne comme PVST, mais il est plus rapide.
Attention, lors du changement de protocole, cela peut causer des boucles. En effet, selon le protocole choisi, les switchs ne pourront plus discuter entre eux. Rapid-PVST, RSTP et MSTP sont compatibles.
Switch-1(config)#spanning-tree mode rapid-pvst
La manipulation est à faire sur tous les switchs.
Le résultat ressemble beaucoup à ce que nous avions en PVST :
Maintenant la question qui se pose : la bascule se fait-elle plus vite ?
Refaisons la manipulation précédente.
Nous désactivons le port Fa 0/2 de S2, de manière à forcer le port FA 0/2 de S1 à passer en mode Forwarding.
Voici l’état actuel de S1 :
Procédons à la coupure :
Switch-2(config)#interface fastEthernet 0/2
Switch-2(config-if)#shutdown
Passons rapidement sur S1, et voyons l’état Spanning Tree :
Le changement a déjà été fait !
La bascule se fait si rapidement, qu’il est très difficile de la percevoir.
Néanmoins, d’un point de vu des transmissions réseau, le temps de bascule est tout de même significatif.

8- MSTP – Muliple Spanning Tree Protocol

Le MSTP est l’équivalent de Rapid-PVST mais en version standard.
La configuration est un peu différente.
En voici un aperçu :
Switch-1(config)#spanning-tree mode mst
Il faut ensuite rentrer dans la configuration de MST, et créer des instances.
Une instance peut contenir un ou plusieurs VLAN.
Un switch va ensuite être le Root Bridge pour une instance, et donc potentiellement pour plusieurs VLAN.
Switch-1(config)#spanning-tree mst configuration
Switch-1(config-mst)#instance 1 vlan 1 2 3 4 5
Switch-1(config-mst)#instance 2 vlan 6 7 8 9 10
Si nous le souhaitons, nous pouvons forcer un switch à devenir le Root Bridge :
Switch-1(config)#spanning-tree mst 1 root primary
Libre à vous d’implémenter le protocole MST dans notre topologie, néanmoins, nous resterons sur du Rapid-PVST pour la suite de cet article.

9- Plusieurs instances Spannign Tree

Nous avons dit précédemment qu’en PVST et Rapid-PVST, il est possible d’avoir plusieurs instances Spanning Tree.
Le Root Bridge ne sera alors pas le même pour tous les VLAN.
Nous allons modifier notre topologie pour profiter pleinement de cette fonctionnalité.

PC 1 et PC 3 seront dans le VLAN 10, et PC 2 et PC 4 dans le VLAN 20.
Le but est que S3 soit le Root Bridge du VLAN 10, et S2 le Root Bridge du VLAN 20.
Voici les modifications à apporter :
Switch-1(config)#interface fastEthernet 0/3
Switch-1(config-if)#switchport mode access
Switch-1(config-if)#switchport access vlan 10
Switch-1(config)#interface fastEthernet 0/4
Switch-1(config-if)#switchport mode access
Switch-1(config-if)#switchport access vlan 20
Switch-1(config)#interface range fastEthernet 0/1 - 2
Switch-1(config-if-range)#switchport mode trunk
Switch-2(config)#interface fastEthernet 0/3
Switch-2(config-if)#switchport mode access
Switch-2(config-if)#switchport access vlan 10
Switch-2(config)#interface fastEthernet 0/4
Switch-2(config-if)#switchport mode access
Switch-2(config-if)#switchport access vlan 20
Switch-2(config)#interface range fastEthernet 0/1 - 2
Switch-2(config-if-range)#switchport mode trunk
Switch-3(config)#interface range fastEthernet 0/1 - 2
Switch-3(config-if-range)#switchport mode trunk
Switch-4(config)#interface range fastEthernet 0/1 - 2
Switch-4(config-if-range)#switchport mode trunk
Comme convenu, nous forçons S3 comme Root Bridge pour le VLAN 10 :
Switch-3(config)#spanning-tree vlan 10 root primary
Puis S4 pour le VLAN 20 :
Switch-4(config)#spanning-tree vlan 20 root primary
Voyons le résultat :
Comme prévu, S1 utilise son port Fa 0/1 pour le VLAN 10, et son port FA 0/2 pour le VLAN 20.
Les frames du VLAN 10 transiteront par S3, et celles du VLAN 20 par S4.
La charge sera donc « répartie », la bande passante ne sera pas gaspillée.

10- Autres fonctionnalités

Voyons à présent quelques autres fonctionnalités qui peuvent être utiles en Spanning Tree.

BPDU Guard

En activant le BPDU Guard sur un port, ce dernier va se désactiver (état Err-Disable) s’il reçoit un BPDU.
C’est une fonctionnalité à activer sur les ports faisant face à des PC.
Switch-1(config-if)#interface fastEthernet 0/3
Switch-1(config-if)#spanning-tree bpduguard enable

BPDU Filter

Le BPDU Filter permet de désactiver l’envoie de BPDU sur ce port.
Par contre, si un BPDU est reçu sur ce même port, le port fera à nouveau partie du processus Spanning Tree (Portfast sera aussi désactivé).
Switch-1(config)#interface fastEthernet 0/4
Switch-1(config-if)#spanning-tree bpdufilter enable

Backbone Fast et UplinkFast

Backbone Fast et UplinkFast sont deux fonctionalité (crées par Cisco) qui permettent d’améliorer le temps de convergence de processus Spanning Tree.
La configuration de ces fonctionnalités est inutile en Rapid-PVST, RSTP et MSTP, car elles sont déjà prises en charge.
Reprenons cette topologie pour étudier les deux fonctionnalités précédemment citées :

S3 étant le Root Bridge, le port de Fa 0/2 sera en mode Blocking.
En activant UplinkFast, la convergence sera plus rapide en cas de panne.
Si le switch S3 tombe en panne, S1 va automatiquement activer son port Fa 0/2 car il a gardé en mémoire que c’est un chemin alternatif vers le Root Bridge.
La convergence sera donc plus rapide, car il ne sera pas nécessaire de repasser par les différentes phases d’écoute et d’apprentissage.
Cette fonctionnalité est à activer sur les switchs au niveau Access. Aux niveaux Distribution et Core, cela peut parfois amener à des boucles.
Pour améliorer la sécurité, la priorité du switch est augmentée lors de l’activation d’UplinkFast. De même que le coût des ports.
Voici comment activer UplinkFast :
Switch-5(config)#spanning-tree uplinkfast
Et voici l’évolution de la priorité et du coût :
Avant UplinkFast :
Après :
La priorité a augmenté de 2^14 et le coût du lien, de 3000.
A l’inverse, Backbone Fast permet de détecter des pannes distantes. C’est-à-dire des pannes qui se produisent sur des switchs distants et qui font que nous n’accédons plus au Root Bridge.
A la détection d’une telle panne, le switch passe directement le port concerné en mode Listening, et n’attend pas l’expiration du Max Age Timer (temps après lequel le port passe en Listening si on ne reçoit plus de BPDU du Root Bridge).
Le gain de temps est donc de 20 secondes.
Pour activer Backbone Fast, utiliser la commande suivante sur tous les switchs :
Switch-5(config)#spanning-tree backbonefast
Encore une fois, il n’est pas nécessaire d’activer UplinkFast et BackboneFast en RSTP, Rapid-PVST et MSTP.

11- Storm Control

Sur les switchs Cisco, il existe une fonctionnalité qui permet de limiter les tempêtes de broadcast.
Il est possible de choisir la quantité maximale de broadcast qui peut transiter sur un port.
Il est même possible de désactiver le port en cas d’excès.

Switch-5(config-if)#storm-control broadcast level 20
Dans ce cas-ci, seul 20% de la bande passante du lien peut être utilisée pour transmettre des broadcast.
Si le seuil est dépassé, tout le broadcast sera bloqué, jusqu’à ce que le débit de transmission tombe en dessous de 20%.
Il est possible de faire de même pour le multicast et l’unicast.
Pour désactiver le port en cas d’excès (error-disabled) :
Switch-5(config-if)#storm-control action shutdown
Il est aussi possible de configure deux niveaux :
Switch-5(config-if)#storm-control broadcast level 20 15
Dans ce cas-ci, le trafic de broadcast sera bloqué s’il dépasse 20%, et ne sera autorisé à nouveau que s’il tombe en dessous de 15%.

12- Conclusion

Nous arrivons au terme de cette présentation du protocole Spanning Tree.
Nous avons pu voir la théorie (dans l’article précédent), et la pratique.
La partie pratique aura été l’occasion de configurer Spanning Tree et ces différentes fonctionnalités, mais aussi d’étudier le fonctionnement du protocole.

Spanning-Tree Portfast & BPDU Guard

 

Spanning-Tree (STP), pour rappel, est un protocole prenant en charge la résolution des boucles dans un réseau de switches. Bien qu’efficace, ce protocole est lent … très lent … trop lent, une interface qui passe up/up va transiter par différents états avant de pouvoir fonctionner normalement (forwarder les trames), cela prend 30 secondes (pour la version standard de STP).
Imaginons une minute le cas d’un PC moderne, qui essaie d’obtenir son configuration IP par DHCP….
Temps 0: Le PC se met en route, son interface s’active, l’interface du switch passe up/up, Spanning Tree la place dans un état « LISTENING », aucune trame n’entre ou ne sort à l’exception des BPDUs (Bridge Protocol Data Unit, message de STP).
Temps 0+15s: L’interface du switch passe dans l’état « LEARNING », elle accepte désormais les trames provenant du PC mais ne les forwarde pas, son seul but ici est de peupler sa table d’adresses MAC.
Et pendant ce temps ….
Le PC est dans les starting-blocks, il émet des requêtes DHCP, espérant (en vein) d’obtenir sa configuration… Ces trames sont purement et simplement éliminées par le switch. Après quelques essais, le PC abandonne, et passe sur la roue de secours en s’auto-configurant une adresse APIPA.
Temps  0+30s: L’interface passe enfin en état « FORWARDING », elle accepte maintenant les trames et les forwarde normalement.
Résultat … pas d’accès réseau fonctionnel pour le PC jusqu’à ce qu’il se décide de retenter sa chance.

PortFast … une solution dangereuse mais nécessaire

Afin de palier à ce problème, Cisco a mise en place une fonctionnalité permettant de by-passer les états LISTENING et FORWARDING sous certaines conditions. Cette fonctionnalité c’est le « PortFast ».
Configuration de l’interface en portfast:
Switch(config)#interface FastEthernet 0/1
Switch(config-if)#spanning-tree portfast
Vérifier si PortFast est activé ou non sur l’interface:
Switch#spanning-tree interface FastEthernet0/1 portfast
VLAN1            enabled
Attention:
  • PortFast n’est actif qu’à condition de l’interface ne soit pas un trunk
  • PortFast désactive le comportement normal de STP et expose donc le switch aux dangers de boucles. Il faut donc s’en prémunir et se servir de fonctionnalités complémentaires

BPDUGuard … « You shall not pass! »

Autre fonctionnalité, complémentaire à PortFast, BPDUGuard a pour but de désactiver une interface qui recevrait un BPDU alors qu’elle n’aurait pas dû. Une interface pour laquelle BPDUGuard est activé, et qui reçoit un BPDU, sera placée en état errDisabled (down/down, même état qu’en cas de violation de Port-Security).
Pour être à nouveau fonctionnelle, l’interface devra être manuellement remise à zéro (shutdown / no shutdown) ou alors il faut utiliser les fonctionnalités « errdisable recovery » (ce sera pour un autre article).
Configuration de BPDUGuard:
Switch(config)#interface FastEthernet 0/1
Switch(config-if)#spanning-tree bpduguard enable
Remarque: Ne confondez pas BPDUGuard et BPDUFilter, ce dernier a pour but d’empêcher une interface d’émettre des BPDUs mais aussi de les ignorer quand ils entrent, mais ne résout en rien le problème de base, bien au contraire.
Exemples de dangers écartés grâce à BPDUGuard:
  • L’utilisateur Lambda connecte sans le savoir deux ports du même switch entre eux (Ho! Le joli câble qui traîne… Si je le branchais juste à côté ?)
  • Une erreur de configuration/cablâge qui entraîne une boucle entre plusieurs switches par des interfaces en PortFast.

Download