Segue dalla Parte 1

L'albero STP

Come suggerisce l'acronimo, l'STP si occupa di creare un albero (nel senso informatico del termine, of course!), dove ogni vertice è rappresentato da uno switch mentre i collegamenti sono rappresentati da "ponti" tra due vertici. Una possibile topologia di rete potrebbe essere:

albero stp

Sebbene possa sembrare incasinato, questa potrebbe essere la reale situazione di una rete, dove ogni "armadio" ha almeno due collegamenti con la restante parte della rete (è vero, manca un "centro stella" ma passatemi la licenza poetica!)

Ad ogni percorso viene anche assegnato un costo basato tipicamente sulla "velocità" dell'interfaccia (a velocità maggiore corrisponde un costo minore): questo ad esempio significa che per andare da "F" ad "A" potrebbe essere più conveniente usare i link F-E, E-D e quindi D-A anzichè il più ovvio F-C e C-A perchè magari i primi link sono tutti a Gbps mentre gli altri sono a 100 Mbps.

Se ricontrolliamo le varie definizioni di albero (dalla teoria matematica dei grafi) scopriamo che questa struttura presenta tra le sue caratteristiche proprio quella che ci interessa, ovvero che all'interno di un albero non esistono "loop". Questo vuol dire che per creare un albero a partire dalla topologia di rete indicata è necessario che alcuni "link" vengano disattivati.

Il primo punto da chiarire è stabilire chi è la radice dell'albero: per risolvere questo problema gli switch (democraticamente teeth smile ) indicono una elezione per stabilire il root bridge. Le carte in tavola per vincere questa competizione sono (in ordine di importanza) la priorità (impostata dall'amministratore), un ID che dovrebbe essere univoco per ogni macchina ed infine, in caso di "pareggio" il MAC address degli apparati. Quindi, a parità di priorità si va a vedere l'ID ed infine il MAC address: a vincere è l'apparato con i "numeri" più piccoli.

Una volta che il root è stato eletto, è compito suo "formare" l'albero basandosi sulle informazioni che riceve dagli altri switch tramite i frames BDPU: supponiamo a questo punto che il vincitore della nostra elezione sia la macchina F che potrebbe creare uno spanning tree così fatto:

stp tree

I collegamenti che ho riportato in rosso sono quelli che il root bridge ha deciso di ignorare in quanto "ridondanti": il perchè è presto detto, dato il principio usato è quello del minimo costo. Questo significa un frame BPDU da un qualunque bridge segue il percorso "minimo" per arrivare al root bridge.

Naturalmente il root switch trasmette la struttura dello spanning tree a tutti gli altri switch che "prendono visione" di quanto elaborato: la conseguenza di questa operazione è che ciascun switch disabiliterà tutte le porte "ridondanti" (quelle in rosso per indenderci) e lascerà attiva soltanto una porta verso il "livello" superiore dell'albero. Questa unica porta verrà indicata come root port in quanto è la porta che lo switch deve usare per inviare i pacchetti BPDU al root switch.

CAMBIO DELLA STRUTTURA DELL'ALBERO

Se un collegamento viene aggiunto, il nuovo switch si occuperò di annunciarsi inviando i suoi pacchetti BPDU su tutte le sue porte. Ovviamente questi pacchetti raggiungeranno uno degli switch già nell'albero che prenderà visione della nuova macchina e invierà un pacchetto BPDU con il bit TCN (Topology Change Notification) settato sulla propria root port . Questo pacchetto raggiungerà lo switch "superiore" che invierà un ACK (pacchetto TCA - Topology Change Ack) e a sua volta invierà una notifica allo switch "superiore" sulla sua root port.

Questo processo continua fino a raggiungere il root switche che modificherà lo Spanning Tree reinviandolo a tutte le macchine della rete e attivando al contempo il flacg TCN ad indicare a tutti gli altri che la topologia è stata modificata.

Come tutti i protocolli dinamici, anche lo Spanning Tree ha bisogno di un certo "tempo di convergenza" per costruire l'albero o modificarlo quando si aggiunge un apparato: non è quindi infrequente dover attendere qualche secondo quando si collega un nuovo switch alla rete prima che questo diventi perfettamente operativo.

Vai all' Ultima parte