Sappiamo tutti il grande vantaggio di configurare Portfast, una porta configurata con Portfast inizierà immediatamente a trasmettere dati nello stato ‘forwarding’ bypassando gli altri stati dello spanning-tree. Questa è certamente una grande caratteristica da avere configurata sulle vostre porte downstream che si collegano alla vostra workstation utente finale o ai vostri server. C’è anche un’altra grande ragione per configurare Portfast sulle tue porte client edge, che non è così ampiamente conosciuta.
Ogni volta che uno switchport va su o giù lo switch genera un pacchetto TCN (Topology Change Notification) e invia questo pacchetto TCN al root bridge, il root bridge poi risponde con un pacchetto TCA (Topology Change Acknowledge) semplicemente per riconoscere il pacchetto TCN. Il root bridge poi trasmette un’altra BPDU con il bit TC (Topology Change) impostato ad ogni switch all’interno del dominio Spanning-Tree. Quando gli altri switch ricevono questo pacchetto marcato TC azzera il tempo di invecchiamento di ogni voce nella tabella CAM (conosciuta anche come tabella degli indirizzi MAC) fino a 15 secondi, il che può far sì che lo switch ricostruisca la sua tabella CAM se le voci iniziano a invecchiare. Ora, a seconda delle dimensioni della vostra rete di livello 2, questo può sprecare un sacco di risorse sui vostri switch. Per non parlare del fatto che causa un sacco di traffico inutile, dal momento che abbiamo una serie di BPDU trasmesse con i flag TCN, TCA e TC impostati individualmente. Tieni anche presente che se le voci della tabella CAM iniziano a scadere, questo può causare un inutile traffico ARP per informazioni aggiuntive che lo switch aveva già.
Ora rivediamo un po’ di questo:
Ecco una configurazione della porta, senza portfast:
Quando disconnettiamo e riconnettiamo fa1/0/5, otteniamo il seguente output di log:
Nella schermata precedente, noterete che la prima cosa che accade è che spanning-tree invia la TCN BPDU, e l’interfaccia è contrassegnata come down. Poi ricollego il cavo a fa1/0/5 e si vede la porta passare attraverso le fasi di spanning-tree, dall’ascolto all’apprendimento e infine al forwarding. (Qualcosa da notare è anche il fatto che un altro pacchetto TCN BPDU viene inviato quando la porta viene rimessa nello stato di forwarding.
Ora configuriamo Portfast su questo switchport:
Ora di nuovo scolleghiamo e riconnettiamo questa porta di nuovo:
C’è molto meno in corso qui rispetto alla nostra esperienza precedente, la cosa importante qui è notare che non ci sono TCN trasmessi non quando la porta è contrassegnata come giù né quando la porta contrassegnata come su (o inoltro). L’unico evento STP che viene registrato è il fatto che la porta fa1/0/5 passa direttamente allo stato di inoltro dallo stato di blocco bypassando lo stato di ascolto e lo stato di apprendimento, permettendo al cliente di iniziare a usare la rete ancora più velocemente.
Ora, sediamoci un attimo sulla nostra sedia e pensiamoci un attimo. Un TCN viene inviato quando lo switchport va giù e di nuovo quando lo switchport entra nello stato di inoltro. Così, quando un utente finale decide di riavviare il suo PC, quando sgancia il suo portatile per andare a una riunione, si aggancia di nuovo alla sua scrivania, o quando decide di riorganizzare la sua scrivania e scollega il suo PC, viene trasmesso un TCN che fa abbassare agli switch i timer di invecchiamento delle voci nella tabella degli indirizzi MAC. Questo potrebbe essere un sacco di utilizzo di risorse inutili.
P.S. Ricordatevi di abilitare BPDU Guard quando abilitate portfast! Portfast è un grande strumento, ma poiché salta gli stati di ascolto e apprendimento, si corre la possibilità di creare loop di commutazione di livello 2 se si collegano più switch o se i vostri utenti iniziano a collegare semplici switch/hub alle loro scrivanie. BPDU Guard metterà una porta in uno stato Err-Disabled se riceve una BPDU su quella porta.