Spanning Tree Protocol – STP

Spanning Tree Protocol (STP) – IEEE 802.1d

STP un protocollo di livello 2 utilizzato nei bridge/switch con link ridondanti. Un esempio tipico la topologia di switch triangolare, dove ogni vertice alloggia uno switch, collegato agli altri due mediante un link (trunk). Una topologia simile (ma anche pi complessa, dettata dalle necessit? di ridondanza della rete specifica), per la natura di funzionamento degli switch soggetta a 3 tipi di debolezze:

  • Mac Table Instability: come sappiamo, uno switch che riceve un frame destinato ad un indirizzo ancora non mappato ad una porta, associa il mac sorgente alla porta da cui stato originato e? gira il frame a tutte le porte attive tranne quella di origine. Questo significa che ogni altro switch connesso al primo, ricever? una copia di questo frame, girandolo allo switch successivo fino ad arrivare nuovamente allo switch che per primo lo ha originato, ma attraverso una porta differente. A questo punto, lo switch aggiorner? nuovamente la propria tabella associativa.
  • Broadcast Storm: la diretta conseguenza della Mac Address Instability. Bisogna tenere presente che i frames ethernet non hanno un campo paragonabile al TTL, quindi un frame simile, viene mantenuto in circolo fino a quando il loop non viene interrotto per decesso di uno switch o per distruzzione per errato FCS.
  • Multiple Frame Trasmission: semplicemente un effetto collaterale del broadcast storm. Dato che i frames vengono mantenuti in circolo, e non esiste un identificatore univoco per il singolo frame, la stazione di destinazione del frame ricever? varie copie dello stesso.

STP si occupa di prevenire queste eventualit?, tramite il blocco logico delle porte che causerebbero problemi.

Funzionamento

Viene eletto un Root Bridge, le cui porte vengono, per definizione, configurate tutte come Designated Ports (DP) in quanto di costo minimo verso il Root bridge. Gli altri bridges/switches, basandosi sul costo minimo per raggiungere il Root Bridge, scelgono le porte che verranno usate per la connessione al Root Bridge (Root Ports – RP),? il forwarding del traffico (DP) sul segmento di rete e quelle che verranno logicamente disabilitate (Blocking state). Le porte in blocking state, non fanno traffic forwarding, rimanendo in ascolto dei soli messaggi STP (detti BPDU – Bridge Protocol Data Unit). Ogni bridge/switch, secondo il proprio timer (solitamente 2 secondi), invia un Hello? BPDU affermando, di fatto, di essere raggiungibile. Se un apparato non riceve pi Hellos per un tempo maggiore di quello definito nel campo “Max Age” del BPDU precedentemente ricevuto, avvia il processo di cambio topologico.

Processo di Elezione del Root Bridge

Ogni volta che viene riconosciuto un cambio topologico (ossia un nuovo bridge/switch viene connesso) , tuttii bridges/switches mettono tutte le proprie interfacce in modalit? di ascolto (Listening). In questa modalit?, il traffico non viene girato (no forwarding), permettendo il transito dei soli BPDU frames. Ogni bridge/switch invia un pacchetto contenente il proprio Bridge ID, formato da un valore detto Priority e dal proprio MAC, il costo per raggiungere se stesso (ossia 0) ed il proprio Bridge ID come Root Bridge, autoproclamandosi di fatto Root Bridge. Ogni switch che riceve tale BPDU, confronta il Root ID con il proprio Bridge ID. Se il proprio BID inferiore a quello del Root, lo sostituisce con il proprio BID, azzerando il costo e girandolo a sua volta. Se il proprio BID invece superiore a quello ricevuto come Root, si mantiene il Root Bridge, aggiungendo al costo ricevuto, il proprio costo di link (i costi sono definiti nello stesso draft e sono riportati pi sotto).? Alla fine, la rete converger? ed avr? un solo Root Bridge ed una serie di bridges/switches le cui porte saranno in stato logico Forwarding o Blocking.

Link Costo (seconda revisione IEEE)
Ethernet 10Mps 100
Ethernet 100Mps 19
Ethernet 1Gps 4
Ethernet 10Gps 2

EtherChannel

Tecnologia utilizzata per trattare pi interfacce trunk (fino a 8) come una sola interfaccia logica. In questo modo, nel caso in cui una interfaccia fallisse, l’Etherchannel rimane attivo e non viene avviato il processo di topology change che bloccherebbe la rete fino alla totale convergenza di STP. Per avviare il processo, devono fallire tutte le interfacce coinvolte nell’etherchannel. Inoltre, l’ampiezza di banda di un etherchannel la somma dei canali che lo compongono, essendo tutti i canali nello stato di forward o block in load-balancing.

PortFast

Una interfaccia configurata come PortFast, viene esclusa dal processo di selezione di STP, andando subito in stato Forwarding. Questa modalit? va attivata per le interfacce connesse direttamente a periferiche “end-user”, o comunque non interessate dal processo STP.

Cisco BPDU Guard

Questa caratteristica rientra nelle procedure atte ad implementare un minimo di sicurezza in una rete switched con processo STP attivo. In particolare, il processo BPDU Guard si attiva nel momento in cui una porta su cui abilitato (di solito le porte in modalit? access), riceve un frame BPDU, disattivandola. Questa caratteristica, assieme alla Root Guard, dovrebbe essere attivata in tutte le porte configurate per gli end-user ed in cui, quindi, non dovrebbe transitare traffico stp.

Cisco Root Guard

Un altra caratteristica implementata da Cisco la Root Guard. Tale processo, impedisce ad una periferica collegata in una interfaccia non predisposta per STP (solitamente, quindi, le access ports) di eleggersi Root Bridge. A differenza del BPDU Guard, Root Guard permette traffico STP, ad eccezione di Hello da parte di bridge che verrebbero eletti Root Bridge. Come BPDU, una violazione porta l’interfaccia in shutdown.