Le STP résout les problèmes de boucles de données dans un réseau local en désactivant les liaisons redondantes entre commutateurs. Il réactive une liaison de secours si une liaison active échoue. De cette façon, le STP garantit un unique chemin actif entre deux points du réseau à tout moment, prévenant ainsi les boucles tout en préservant la redondance essentielle à la fiabilité du réseau. Quand nous parlons de Spanning Tree, nous parlons de ses variants. En pratique, le protocole Spanning Tree s’utilise peu, lui préférant le RSTP (Rapid STP) ou le PVST pour les équipements réseau, qui gère l’évitement de boucle par VLAN, ainsi que sa version accélérée, le PVST+. Cisco possède le PVSTP, à la différence du STP et du RSTP qui sont des standards de l’IEEE. L’IEEE a référencé le STP sous le nom 802.1d et le RSTP sous 802.1w.
Fonctionnement du Spanning Tree
L’algorithme du STP va nous permettre de créer une arborescence, qui sera le chemin que devra emprunter les trames. Pour ce faire, des ports du commutateur seront en état « bloquer », c’est-à-dire qu’il ne laissera pas passer les trames. Dans l’illustration ci-dessus, le protocole Spanning Tree crée le chemin vert pour faire communiquer les 2 PC. Un port a été éteints pour créer ce chemin.
Le protocole spanning tree va nous permettre de bloquer un port en suivant le processus suivant :
- Election du commutateur racine, tous les ports seront actifs.
- Election des ports root sur les commutateurs non-racine.
- Election du port désigné
Pour pouvoir effectuer ses 3 étapes, les commutateurs devront communiquer entre eux un certain nombre d’information.
Election du commutateur racine pour l’algorithme spanning tree
La trame en charge de transporter ses flux s’appelle un BPDU (Bridge Protocol Data Unit). Le BPDU va contenir le BID (Bridge ID).Dans ce champ nous retrouverons la priorité du Bridge et l’adresse MAC de l’interface.
Les priorités
La priorité du bridge est une information qui peut être modifier son poids et de 12 bits, elle devra donc être un multiple de 4096, par défaut sa valeur est de 32768. Dans une infrastructure avec VLAN, à ce chiffre, nous devons ajouter l’ID du système étendu qui est le numéro du vlan. Ainsi dans une configuration par défaut d’un commutateur la Priorité Bridge sera alors de 32768 + 1 soit 32769.
Chaque commutateur d’un LAN se partagerons cette information. Le BID le plus faible sera élu commutateur racine.
Prenons comme exemple l’infrastructure ci-dessous :
Dans cet exemple pour qu’une trame puisse aller de PC1 vers PC2, il existe plusieurs chemins possibles.
- SW1 ->SW4
- SW1 ->SW3 ->SW4
- SW1 -> SW3 ->SW2 -> SW4
- SW1 -> SW2 ->SW3 -> SW4
- SW1 -> SW2 ->SW4
Le chemin le plus court est le premier, il serait donc logique de choisir ce chemin. La logique informatique s’appuie sur des algorithmes et dans notre cas c’est l’algorithme spanning tree (abrégé en STA) qui va œuvrer pour déterminer le chemin le plus pertinent et non le chemin le plus court. Pour ce faire l’algorithme va passer par les étapes que nous avons listées précédemment.
Concentrons-nous sur la première étape, l’élection du port racine. Nous avons vu que le port racine, est celui qui a le BID le plus faible. Dans une configuration par défaut la priorité du bridge est de 32768 + 1 pour l’ID du système étendu (vlan1). Donc ce qui va être déterminant cela va être l’adresse MAC.
D’après ce tableau, nous pouvons déduire que le commutateur SW3 à l’adresse MAC la plus basse. Son BID sera donc le plus bas est de ce fait, il sera le commutateur racine. Nous pouvons vérifier à l’aide de la commande suivante sur le commutateur SW3.
SW3#show spanning-tree
L’information « This bridge is the root » indique que le commutateur sur lequel nous avons exécuter la commande « show spanning-tree » est le commutateur racine. Si nous exécutons cette même commande sur un commutateur non-racine, nous aurons l’adresse mac du commutateur racine.
Election des port racines dans le spanning tree
Une fois que le commutateur racine a été élu, l’algorithme Spanning Tree va s’atteler à désigner les ports qui auront le droit de faire passer des trames, ils seront donc en état « forwarding » et on appelera ses ports des ports racine. L’élection du port racine va s’appuyer sur la bande passante du port. Chaque bande passante aura un coût. On appelle cela le coût du chemin STP. Le coût sera différent si on utilise le protocole STP ou RSTP.
La formule de calcul pour le STP est la suivante : coût = (1 Gbit/s) / bande passante, tandis que pour le RSTP, le numérateur est plus élevé : (20 Tbits/s) / bande passante. Cette différence de numérateur s’explique par la première version du STP publiée en 1990, lorsque les débits n’étaient pas aussi élevés. Pour pallier cette problématique, l’IEEE a révisé sa norme et créé le RSTP.
En se référant à ce tableau, l’algorithme Spanning-tree va estimer un coût pour chaque chemin. Reprenons notre exemple d’infrastructure réseau.
Le commutateur racine (en vert dans l’illustration) aura tous ses ports en état « forwarding », c’est-à-dire que les trames pourront transiter sur tous ses ports. Cela veut aussi dire que toutes les trames passeront par SW3.
Pour calculer le cout du chemin, nous devons nous baser sur sa bande passante. Nos interfaces étant en GigabitEthernet cela indique que nos interfaces ont une bade passante de 1Gbit/s soit un cout de 4. Toutes les trames doivent passer par le commutateur, il est comme un échangeur d’autoroute, il faut passer par le commutateur pour pouvoir accéder ou autres équipements. Il faudra donc faire la somme des coûts des chemins en passant par le commutateur SW3. Ainsi les chemins possibles seront les suivants :
- SW1 ->SW3 ->SW4
- Le cout sera de 4 x 2 = 8
- SW1 -> SW3 ->SW2 -> SW4
- Le cout sera de 4 x 3 = 12
Donc les ports racines seront :
- L’interface Gig0/2 du commutateur SW1
- L’interface Gig0/0 du commutateur SW4
Pour une meilleure lisibilité, nous pouvons réduire notre schéma en excluant le commutateur SW2 vu qu’il n’intervient plus dans l’algorithme.
Cela pourras vérifier en examinant la configuration du spanning tree sur les interfaces Gig0/2 du commutateur SW1. Cela se fera également avec la commande « show spanning-tree »
SW1#show spanning-tree interface gigabitEthernet 0/2
Nous voyons que le rôle est « Root » et qu’il est en état « forwarding ». Pour l’interface Gig0/0 du commutateur nous pouvons effectuer la même résolution.
SW4#show spanning-tree interface gigabitEthernet 0/0
Elections port désigné
Reprenons le schéma de notre infrastructure ou du moins les ports qui sont encore utile pour l’algorithme du spanning-tree.
Les ports Gig0/1 du SW1 et Gig0/1 du SW4 n’ont pas encore de rôle. Le rôle qui peut être assigner à l’un de ses ports sera le port désigné. Le port restant sera un port en état bloqué, c’est-à-dire qu’il n’acceptera pas les trames. Pour l’élection le port désignés, il faut, un nouvelle fois regarder le BID. Le BID les plus faible sera port désigné.
Pour connaitre l’adresse mac de notre interface, toujours à l’aide de la commande show. Nous filtrerons sur le mot clé Hardware.
SW1#show interface gigabitEthernet 0/1 | include Hardware
- Pour l’interface Gig0/1 du commutateur SW1 l’adresse MAC est 0C :3F :18 :FB :88 :01
- Pour l’interface Gig0/1 du commutateur SW4 l’adresse MAC est 0C :3F :18 :57 :30 :01
Le port l’interface Gig0/1 du commutateur SW4 sera élu port désigné, il sera ce qui mettra le port en état « Forwarding ». Le port Gig0/1 du commutateur SW1 quant à lui sera bloqué.
Comme pour le port racine, nous pouvons vérifier que c’est bien le cas.
Pour l’interface gig0/1 sur le commutateur SW1, nous voyons que l’état est en bloqué (BLK)
Pour l’interface gig0/1 sur le commutateur SW1, nous voyons que l’état est en bloqué (BLK). Le rôle est bien en port désigné (Desg)
Dans cette topologie, nous pouvons constater que le chemin de la trame n’est pas le plus court.
En effet la logique, c’est-à-dire l’algorithme du spanning tree, ne prends pas des éléments qui ne peut pas mesurer avec les outils qu’il a à sa disposition, c’est-à-dire les informations (protocole) disponible au niveau 2 du modèle OSI. L’objectif de l’algorithme étant de rendre le STP opérationnel. En tant qu’humain, nous avons plus d’outils qu’une machine, nous allons pouvoir optimiser les flux, en faisant passer la trame par SW1 puis SW2 , cela limiterait le nombre d’intermédiaire et la distance, la trame sera alors plus rapide. Nous verrons comment optimiser les flux avec le protocole PVST et PVSTP.
Etat de port de le Spanning tree
Nous avons vu dans les différentes élections que cela induisait à un état de port, il y a 5 états de ports. Nous avons vu le port « block »et « forwarding ». Lorsque nous connectons un équipement sur un commutateur, le port passe de l’état blocking qui est l’état par défaut à l’état d’écoute (Listen). Dans un état d’écoute le port reçoit le BPDU, l’algorithme de spanning tree est en œuvre pour définir la topologie. Cette étape peut durer jusqu’à 20 secondes. Ensuite le port passera en Learning, durant cette étape, il va remplir sa table MAC en associant le port et l’adresse MAC correspondant, cette étape peut durer jusqu’à 15 secondes. Une fois la table MAC rempli, il passera en mode Listening, cette étape peut durer jusqu’à 15 secondes.
Il existe aussi un 5ème état qui est l’état disabled, c’est l’état d’un port éteint ou qui présente un problème de sécurité.
L’ensemble de ses étapes peuvent durée jusqu’à 50 secondes, cela veut dire qu’en cas de panne d’un commutateur, il faudra attendre 50 secondes avant d’avoir une nouvelle topologie. C’est ce qui explique aussi que lorsque nous connectons un PC, nous avons besoin d’attendre un petit temps avant d’avoir accès au réseau. En effet, par défaut tous les ports participent à l’algorithme du spanning-tree, c’est-à-dire que dés lors qu’un équipement se connecter le port enverra un BPDU, or le BPDU n’ai que traité par des commutateurs. De ce fait, il n’est pas utile qu’un port sur lequel nous branchons un PC par exemple. Pour ce faire nous pouvons utiliser une fonctionnalité nommée « Portfast ».
Dans notre exemple, le port Gig0/3 du commutateur SW1 et le port Gig0/3 du commutateur SW4. Il pourrait être donc pertinent d’activer le Portfast sur ses deux commutateurs.
Pour ce faire, il faut se rendre dans la configuration de l’interface puis activé.
SW1(config)#interface gigabitEthernet 0/3
SW1(config-if)#spanning-tree portfast
Le message d’avertissement vous indique que vous ne devez pas activer le « Portfast » sur les ports connectés à des équipements qui prenne en charge le BPDU.
Le protocole RSTP
Le protocole RSTP est une amélioration du protocole initial STP. Dans le fonctionnement, peu de chose diffère. Là où il y a un réel apport, c’est dans les états de ports et de nouveaux rôles.
En effet, dans les états de ports, les états Blocking et Listening sont fusionnés est appelé Discarding. Les réécritures des états va nous permettre de permettre de passer de 50 secondes à 6 secondes.
Dans le rôle nous voyons apparaitre, la notion de rôle port Alternate et port Backup. Ses rôles sont en état bloqué. En cas de défaillance d’un des ports racines le port avec le rôle Alternate prends le relais. Si c’est un port désigné qui est défaillant cela sera le port Backup. Cela permet d’éviter à l’algorithme de recréer une topologie et avoir une perte de connexion de 6 secondes.
PVSTP et PVSTP+
PVSTP et PVSTP+ sont des variantes du protocole STP à l’exception majeur que l’arborescence se fera au niveau des VLAN et non au niveau des commutateurs. Cela nous permettra de créer des chemins optimisés. C’est-à-dire avec le moins d’intermédiaire. Prenons un exemple de topologie réseau simple.
Cette topologie est une topologie de type campus à 2 niveaux. Dans notre schéma, nous avons un nuage qui représente Internet qui son connecté à des commutateurs de niveau 3. Ce type de commutateur embarque des protocoles gérés par le niveau 3, nous y configurerons nos passerelles. En effet chaque VLAN aura sa propre passerelle. Une passerelle est une interface qui nous permet de faire transiter les communications d’un LAN (ou d’un VLAN) vers d’autres réseaux (LAN ou VLAN)
Configurons ce lab. Nous avons déjà l’ensemble des commandes nécessaires à la configuration de base nous ne rentrerons donc pas dans les détails
Pour le commutateur ACCESS1
Switch>enable
Switch#configure terminal
Switch(config)#hostname ACCESS1
ACCESS1(config)#vlan 2
ACCESS1(config-vlan)#name ROUGE
ACCESS1(config-vlan)#vlan 3
ACCESS1(config-vlan)#name ORANGE
ACCESS1(config-vlan)#interface range gig 0/0-1
ACCESS1(config-if)#switchport trunk encapsulation dot1q
ACCESS1(config-if)#switchport mode trunk
ACCESS1(config-if)#switchport trunk allowed vlan 2,3
ACCESS1(config-if)#interface gig 0/2
ACCESS1(config-if)#switchport mode access
ACCESS1(config-if)#switchport access vlan 2
ACCESS1(config-if)#spanning-tree portfast
ACCESS1(config-if)#interface gig 0/3
ACCESS1(config-if)#switchport mode access
ACCESS1(config-if)#switchport access vlan 3
ACCESS1(config-if)#spanning-tree portfast
ACCESS1(config-if)#end
ACCESS1#copy running-config startup-config
Pour le commutateur ACCESS2
La configuration sera identique à l’exception du nom.
Switch>enable
Switch#configure terminal
Switch(config)#hostname ACCESS2
ACCESS2(config)#vlan 2
ACCESS2(config-vlan)#name ROUGE
ACCESS2(config-vlan)#vlan 3
ACCESS2(config-vlan)#name ORANGE
ACCESS2(config-vlan)#interface range gig 0/0-1
ACCESS2(config-if-range)#switchport trunk encapsulation dot1q
ACCESS2(config-if-range)#switchport mode trunk
ACCESS2(config-if-range)#switchport trunk allowed vlan 2,3
ACCESS2(config-if-range)#interface gig 0/2
ACCESS2(config-if)#switchport mode access
ACCESS2(config-if)#switchport access vlan 2
ACCESS2(config-if)#spanning-tree portfast
ACCESS2(config-if)#interface gig 0/3
ACCESS2(config-if)#switchport mode access
ACCESS2(config-if)#switchport access vlan 3
ACCESS2(config-if)#spanning-tree portfast
ACCESS2(config-if)#end
ACCESS2#copy running-config startup-config
Pour le commutateur DISTRI1
Switch>enable
Switch#conf t
Switch(config)#hostname DISTRI1
DISTRI1(config)#vlan 2
DISTRI1(config-vlan)#name ROUGE
DISTRI1(config-vlan)#vlan 3
DISTRI1(config-vlan)#name ORANGE
DISTRI1(config-vlan)#interface range gig 0/0-2
DISTRI1(config-if-range)#switchport trunk encapsulation dot1q
DISTRI1(config-if-range)#switchport mode trunk
DISTRI1(config-if-range)#switchport trunk allowed vlan 2,3
DISTRI1(config-if-range)#end
DISTRI1#copy running-config startup-config
Pour le commutateur DISTRI2
Switch(config)#hostname DISTRI2
DISTRI2(config)#vlan 2
DISTRI2(config-vlan)#name ROUGE
DISTRI2(config-vlan)#vlan 3
DISTRI2(config-vlan)#name ORANGE
DISTRI2(config-vlan)#interface range gig 0/0-2
DISTRI2(config-if-range)#switchport trunk encapsulation dot1q
DISTRI2(config-if-range)#switchport mode trunk
DISTRI2(config-if-range)#switchport trunk allowed vlan 2,3
DISTRI2(config-if-range)#end
DISTRI2#copy running-config startup-config
Comme nous l’avons énoncé plus tôt, les commutateur DISTRI1 et DISTRI2 hébergerons les passerelles des 2 VLANS. Vue que nous sommes sur des commutateurs, il faudra créer des interfaces virtuelles nommée des SVI (Switch Virtual Interface). Pour ce faire nous nous appuierons sur la norme 802.1q, en effet une SVI est une interface VLAN. Nous créerons donc un SVI par vlan.
Sur le commutateur DISTRI1, nous créerons le SVI du VLAN2, l’adresse de ce réseau sera 192.168.2.0/24
DISTRI1(config)#interface vlan 2
DISTRI1(config-if)#ip address 192.168.2.254 255.255.255.0
DISTRI1(config-if)#end
DISTRI1#copy running-config startup-config
Par défaut, un port SVI est éteint. Utilisons la commande « show ip interface brief » pour vérifier son état.
DISTRI1#show ip interface brief | include Vlan2
La majuscule au « V » de Vlan2 est obligatoire.
Il faudra donc penser à l’allumer à l’aide de la commande « no shutdown ».
DISTRI1(config)#interface vlan 2
DISTRI1(config-if)#no shutdown
En relançant notre commande « show ip interface brief | include Vlan2 », nous constatons que l’interface est maintenant en « up », c’est-à-dire allumé est fonctionnel.
Sur le commutateur DISTRI2, nous créerons le SVI du VLAN3, l’adresse de ce réseau sera 192.168.3.0/24
DISTRI2(config)#interface vlan 3
DISTRI2(config-if)#ip address 192.168.3.254 255.255.255.0
DISTRI2(config-if)#no shutdown
COnfiguration des adresses IP des machines
Nom de l’hôte | Configuration IP |
PC1 | 192.168.2.1 |
PC2 | 192.168.3.1 |
PC3 | 192.168.2.2 |
PC4 | 192.168.3.2 |
Après avoir configuré les PC (des VPCS dans ce lab), testons la communication avec leur passerelle en utilisant la commande « ping »
Le PVST va nous permettre d’avoir une topologie spanning tree par vlan.
Pour activer le protocole PVST, il nous faudra exécuter la commande sur tous les commutateurs. Les protocoles STP doit être les même sur tous les commutateurs.
Nom_du_switch(config)#spanning-tree mode pvst
Le commutateur racine
Par défaut la priorité étant la même, le commutateur racine va être celui qui à l’adresse MAC la plus faible, c’est-à-dire le switch ACCESS2
Nom du commutateur | Adresse MAC |
ACCESS1 | 0c:8f:89:7e:3e:XX |
ACCESS2 | 0c:8f:89:2e:58:XX |
DISTRI1 | 0c:8f.89:e6:6c:XX |
DISTRI2 | 0c:8f:89:cd:4d:XX |
Pour le VLAN 2, nous vérifierons cela avec la ligne de commande
ACCESS2#show spanning-tree vlan 2
Pour le VLAN 3,
ACCESS2#show spanning-tree vlan 3
Les trames de mon VLAN2 et VLAN3 devront passer par le commutateur ACCESS2. L’algorithme Spanning Tree déduira les ports racine : les ports les plus proches (distance la plus courte = coût le plus bas) du commutateur racine seront élus ports racine.
- Pour le commutateur ACCESS1 le port racine sera le port Gi0/1
- Pour le commutateur DISTRI1 le port racine sera le port Gi0/1
- Pour le commutateur DISTRI2 le port racine sera le port Gi0/1
Pour le port désigné. L’adresse MAC la plus faible entre DISTRI1 et ACCESS1 est DISTRI1, donc le port Gig0/0 de DISTRI1 sera le port désigné. L’adresse MAC la plus faible entre DISTRI1 et DISTRI2 sera élue comme port désigné.
Liaison entre ACCESS1 et DISTRI1
Nom du commutateur | Interface | Adresse MAC |
ACCESS 1 <-> DISTRI1 | ||
ACCESS1 | Gi0/0 | 0c:8f:89:7e.3e:00 |
DISTRI1 | Gi0/0 | 0c:8f:89:e6:6c:00 |
DISTR1 <-> DISTRI2 | ||
DISTRI1 | Gi0/2 | 0c:8f.89:e6:6c:02 |
DISTRI2 | Gi0/2 | 0c:8f.89:cd:4d:02 |
Le tableau indique que le port Gi0/0 du commutateur ACCESS1 et le port Gi0/2 du commutateur DISTRI2 sont des ports désignés.
La topologie spanning tree de notre réseau sera donc la suivante.
En analysant les flux, nous voyons que lors d’une communication entre le PC1 et sa passerelle configurée sur DISTRI1, la trame emprunte le chemin le plus long : ACCESS1 -> DISTRI2 -> ACCESS2 -> DISTRI1.
Il serait dans notre cas plus pertinent d’avoir des chemins plus optimisés. Par exemple, nous pourrions avoir la topologie suivante.
Il s’agit donc de modifier la topologie définie par le spanning tree. Notamment la modification du commutateur racine, en configurant ce rôle sur DISTRI1 pour le VLAN2 et DISTRI2 pour le VLAN3. Nous allons donc modifier le BID, et plus précisément modifier la priorité BID des commutateurs où est configuré la passerelle. Ainsi pour le VLAN2, nous configurerons la priorité BID sur le commutateur DISTRI1 et pour le VLAN3, la priorité du BID sur le commutateur du DISTRI2.
Pour modifier la priorité du BID, nous avons 2 possibilités :
- Indiquer manuellement une priorité
- Indiquer explicitement que le commutateur est root.
Configuration manuelle une priorité
En exécutant la commande suivante, je passe la priorité à 4096. Les priorités doivent être des multiple 4096.
Sur DISTRI1
DISTRI1(config)#spanning-tree vlan 2 priority 4096
Nous pouvons vérifier que le commutateur DISTRI1 est bien passé en commutateur racine en exécutant la commande suivante :
DISTRI1# show spanning-tree vlan 2
Sur DISTRI2
DISTRI2(config)#spanning-tree vlan 3 priority 4096
- Indiquer explicitement que le commutateur est root.
Nous vérifierons également le changement sur DISTRI 2
DISTRI2# show spanning-tree vlan 3
Dans le cas où je souhaiterais avec une topologie de secours par exemple, si mon commutateur DISTRI1 est défaillant, le commutateur DISTRI2 sera le commutateur racine du VLAN2, il me suffirait d’indiquer la valeur 8192. Si dans une petite infrastructure réseau ce système serait suffisant, il peut vite s’avérer compliquer pour les très grosse architecture réseau.
Indiquer explicitement que le commutateur est root.
La deuxième méthode est plus simple à mettre en place, en effet, ici il s’agira d’indiquer au commutateur qu’il sera commutateur racine pour tel VLAN. Nous pouvons configurer deux types de commutateur racine ;le commutateur racine primaire ; qui sera la commutateur racine et un secondaire qui deviendra commutateur racine en cas de défaillance du primaire.
Nous pourrions ainsi configurer le commutateur DISTRI1 en commutateur racine pour le VLAN2 et en secondaire pour le VLAN3. Ainsi si DISTRI2 est défaillant, DISTRI1 prendra le relais.
DISTRI1(config)#spanning-tree vlan 2 root primary
DISTRI1(config)#spanning-tree vlan 3 root secondary
Nous pourrions garder cette même logique pour la configuration de DISTRI2
DISTRI2(config)#spanning-tree vlan 3 root primary
DISTRI2(config)#spanning-tree vlan 2 root secondary
Nous voyons é travers cette configuration que le spanning tree peut être utile pour optimiser nos flux réseau est ainsi optimiser la bande passante de notre réseau. De cette façon, nous avons une meilleure visibilité et une meilleure gestion des goulots d’étranglement qui pourrait se faire dans notre LAN.
Recommandation en termes de sécurité.
Nous avons vu que le commutateur racine est un élément qui centralise nos flux. Il est tout à fait possible qu »un attaquant puisse faire passer sa machine d’attaque pour un suite (avec la bibliothèque Python Scapy par exemple, ou avec l’outil Yersinia), il pourra se faire passer pour le commutateur racine en indiquant une priorité BID faible (par exemple 4096), il pourra récupérer toutes les trames.
Nous avions vu dans la sécurité des VLAN, qu’il faut , pour une meilleure sécurité éteindre tous les ports qui est une bonne contre-mesure. Pour accroitre, le niveau de sécurité, nous pourrions exclure les ports non-connecté à un commutateur du calcul de l’algorithme Spanning-tree. On a vu que nous pouvons nous appuyer sur la technologie Portfast ou nous passerons tous les ports non-connecté à un commutateur. Nous pouvons également et il est conseillé de le faire bloquer les BPDU avec l’option BPDUGUARD, qui aura pour effet de rejeté les BPDU qui arrive sur ce port.
Par exemple dans la configuration, les ports 0/2 et 0/3 du commutateur ACCESS ne sont pas connecté à un switch, nous pourront donc pouvons activer le BPDUGuard.
ACCESS1(config)#interface range gigabitEthernet 0/2-3
ACCESS1(config-if-range)#spanning-tree bpduguard enable