# Hub e Switch ## Hub L'hub è uno dei primi dispositivi utilizzati per consentire la comunicazione a livello di LAN tra gli host. É noto anche con il termine *ripetitore*, poiché opera in maniera non intelligente: non tiene traccia degli indirizzi MAC degli host connessi e quindi inoltra ogni frame in arrivo a tutte le porte, ad eccezione di quella da cui proviene il frame. In altre parole, il traffico viene trasmesso in broadcast, indipendentemente dal destinatario. ![hub](asset/img/hub.png) É molto inefficiente e tende a sovraccaricare inutilmente la rete, inondandola di pacchetti. ## Half-Duplex e Full-Duplex Logic Nella modalità `half-duplex` un dispositivo può o trasmettere o ricevere informazioni in un determinato istante. Ciò significa che la comunicazione avviene in un'unica direzione alla volta, rendendo necessario alternare le modalità di invio e ricezione. Con la modalità `full-duplex`, il dispositivo è in grado di inviare e ricevere informazioni contemporaneamente. Ció consente una comunicazione bidirezionale continua, aumentando l'efficienza e riducendo la possibilità di collisioni. Gli hub supportano solo la modalità half-duplex, il che significa che in ogni istante possono trasmettere o ricevere dati, ma non entrambe le operazioni contemporaneamente. ## Switch Lo switch è un dispositivo molto potente grazie alla sua MAC Address Table, che consente di associare ogni indirizzo MAC a una specifica porta fisica alla quale è collegato il cavo di rete. ![mac-address-table](asset/img/mac-address-table.png) Il funzionamento dello switch è basato su un meccanismo di learning: quando riceve un pacchetto, lo switch analizza il MAC address sorgente e aggiorna la sua tabella, associandolo alla porta di ingresso. In questo modo, lo switch *impara* quali dispositivi sono collegati a quale porta e può inoltrare i frame in modo mirato. Nel caso in cui il MAC address di destinazione non sia presente nella tabella, lo switch invia il frame a tutte le porte in broadcast, comportandosi come un hub, fino a quando non avrà appreso la corretta associazione. Lo switch supporta sia la modalità half-duplex che full-duplex, offrendo così una comunicazione più efficiente. ## Indirizzamento - **Unicast**: comunicazione diretta e precisa tra due dispositivi. Ad esempio, il dispositivo A invia un messaggio specifico al dispositivo B - **Multicast**: comunicazione indirizzata a un gruppo selezionato di dispositivi. Il dispositivo A trasmette informazioni solo ai membri di un determinato gruppo di destinazione - **Broadcast**: comunicazione che raggiunge tutti i dispositivi all'interno della stessa LAN