Introduzione
Questo documento spiega la funzione PortFast Bridge Protocol Data Unit (BPDU) guard. Questa caratteristica è uno dei miglioramenti dello Spanning Tree Protocol (STP) che Cisco ha creato. Questa funzione migliora l’affidabilità, la gestibilità e la sicurezza della rete degli switch.
Prerequisiti
Requisiti
Non ci sono requisiti specifici per questo documento.
Componenti utilizzati
Queste versioni software hanno introdotto la protezione STP PortFast BPDU:
-
Catalyst OS (CatOS) versione software 5.4.1 per le piattaforme Catalyst 4500/4000 (Supervisor Engine II), 5500/5000, 6500/6000, 2926, 2926G, 2948G e 2980G
-
Cisco IOS® Software Release 12.0(7)XE per le piattaforme Catalyst 6500/6000
-
Cisco IOS Software Release 12.1(8a)EW per il Catalyst 4500/4000 Supervisor Engine III
-
Cisco IOS Software Release 12.1(12c)EW per il Catalyst 4500/4000 Supervisor Engine IV
-
Cisco IOS Software Release 12.0(5)WC5 per le serie Catalyst 2900XL e 3500XL
-
Cisco IOS Software Release 12.1(11)AX per gli switch Catalyst 3750
-
Cisco IOS Software Release 12.1(14)AX per gli switch Catalyst 3750 Metro
-
Cisco IOS Software Release 12.1(19)EA1 per gli switch Catalyst 3560
-
Cisco IOS Software Release 12.1(4)EA1 per gli switch Catalyst 3550
-
Cisco IOS Software Release 12.1(11)AX per gli switch Catalyst 2970
-
Cisco IOS Software Release 12.1(12c)EA1 per gli switch Catalyst 2955
-
Cisco IOS Software Release 12.1(6)EA2 per gli switch Catalyst 2950
-
Cisco IOS Software Release 12.1(11)EA1 per gli switch Catalyst 2950 Long-Reach Ethernet (LRE)
-
Cisco IOS Software Release 12.1(13)AY per gli switch della serie Catalyst 2940
Nota: STP PortFast BPDU guard non è disponibile per gli switch della serie Catalyst 8500, 2948G-L3 o 4908G-L3.
Le informazioni in questo documento sono state create dai dispositivi in uno specifico ambiente di laboratorio. Tutti i dispositivi usati in questo documento sono partiti con una configurazione azzerata (predefinita). Se la vostra rete è attiva, assicuratevi di comprendere il potenziale impatto di ogni comando.
Convenzioni
Riferimento alle convenzioni dei suggerimenti tecnici Cisco per ulteriori informazioni sulle convenzioni del documento.
Descrizione della funzione
STP configura la topologia a rete in una topologia senza loop e ad albero. Quando il collegamento su una porta del ponte va su, il calcolo STP si verifica su quella porta. Il risultato del calcolo è la transizione della porta nello stato di inoltro o di blocco. Il risultato dipende dalla posizione della porta nella rete e dai parametri STP. Questo periodo di calcolo e di transizione dura di solito da 30 a 50 secondi. In quel momento, nessun dato utente passa attraverso la porta. Alcune applicazioni utente possono andare in time out durante questo periodo.
Per permettere la transizione immediata della porta allo stato di inoltro, abilitare la funzione STP PortFast. PortFast fa passare immediatamente la porta in modalità di inoltro STP al momento del collegamento. La porta partecipa ancora a STP. Quindi, se la porta deve far parte del loop, la porta alla fine passa in modalità di blocco STP.
Finché la porta partecipa a STP, qualche dispositivo può assumere la funzione di root bridge e influenzare la topologia STP attiva. Per assumere la funzione di root bridge, il dispositivo dovrebbe essere collegato alla porta ed eseguire STP con una priorità di ponte inferiore a quella dell’attuale root bridge. Se un altro dispositivo assume la funzione di root bridge in questo modo, rende la rete subottimale. Questa è una semplice forma di attacco denial of service (DoS) alla rete. L’introduzione temporanea e la successiva rimozione di dispositivi STP con priorità di ponte bassa (0) causano un ricalcolo STP permanente.
Il miglioramento STP PortFast BPDU guard permette ai progettisti di rete di far rispettare i confini del dominio STP e mantenere la topologia attiva prevedibile. I dispositivi dietro le porte che hanno abilitato STP PortFast non sono in grado di influenzare la topologia STP. Alla ricezione delle BPDU, l’operazione BPDU guard disabilita la porta che ha PortFast configurato. Il BPDU guard fa passare la porta allo stato errdisable, e un messaggio appare sulla console. Questo messaggio è un esempio:
2000 May 12 15:13:32 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 2/1 2000 May 12 15:13:32 %PAGP-5-PORTFROMSTP:Port 2/1 left bridge port 2/1
Considera questo esempio:
Figura 1
Il ponte A ha priorità 8192 ed è il root per la VLAN. Il ponte B ha priorità 16384 ed è il root bridge di backup per la stessa VLAN. I ponti A e B, che sono collegati da un link Gigabit Ethernet, costituiscono il nucleo della rete. Il ponte C è uno switch di accesso e ha PortFast configurato sulla porta che si collega al dispositivo D. Se gli altri parametri STP sono predefiniti, la porta del ponte C che si collega al ponte B è in stato di blocco STP. Il dispositivo D (PC) non partecipa a STP. Le frecce tratteggiate indicano il flusso di STP BPDUs.
Figura 2
In Figura 2, il dispositivo D ha iniziato a partecipare a STP. Per esempio, un’applicazione bridge basata su Linux è lanciata su un PC. Se la priorità del bridge software è 0 o qualsiasi valore inferiore alla priorità del root bridge, il bridge software assume la funzione di root bridge. Il collegamento Gigabit Ethernet che collega i due core switch passa in modalità di blocco. La transizione fa sì che tutti i dati in quella VLAN fluiscano attraverso il link a 100 Mbps. Se attraverso il core fluiscono più dati nella VLAN di quanti ne possa contenere il link, si verifica il drop dei frame. La caduta dei frame porta a un’interruzione della connettività.
La funzione STP PortFast BPDU guard previene una tale situazione. La funzione disabilita la porta non appena il ponte C riceve la STP BPDU dal dispositivo D.
Configurazione
È possibile abilitare o disabilitare STP PortFast BPDU guard su base globale, che ha effetto su tutte le porte che hanno PortFast configurato. Per impostazione predefinita, STP BPDU guard è disabilitato. Eseguire questo comando per abilitare STP PortFast BPDU guard sullo switch:
Comando CatOS
Console> (enable) set spantree portfast bpdu-guard enable Spantree portfast bpdu-guard enabled on this switch. Console> (enable)
Software Cisco IOS Command
CatSwitch-IOS(config)# spanning-tree portfast bpduguard CatSwitch-IOS(config)
Quando STP BPDU guard disabilita la porta, la porta rimane nello stato disabilitato a meno che la porta non venga abilitata manualmente. È possibile configurare una porta per riabilitarsi automaticamente dallo stato di errdisable. Eseguite questi comandi, che impostano l’intervallo di timeout di errdisable e abilitano la funzione di timeout:
Comandi CatOS
Console> (enable) set errdisable-timeout interval 400 Console> (enable) set errdisable-timeout enable bpdu-guard
Comandi software Cisco IOS
CatSwitch-IOS(config)# errdisable recovery cause bpduguardCatSwitch-IOS(config)# errdisable recovery interval 400
Nota: L’intervallo di timeout predefinito è di 300 secondi e, per impostazione predefinita, la funzione di timeout è disabilitata.
Monitoraggio
Per verificare se la funzione è abilitata o disabilitata, eseguire questo comando:
Output del comando
Comando CatOS
Console> (enable) show spantree summaryRoot switch for vlans: 3-4.Portfast bpdu-guard enabled for bridge. Uplinkfast disabled for bridge.Backbonefast disabled for bridge.Summary of Connected Spanning Tree Ports By VLAN: Vlan Blocking Listening Learning Forwarding STP Active ----- -------- --------- -------- ---------- ---------- 1 0 0 0 1 1 3 0 0 0 1 1 4 0 0 0 1 1 20 0 0 0 1 1 Blocking Listening Learning Forwarding STP Active ----- -------- --------- -------- ---------- ---------- Total 0 0 0 4 4 Console> (enable)
Comando software Cisco IOS
CatSwitch-IOS# show spanning-tree summary totals Root bridge for: none.PortFast BPDU Guard is enabledUplinkFast is disabledBackboneFast is disabledSpanning tree default pathcost method used is shortName Blocking Listening Learning Forwarding STP Active-------------------- -------- --------- -------- ---------- ---------- 1 VLAN 0 0 0 1 1 CatSwitch-IOS#