Lezione: CSMA/CD
Introduzione
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) è un protocollo di accesso al mezzo usato nelle reti Ethernet con trasmissione condivisa. Serve a gestire le collisioni che si verificano quando più dispositivi tentano di trasmettere contemporaneamente sullo stesso canale.
Hub e Comunicazione
Un hub è un dispositivo di rete "stupido" in quanto non gestisce attivamente il traffico: semplicemente invia tutto a tutti i dispositivi collegati.
Problema delle collisioni
Quando due dispositivi (ad esempio PC1 e PC2) vogliono trasmettere contemporaneamente sullo stesso canale, si verifica una collisione. Questo accade perché entrambi i dispositivi ascoltano e scrivono nello stesso momento.
Funzionamento di CSMA/CD
- Ascolto del canale
- Il dispositivo verifica se il canale è vuoto.
- Se il canale è libero, inizia la trasmissione.
- Se il canale è occupato, attende fino a quando diventa libero.
- Collisione e rilevamento
- Se durante la trasmissione si verifica una collisione, il dispositivo interrompe immediatamente l'invio.
- Tutti i dispositivi coinvolti rilevano l'errore e smettono di trasmettere.
- Backoff esponenziale
- Dopo una collisione, ogni dispositivo aspetta un intervallo di tempo casuale prima di ritentare la trasmissione.
- Questo intervallo segue un backoff esponenziale, ovvero raddoppia a ogni collisione successiva.
- Ad esempio:
- Prima collisione: attesa casuale tra 0 e 10 ms.
- Seconda collisione: attesa casuale tra 0 e 20 ms.
- Terza collisione: attesa casuale tra 0 e 40 ms, e così via.
Evoluzione: Switch e Full-Duplex
Il protocollo CSMA/CD era fondamentale nelle reti Ethernet tradizionali con hub, ma oggi è meno rilevante grazie all'uso di dispositivi più intelligenti, come gli switch full-duplex.
- Switching: divide la rete in segmenti indipendenti, riducendo drasticamente le collisioni.
- Full-duplex: permette la trasmissione e la ricezione simultanea, eliminando completamente le collisioni.
Esempio pratico
Scenario con hub:
- PC1 e PC2 trasmettono contemporaneamente: si verifica una collisione.
- Entrambi i PC rilevano la collisione, interrompono la trasmissione e aspettano un tempo casuale prima di riprovare.
Scenario con switch full-duplex: