Storia del cambio
Per comprendere l’importanza degli interruttori giornalieri attuali, è necessario capire come funzionavano le reti prima che fossero inventati gli interruttori. Dalla metà alla fine degli anni ’80 10Base2 Ethernet era lo standard Ethernet 10Mbp / s dominante. Questo standard utilizzava cavi coassiali sottili con una lunghezza massima di 185 metri con un massimo di 30 host collegati al cavo. Gli host sono stati collegati al cavo utilizzando un connettore a T. La maggior parte degli host a quel tempo erano terminali stupidi o primi PC che si collegavano a un mainframe per accedere ai servizi.
Quando Novell divenne molto popolare alla fine degli anni ’80 e all’inizio degli anni ’90, i server NetWare sostituirono gli allora popolari server OS / 2 e LAN Manager. Ciò ha reso Ethernet più popolare, perché i server Novell lo utilizzavano per comunicare tra i client e il server. La crescente dipendenza da Ethernet e il fatto che la tecnologia 10Base2 fosse costosa e lenta hanno portato a un rapido sviluppo su Ethernet. Gli hub sono stati aggiunti alle reti in modo che lo standard 10Base5 potesse essere utilizzato con un host e una porta Hub collegata su ciascun cavo. Ciò ha portato al collasso delle reti backbone come quella mostrata nella Figura 6-1.
Come già sapete, le reti composte da soli Hub soffrono di problemi come i broadcast storm e diventano lente e lente. Le reti di fine anni ’80 e inizio anni ’90 soffrivano dello stesso problema. Nel frattempo, la dipendenza dalle reti e dai servizi disponibili è cresciuta rapidamente. La rete aziendale divenne enorme e molto lenta poiché la maggior parte dei servizi erano disponibili su di essa e gli uffici remoti dipendevano da questi servizi. La segmentazione delle reti e l’aumento della larghezza di banda sono diventate una priorità . Con l’introduzione di dispositivi chiamati bridge , è stata introdotta una certa segmentazione. I ponti interrompevano il dominio di collisione ma erano limitati dal numero di porte disponibili e dal fatto che non potevano fare molto a parte rompere i domini di collisione.
Figura 6-1 Rete backbone compressa
Per superare i limiti dei ponti, sono stati inventati gli interruttori . Gli switch erano bridge multiporta che interrompevano i domini di collisione su ciascuna porta e potevano fornire molti più servizi rispetto ai bridge. Il problema con i primi interruttori era che erano molto costosi. Ciò proibiva di collegare ogni singolo host a una porta dello switch. Quindi, dopo l’introduzione degli switch, le reti sono diventate come quella mostrata nella Figura 6-2.
Figura 6-2 Prime reti commutate
In queste reti, ogni hub era connesso a una porta Switch. Questo cambiamento ha aumentato notevolmente le prestazioni della rete poiché ogni hub ora aveva il proprio dominio di collisione invece che l’intera rete locale era un singolo dominio di collisione. Tali reti, sebbene di gran lunga migliori di quelle esistenti in precedenza, costringevano comunque gli host collegati agli hub a condividere un dominio di collisione. Ciò ha impedito alle reti di raggiungere il loro potenziale. Con il calo dei prezzi degli switch, anche questa barriera finale è stata abbattuta. Switch più economici significavano che ogni host poteva finalmente essere collegato a una porta dello switch, fornendo un dominio di collisione separato per ciascun host. Le reti assomigliano a quella mostrata nella Figura 6-3. Tali reti praticamente non hanno avuto collisioni.
Figura 6-3 Reti commutate
Comprensione degli interruttori e dei loro limiti
Sebbene gli switch siano bridge multiporta, questi due dispositivi presentano una differenza significativa. I bridge utilizzano il software per creare e mantenere le tabelle di commutazione e filtro, mentre gli switch utilizzano l’hardware , in particolare i circuiti integrati specifici dell’applicazione (ASIC) per creare e gestire le proprie tabelle. Entrambi questi dispositivi forniscono un dominio di collisione dedicato su ciascuna delle loro porte, ma gli switch vanno un po ‘oltre fornendo le seguenti funzionalità :
- Latenza inferiore: poiché gli switch utilizzavano il briding basato su hardware utilizzando ASIC, funzionano più velocemente dei bridge basati su software.
- Velocità del filo – La commutazione basata su hardware consente una funzionalità di velocità del filo vicina a causa del tempo di elaborazione ridotto.
- Basso costo: il costo degli switch è molto basso, rendendo il costo di connessione di ciascun host molto basso.
Quindi cosa rende il passaggio al livello 2 così veloce ed efficiente? Il fatto che la commutazione di livello 2 sia basata su hardware e guarda solo l’indirizzo hardware in ogni frame prima di decidere un’azione. Il routing Layer 3 sull’altro deve esaminare le informazioni di intestazione Layer 3 prima di prendere una decisione. Ricorderai dal capitolo 1 che l’indirizzo MAC di destinazione inizia dal 9 ° byte di un pacchetto ed è lungo 6 byte. Quindi lo switch deve leggere solo 14 byte quando viene ricevuto un frame. La Figura 6-4 mostra una cornice.
Figura 6-4 Frame Ethernet
Nel complesso, l’utilizzo di switch per segmentare le reti e fornire la connettività agli host si traduce in una rete molto veloce ed efficiente con ogni host che ottiene l’intera larghezza di banda.
Sebbene gli switch aumentino l’efficienza della rete, hanno ancora i limiti discussi di seguito:
- Sebbene gli switch interrompano i domini di collisione, non interrompono i domini di trasmissione. L’intera rete di livello 2 rimane ancora un singolo dominio di trasmissione. Ciò rende la rete suscettibile alle tempeste di trasmissione e ai problemi correlati. I router devono essere utilizzati per rompere i domini di trasmissione.
- Quando la ridondanza viene introdotta nella rete commutata, la possibilità di loop diventa molto alta. È necessario eseguire protocolli dedicati per garantire che la rete rimanga priva di loop. Ciò aumenta il carico sugli interruttori. Anche il tempo di convergenza di questi protocolli è un problema poiché la rete non sarà utilizzabile durante la convergenza.
A causa delle limitazioni di cui sopra, i router non possono essere eliminati dalla rete. Per progettare una buona rete commutata o bridge, è necessario considerare i seguenti due punti importanti:
- Il dominio di collisione dovrebbe essere interrotto il più possibile.
- Gli utenti dovrebbero dedicare l’80% del loro tempo al segmento locale.
Bridging vs switching
Sebbene gli switch siano solo bridge multiporta, ci sono molte differenze tra loro:
- I bridge sono basati su software mentre gli switch sono basati su hardware poiché utilizzano ASIC per creare e mantenere le tabelle.
- Gli switch hanno un numero di porte maggiore rispetto ai bridge
- I bridge hanno una singola istanza di spanning tree mentre gli switch possono essere più istanze. (Lo spanning tree verrà trattato più avanti nel capitolo).
Sebbene diversi in alcuni aspetti, switch e bridge condividono le seguenti caratteristiche:
- Entrambi guardano all’indirizzo hardware del frame per prendere una decisione.
- Entrambi apprendono l’indirizzo MAC dai frame ricevuti.
- Entrambi trasmettono lo strato due.
Tre funzioni di un interruttore
Un interruttore al livello 2 ha le seguenti tre funzioni distinte:
- Apprendimento degli indirizzi MAC
- Filtraggio e inoltro di frame
- Prevenire i loop sulla rete
È importante comprendere e ricordare ciascuna di queste tre funzioni. Le sezioni seguenti spiegano queste tre funzioni in modo approfondito.
Apprendimento degli indirizzi MAC
Quando uno switch viene acceso per la prima volta, non è a conoscenza della posizione di alcun host sulla rete. In un tempo molto breve, mentre gli host trasmettono dati ad altri host, apprende l’indirizzo MAC dal frame ricevuto e ricorda quali host sono collegati a quale porta.
Se lo switch riceve un frame destinato a un indirizzo sconosciuto, invierà un messaggio broadcast da ciascuna porta eccetto la porta su cui è stata ricevuta la richiesta, quindi quando lo switch riceve una risposta aggiungerà l’indirizzo e la porta di origine al suo Banca dati. Quando viene ricevuto un altro frame destinato a questo indirizzo, lo switch non ha bisogno di inviare una trasmissione poiché sa già dove si trova l’indirizzo di destinazione.
Puoi vedere come gli switch differiscono dagli hub. Un hub non ricorderà mai quali host sono collegati a quali porte e inonderà sempre il traffico da ogni porta.
La tabella in cui sono memorizzati gli indirizzi è nota come tabella CAM (Content-addressable memory). Per comprendere ulteriormente come lo switch popola la tabella CAM, si consideri il seguente esempio:
- Un interruttore si avvia e ha una tabella CAM vuota.
- HostA con un indirizzo MAC di a3bc.4a59.4109 invia un frame a HostB il cui indirizzo è a3bc.4a59.4001.
- Lo switch riceve il frame sull’interfaccia fa0 / 1 e salva l’indirizzo MAC di HostA (a3bc.4a59.4109) nella sua tabella CAM e lo associa all’interfaccia fa0 / 1.
- Poiché l’indirizzo di destinazione non è noto, lo switch trasmetterà il frame a tutte le interfacce tranne fa0 / 1.
- HostB riceve il frame e risponde.
- Lo switch riceve la risposta sull’interfaccia fa0 / 2 e salva l’indirizzo MAC di HostB (a3bc.4a59.4001) nella sua tabella CAM e lo associa all’interfaccia fa0 / 2.
- Lo switch inoltra l’interfaccia frame out fa0 / 1 poiché l’indirizzo MAC di destinazione (a3bc.4a59.4109) è presente nella tabella CAM ed è associato all’interfaccia fa0 / 1.
- HostA risponde a HostB.
- Lo switch riceve il frame e lo inoltra all’esterno dell’interfaccia fa0 / 2 perché ha l’indirizzo MAC di destinazione (a3bc.4a59.4001) associato all’interfaccia fa0 / 2 nella tabella CAM.
Lo scambio di cui sopra è illustrato nella Figura 6-5.
Figura 6-5 Commutazione degli indirizzi MAC di apprendimento
Lo switch memorizzerà gli indirizzi MAC nella tabella CAM per un periodo di tempo limitato. Se non si sente traffico da quella porta per un periodo di tempo predefinito, la voce viene eliminata dalla memoria. Questo serve per liberare spazio di memoria sullo switch e anche per impedire che le voci diventino obsolete e imprecise. Questo tempo è noto come tempo di invecchiamento dell’indirizzo MAC. Su Cisco 2950 questo tempo è di 300 secondi per impostazione predefinita e può essere configurato per essere compreso tra 10 e 1000000 secondi. Lo switch può anche essere configurato in modo da non eliminare mai gli indirizzi.
Il comando per vedere la tabella CAM di uno Switch è ” show mac address-table “. Ecco un esempio di come la tabella CAM di uno Switch:Switch # mostra la tabella degli indirizzi mac
Vlan Tipo di indirizzo Mac Porte
—- —————– ——– ——
1 0014.bc1e.76ab DYNAMIC Fa0 / 1
1 0014.c81e.787f DYNAMIC Fa0 / 10
1 0014.c81e. 15ca DYNAMIC Fa0 / 12
La tabella CAM mostrata sopra verrà creata per la rete mostrata nella Figura 6-6.
Si noti che lo switch memorizza l’indirizzo Mac e la porta a cui è connesso l’host. Non preoccuparti per la colonna VLAN al momento; parleremo di questo nel capitolo 7.
Figura 6-6 Tabella CAM
Filtraggio e inoltro di frame
Quando un frame arriva a una porta dello switch, lo switch esamina il proprio database di indirizzi MAC. Se l’indirizzo di destinazione è nel database, il frame verrà inviato solo dall’interfaccia a cui è collegato l’host di destinazione. Questo processo è noto come filtro dei frame . Il filtro dei frame aiuta a preservare la larghezza di banda poiché il frame viene inviato solo all’interfaccia su cui è connesso l’indirizzo MAC di destinazione. Questo aggiunge anche un livello di sicurezza poiché nessun altro host riceverà mai il frame.
D’altra parte, se lo switch non conosce l’indirizzo MAC di destinazione, invaderà il frame da tutte le interfacce attive aspettando l’interfaccia su cui è stato ricevuto il frame. Un’altra situazione in cui lo switch invierà un frame è quando un host invia un messaggio broadcast. Ricorda che una rete commutata è un singolo dominio di trasmissione.
Facciamo due esempi per comprendere il filtraggio dei frame. Di seguito è mostrata la tabella CAM di uno switch:Switch # mostra la tabella degli indirizzi mac
Vlan Tipo di indirizzo Mac Porte
—- —————– ——– ——
1 0014.bc1e.76ab DYNAMIC Fa0 / 1
1 0014.c81e.787f DYNAMIC Fa0 / 10
1 0014.c81e. 15ca DYNAMIC Fa0 / 12
Quando riceve un frame da fa0 / 1 destinato a un host con indirizzo MAC 0014.c8ef.19fa, cosa farà lo switch? Poiché l’indirizzo non è noto, lo switch invierà il frame a tutte le interfacce attive tranne fa0 / 1. Se viene ricevuta una risposta dall’host di destinazione, l’indirizzo MAC verrà aggiunto alla tabella CAM.
In un altro esempio, se un host con indirizzo MAC 0014.c8ef.20ae, connesso all’interfaccia fa0 / 11 invia un frame destinato a 0014.bc1e.76ab, lo switch aggiungerà l’indirizzo sorgente alla sua tabella CAM e lo assocerà a fa0 / 11. Quindi inoltrerà il frame out fa0 / 1 poiché l’indirizzo di destinazione esiste nella tabella CAM ed è associato a fa0 / 1.
La tabella CAM dell’interruttore ora avrà il seguente aspetto:Switch # mostra la tabella degli indirizzi mac
Vlan Tipo di indirizzo Mac Porte
—- —————– ——– ——
1 0014.bc1e.76ab DYNAMIC Fa0 / 1
1 0014.c81e.787f DYNAMIC Fa0 / 10
1 0014.c81e. 15ca DYNAMIC Fa0 / 12
1 0014.c8ef.19fa DYNAMIC Fa0 / 15
1 0014.c8ef.20ae DYNAMIC Fa0 / 11
Metodi di commutazione
Qualsiasi ritardo nel passaggio del traffico è noto come latenza. Gli switch Cisco offrono tre modi per cambiare il traffico a seconda di quanto accuratamente si desidera che il frame venga controllato prima che venga trasmesso. Più controlli vuoi, maggiore sarà la latenza che introdurrai allo switch.
Le tre modalità di commutazione tra cui scegliere sono:
- Tagliare attraverso
- Store-and-forward
- Senza frammenti
Tagliare attraverso
La commutazione cut-through è il metodo di commutazione più veloce, il che significa che ha la latenza più bassa. Il frame in arrivo viene letto fino all’indirizzo MAC di destinazione. Una volta raggiunto l’indirizzo MAC di destinazione, lo switch controlla la sua tabella CAM per la porta corretta da cui inoltrare il frame e lo invia per il suo percorso. Non vi è alcun controllo degli errori, quindi questo metodo offre la latenza più bassa. Il prezzo tuttavia è che lo switch inoltrerà eventuali frame contenenti errori.
Il processo di cambio di modalità può essere descritto al meglio usando una metafora.
Sei la sicurezza in un club e ti viene chiesto di assicurarti che tutti coloro che entrano abbiano un documento d’identità . Non ti viene chiesto di assicurarti che l’immagine corrisponda alla persona, ma solo che l’ID ha un’immagine. Con questo metodo di controllo, le persone si muoveranno sicuramente rapidamente per entrare nello stabilimento. Ecco come funziona la commutazione cut-through.
Store-and-forward
Qui lo switch legge l’intero frame e lo copia nei suoi buffer. Viene eseguito un controllo di ridondanza ciclico (CRC) per verificare la presenza di errori nel frame. Se vengono rilevati errori il frame viene eliminato, altrimenti viene esaminata la tabella di commutazione e il frame inoltrato. Store and Forward garantisce che il frame sia di almeno 64 byte e non più grande di 1518 byte. Se è inferiore a 64 byte o superiore a 1518 byte, lo switch eliminerà il frame.
Ora immagina di essere la sicurezza del club, solo che questa volta non solo devi assicurarti che l’immagine corrisponda alla persona, ma devi anche scrivere il nome e l’indirizzo di tutti prima che possano entrare. Farlo in questo modo causa molto tempo e ritardo ed è così che funziona il metodo di commutazione store-and-forward.
La commutazione store-and-forward ha la latenza più alta di tutti i metodi di commutazione ed è l’impostazione predefinita degli switch della serie 2900.
Senza frammenti (modificato cut-through / runt-free)
Poiché il cut-through può garantire che tutti i frame siano buoni e lo stoccaggio e l’inoltro richiedano troppo tempo, abbiamo bisogno di un metodo che sia veloce e affidabile. Usando il nostro esempio della sicurezza del nightclub, immagina che ti venga chiesto di assicurarti che tutti abbiano un ID e che l’immagine corrisponda alla persona. Con questo metodo ti sei assicurato che tutti siano chi dicono di essere, ma non devi eliminare tutte le informazioni. Nella commutazione si ottiene ciò utilizzando il metodo di commutazione senza frammenti.
Questa è la configurazione predefinita sugli switch Cisco di livello inferiore. Framment-free, o cut-through modificato, è una varietà modificata di commutazione cut-through. I primi 64 byte di un frame vengono esaminati per eventuali errori e, se non vengono rilevati, lo superano. Il motivo è che se c’è un errore nel frame è molto probabile che sia nei primi 64 byte.
La dimensione minima di un frame Ethernet è 64 byte; qualsiasi cosa inferiore a 64 byte è chiamata frame “runt”. Poiché ogni frame deve essere di almeno 64 byte prima dell’inoltro, questo eliminerà i runt, motivo per cui questo metodo è noto anche come commutazione “runt-free”.
La figura seguente mostra quale metodo legge la quantità di frame prima di inoltrarlo.
Diversi metodi di commutazione
Prevenire i loop nella rete
Avere collegamenti ridondanti tra gli switch può essere molto utile. Se un percorso si interrompe, il traffico può prendere un percorso alternativo. Sebbene i percorsi ridondanti siano estremamente utili, spesso causano molti problemi. Alcuni dei problemi associati a tali loop sono i broadcast storm, i loop infiniti, i frame duplicati e le tabelle CAM difettose. Diamo uno sguardo a ciascuno di questi problemi in dettaglio:
- Tempeste di trasmissione : senza tecniche di prevenzione dei loop in atto, gli switch possono inondare all’infinito una trasmissione nella rete. Per capire come ciò possa accadere, si consideri la rete mostrata nella Figura 6-7.
Figura 6-7 Broadcast Storms
Nella rete mostrata nella Figura 6-7, considera una situazione in cui HostA invia una trasmissione. Si verificherà quindi la seguente sequenza di eventi:
- SwitchA inoltrerà il frame a tutta l’interfaccia tranne quella collegata a HostA. HostB riceverà una copia di questa trasmissione. Si noti che il frame sarebbe uscito dall’interfaccia fa0 / 1 e anche fa0 / 2. Per facilità di comprensione chiamiamo il frame che esce da fa0 / 1 come frame1 mentre il frame che esce da fa0 / 2 frame2.
- When SwitchB receives frame1, it will flood it out all interfaces including fa0/2. When it receives frame2, it will flood it out all interfaces including fa0/1. HostC and HostD would receive both the frames, which actually means they receive two copies of the same frame. Meanwhile one frame was each sent out fa0/2 and fa0/1 towards SwitchA! Let’s call these frames frame3 and frame4.
- When SwitchA receives frame3, it will flood it out all interfaces including fa0/1 and when it receives frame4 it will flood it out all interface including fa0/2. This means, HostB and HostA both receive two broadcasts. Remember that HostA was the original source of the broadcast while HostB has already receive one copy! But the worse part is that two more frames went out to SwitchB. Now the previous and the current step will continue endlessly and the four hosts will be continuously get the broadcast.
If multiple broadcasts are sent out to this network, each of them will endlessly be sent to every host in the network thereby causing what is known as a broadcast storm.
- Endless looping – Similar to what happens in a broadcast storm, consider a situation where HostA in Figure 6-7 sends a unicast destined to a host which does not exist in the network. SwitchA will receive the frame and will see that it does not know the destination address. It will forward it out all interface except the one where HostA is connected. SwitchB will receive two copies of this frame and will flood them out all its interfaces since it does not know the destination address. Since SwitchB will flood the frames out fa0/1 and fa0/2, SwitchA will receive the frames and the endless loop will continue.
- Duplicate frames – In the network shown in Figure 6-7, consider a situation where HostA sends a frame destined to HostD. When switch A receives this frame, it will not know where HostD is and will flood it out all the interfaces. SwitchB will receive one copy each from both fa0/1 and fa0/2 interfaces. It will check the destination address and send both the packets to HostD. In effect, HostD would have received a duplicate packet. This might cause problems with protocols using UDP and especially with voice packets.
- Faulty CAM table – Consider the situation where HostA sends a frame destined to HostC. When SwitchA receives the frame, it does not know where HostC resides, so it will flood out the frame. SwitchB will receive the frame on both fa0/1 and fa0/2. It will read the source address and store it in its CAM table. Now it has two destination interfaces for a single address! Now a switch cannot have two entries for a single address, so it will keep overwriting each entry with new information as frames are received on multiple interfaces. This can cause the switch to get overwhelmed and it might stop forwarding traffic.
Tutti questi problemi possono causare l’arresto anomalo di una rete commutata. Dovrebbero essere del tutto evitati o almeno riparati. Quindi, il protocollo Spanning Tree è stato creato per mantenere libero il loop di rete. Discuteremo a breve STP.