CSMA/CD - Protocollo di accesso multiplo

I frame ethernet vengono trasmessi dagli host collegati alla stessa LAN su un canale condiviso broadcast a bit rate elevato ⇒ modalità di accesso multiplo

Il problema è la possibile collisione causata dalla spedizione contemporanea di più frame, e è quindi stato creato un protocollo di accesso al mezzo per coordinare le trasmissioni sullo stesso canale.

CSMA/CD, ovvero Carrier Sense Multiple Access with Collision Detection È un protocollo ad accesso casuale, completamente decentralizzato, che quindi non ha uno stato condiviso.

Quando un host deve trasmettere ascolta il canale, e quando trasmette lo fa alla massima velocità consentita dal canale. Durante la trasmissione rimane in ascolto e se rileva una collisione ritrasmette fino a che non ha successo.

Carrier Sense - Listen before talk Quando si deve trasmettere si ascolta il canale e se è libero lo si fa.

Multiple Access - Accessi multipli Due host potrebbero decidere di trasmettere nello stesso momento, oppure uno subito prima di un’altro, dal momento che il canale risulterebbe comunque libero per colpa delle latenze di trasmissione.

Collision Detection - Listen while talking Se si verifica una sovrapposizione di trasmissioni si ha una collisione. Mentre trasmette ascolta i segnali sul mezzo, e se viene rilevata una collisione interrompe la trasmissione.

Quando si verifica una collisione, l’host che sospende la trasmissione invia un segnale di jamming (48 bit), per avvisare della collisione tutti gli altri host. Questo segnale assicura che ogni host rilevi la collisione anche nel caso in cui sia stata breve.

Chi stava trasmettendo ripete la trasmissione con un ritardo casuale, calcolato da un algoritmo di exponential back-off (esponenziale) scelta casuale per sapere quando riprovare con la trasmissione