I problemi della ridondanza in reti con più switch

Tre problemi: Broadcast storm, instabilità e frame ripetuti
Una soluzione: Spanning Tree Protocol


Clock Icon 3 min Calendar Icon 29-12-2023 Like Icon 10

Quando si progetta una rete è molto importante garantire l'affidabilità, infatti, con il passare del tempo i dispositivi e i collegamenti potrebbero rompersi rendendo la rete inutilizzabile se questi ultimi rappresentano un single point of failure. Ad esempio, nella figura seguente si ha come single point of failure lo switch che collega PC1, PC2, PC3 e il Server_Dati_Aziendali: se lo switch dovesse rompersi tutti i dispositivi all'interno della rete non riuscirebbero a comunicare tra di loro e quindi non riuscirebbero neanche ad accedere al server.



Figura 1. In questa rete lo switch è il single point of failure.

In questo post vogliamo introdurre tre problemi comuni che si verificano quando si aggiungono più switch nella stessa rete con l'obiettivo di creare ridondanza per aumentare l'affidabilità di tutta la rete. Infine, parleremo di come è possibile risolvere questi problemi utilizzano lo Spanning Tree Protocol.

Per eliminare i single point of failure bisogna duplicare sia gli switch sia i collegamenti tra essi, in questo modo quando uno switch fallisce la rete continua a funzionare grazie agli altri apparati. Di seguito prederemo in considerazione la seguente topologia astratta:



Figura 2. Consideriamo una topologia generica con l'Host X e il Router Y collegati attraverso una rete con switch ridondati.

Broadcast storm

Il primo problema che si verifica è la Broadcast storm, questo evento avviene quando qualche host genera un pacchetto brodcast e il primo switch che riceve tale pacchetto lo inoltra su tutte le sue porte, quindi, il pacchetto viene ricevuto da un secondo switch che lo inoltra su tutte le sue porte. Il pacchetto viene ricevuto di nuovo dal primo switch e verrà di nuovo inoltrato su tutte le porte entrando così in un ciclo infinito. Infine questo evento provoca il collasso totale della rete dovuto al congestionamento degli switch.


Figura 3. L'Host X invia un pacchetto broadcast sulla rete che viene ricevuto dallo Switch-1, lo Switch-1 inoltra il pacchetto su tutte le sue porte.



Figura 4. Il pacchetto broadcast viene ricevuto dallo Switch-2 e viene inoltrato di nuovo anche allo Switch-1



Figura 5. In questo modo inizia un ciclo infinito che porta al collasso totale della rete

Frame ripetuti

Considerando la tipologia riportata sopra, questo evento avviene, ad esempio, quando l'Host X invia un frame al Router Y e i due switch non hanno ancora imparato il MAC address del Router Y, quindi i due switch inoltrano il frame inviato dall'Host X su tutte le loro porte, di conseguenza il router riceverà due volte lo stesso frame


Figura 6. Host X invia un pacchetto destinato al Router Y, il pacchetto viene ricevuto sia dal Router che da Switch-1



Figura 7. Switch-1 e Switch-2 non hanno ancora associato il MAC address del router con la porta su cui si trova, quindi inviano il pacchetto su tutte le porte

Instabilità della tabella dei MAC address

Questo evento provoca l'inserimento di associazioni <MAC address, numero porta> errate nella tabella dei MAC address dello switch. Tale instabilità avviene quando gli switch non hanno ancora imparato il MAC address del Router Y e l'Host X invia un frame al Router Y.


Quindi gli switch ricevono anche loro il frame e vedono il MAC address di X sulla porta zero e creano la nuova associazione <MAC address di X, porta zero>. Ora siccome gli switch non hanno ancora imparato il mac address del router Y, inviano il frame su tutte le porte.


Quindi lo switch 1 vede il frame di X sulla porta 1 e crea l'associazione <MAC address X, porta uno > ovviamente questa associazione è errata perché il frame è stato inoltrato dallo switch 2. Lo stesso avviene per lo switch 2, quindi entrambi gli switch vedono in modo errato il MAC address di X sulla porta 1.

Spanning Tree Protocol

La soluzione a tutti questi problemi è lo Spanning Tree Protocol (STP). Lo scopo di questo protocollo è quello di disabilitare determinati collegamenti tra gli switch per ottenere una topologia senza cicli. I collegamenti disabilitati vengono poi riabilitati solo se necessario cioè solo se qualche switch smette di funzionare, inoltre STP tiene in considerazione la larghezza di banda dei collegamenti per evitare di disabilitare quelli con più alta capacità. Ad esempio, per rendere la topologia finora considerata senza cicli si potrebbe disabilitare la porta 1 dello switch 2.