Le reti Ethernet Half-duplex utilizzano un algoritmo chiamato Carrier Sense Multiple Access with Collision Detection (CSMA/CD). Questo algoritmo aiuta i dispositivi sullo stesso segmento di rete a decidere quando inviare pacchetti e cosa fare in caso di collisioni. CSMA / CD è comunemente usato nelle reti con ripetitori e hub perché questi dispositivi funzionano in modalità half-duplex e tutte le loro porte si trovano nello stesso dominio di collisione.
Collisioni di pacchetti si verificano quando i pacchetti vengono trasmessi da host diversi allo stesso tempo. Per evitare ciò, CSMA / CD costringe una stazione trasmittente a verificare la presenza di un segnale digitale sul filo. Se nessun altro host sta trasmettendo pacchetti, il mittente inizia a inviare il frame. Il mittente controlla anche il filo per assicurarsi che nessun altro host inizi a trasmettere. Tuttavia, se un altro host inizia a trasmettere contemporaneamente e si verifica una collisione, l’host trasmittente invia un segnale jam che causa l’interruzione dell’invio dei dati da parte di tutti gli host del segmento di rete. Dopo un periodo di tempo casuale, gli host ritrasmettono i loro pacchetti.
Considera il seguente esempio:
Nella foto sopra abbiamo una rete di quattro host collegati ad un hub. Poiché gli hub funzionano in modalità half-duplex e ogni porta su un hub si trova nello stesso dominio di collisione, possono verificarsi collisioni di pacchetti e CSMA/CD viene utilizzato per prevenirli e rilevarli. L’host A rileva che non ci sono altri segnali sulla rete e decide di inviare un pacchetto. Tuttavia, l’Host B presuppone anche che nessun’altra stazione trasmetta e invii anche un pacchetto. Si verifica una collisione e viene rilevata dall’host A e dall’host B. Le stazioni di invio inviano un segnale di disturbo che dice a tutti gli host sul segmento che si è verificata una collisione. Dopo un periodo di tempo casuale, Host A e Host B inviare nuovamente i loro pacchetti.