Nella tecnologia delle reti informatiche, uno switch, in inglese letteralmente commutatore, è un dispositivo di rete che inoltra selettivamente i frame ricevuti verso una porta di uscita.
Uno switch possiede l'intelligenza necessaria a riconoscere i confini dei frame nel flusso di bit, immagazzinarli, decidere su quale porta inoltrarli, trasferirli verso una porta in uscita, trasmetterli. Normalmente uno switch opera al livello datalink del modello di riferimento ISO/OSI.
Tra uno switch e un bridge esistono le seguenti differenze:
Il ritardo introdotto da uno switch è generalmente di pochi microsecondi, quindi quasi ininfluente. Questo è valido per tutte e tre i metodi di instradamento
Storicamente lo switch è stato introdotto per ridurre le collisioni nelle reti Ethernet (ora IEEE 802.3). L'uso esclusivo di switch per collegare nodi (con esclusione di hub e bridge) consente di aumentare l'efficienza di una tipica rete 10Base-T di un fattore 10, portandola dunque a competere con una più costosa rete 100Base-T provvista esclusivamente di hub, e quindi con topologia logica a bus.
Normalmente uno switch non è in grado di interconnettere reti di livello 2 eterogenee, ad esempio una rete Ethernet con una Token Ring, a meno che non si tratti di un cosiddetto "switch transazionale", mentre può interconnettere ad esempio reti ethernet con velocità o tecnologie fisiche diverse.
Nel gergo delle reti, uno switch separa i domini di collisione connessi alle sue porte, ovvero se due calcolatori collegati a porte diverse trasmettono contemporaneamente, non si verifica una collisione, e i due frame possono attraversare lo switch contemporaneamente.
Il termine switch viene usato anche al di fuori delle reti Ethernet, ad indicare un dispositivo che inoltri selettivamente i frame ricevuti, per esempio in ATM o frame relay. Inoltre, un dispositivo di rete che abbini le prestazioni di uno switch con le funzioni di livello superiore di un router viene detto switch-router o, più precisamente, switch di livello 3 (layer-3 switch).
Per decidere su quale porta inoltrare un frame ricevuto, uno switch deve possedere una funzione di instradamento. Questa è basata sull'apprendimento passivo degli indirizzi sorgente dei frame inoltrati ("transparent learning"), attraverso il quale lo switch impara su quale porta si trova un determinato indirizzo. Gli indirizzi appresi vengono "dimenticati" dopo un certo tempo dalla loro ultima apparizione.
Alcuni frame hanno un indirizzo destinazione particolare, denominato broadcast, che indica che sono destinati a tutti i calcolatori della rete. Uno switch inoltra questi frame su tutte le porte. Per questo si dice che crea un unico dominio di broadcast.
La complessità del comportamento di uno switch è compensata dalle migliori prestazioni ottenibili.
Il fatto che i frame vengano ritrasmessi selettivamente ha anche delle implicazioni di sicurezza informatica, in quanto evita che un calcolatore possa facilmente intercettare (sniffare) il traffico diretto ad un altro. Esistono comunque tecniche raffinate che permettono lo sniffing anche in presenza di switch, come l'ARP Poisoning o lo Switch Flooding, per cui uno switch non deve essere considerato come una protezione inattaccabile contro i rischi di intercettazione.
L'intelligenza necessaria a gestire le porte di ingresso e di uscita (riconoscere i frame, estrarre gli indirizzi sorgente e destinazione, trasmetterli) è distribuita sulle singole schede.
Spesso su alcune porte possono essere montati trasduttori di tipo diverso per risolvere diversi tipi di esigenze (si veda ad esempio la ricchezza di tecnologie di livello fisico disponibili per IEEE_802.3). Questa possibilità viene tipicamente utilizzata per aggiungere ad uno switch 100Base-TX una o due porte di tipo 1000Base-X per il collegamento verso il resto della rete (uplink) o per un server veloce.
Alcuni switch hanno una costruzione modulare, ovvero le schede possono essere montate dal gestore, per modulare il numero di porte a disposizione o per utilizzare porte di tipo diverso.
Anche se non è molto conveniente, è possibile realizzare uno switch anche con un comune computer dotato di più interfacce di rete.
Esistono 3 tipologie di instradamento che possono essere utilizzate da uno switch:
Nella prima tipologia lo switch si limita a leggere l'indirizzo MAC del destinatario e quindi manda il contenuto del frame contemporaneamente alla sua lettura. In questo caso l'invio dei frame non attende la ricezione completa dello stesso. Questo tipo di switch è quello con latenza minore.
Negli switch store-and-forward invece viene letto l'intero frame e ne viene calcolato il CRC confrontandolo con il campo FCS all'interno del frame. Solo se i due valori corrispondono il frame viene mandato al destinatario, altrimenti non viene trasmesso. Questi tipi di switch consentono di bloccare frame contenenti errori ma hanno una latenza maggiore.
L'ultima tipologia è un compromesso tra le due precedenti in quanto si leggono i primi 64 bytes del frame in modo da rilevare solo alcune anomalie nel frame.
Gli switch fragment-free e cut-through possono essere impiegati solamente nello switching simmetrico ovvero dove trasmettitore e ricevitore operano alla stessa velocità, gli switch store-and-forward invece consentono anche lo switching asimmetrico.
Le tre tipologie si differenziano solo se il buffer di trasmissione è vuoto e se il link di uscita è libero. Nel caso contrario le tre tipologie si riducono all'unica store-and-forward.
Uno switch di fascia medio-alta è tipicamente dotato di un agente di gestione, ovvero un piccolo programma software che permette di controllarne e monitorarne il funzionamento. Questo è accessibile sia attraverso una porta seriale (gestione out-of-band) che attraverso la stessa rete ethernet (gestione in-band). In questo caso, all'agente di gestione viene normalmente assegnato un indirizzo IP, e questo risponde ai protocolli SNMP, telnet e/o ssh, HTTP.
Uno switch gestito permette tipicamente di accedere da remoto a queste funzionalità:
Switch | Commutador | Switch | Netværksswitch | Switch (Computertechnik) | Network switch | Switch | Kytkin (tietoliikenne) | Commutateur réseau | מיתוג | スイッチングハブ | Switch (hardware) | Switch | Switch | Comutador (redes) | Сетевой коммутатор | Omrežno stikalo | Switch | Switch