Esercizio - Collisione tra due stazioni CSMA 1-persistente
In questa pagina 6
Testo. Le stazioni A e B usano a livello DLL il protocollo CSMA 1-persistente. Il collegamento punto-punto tra le due stazioni ha bitrate Mbit/s e tempo di propagazione ms. I pacchetti DLL sono lunghi kbit. La stazione A genera due pacchetti agli istanti ms e ms; la stazione B ne genera uno all'istante ms.
- Ci sono collisioni tra pacchetti?
- A quali istanti A e B rilevano le collisioni (se ci sono)?
Teoria usata: Protocolli di accesso multiplo - ALOHA e CSMAQuando più stazioni condividono lo stesso mezzo serve un protocollo di accesso (MAC) che decida chi trasmette. Accesso casuale: ALOHA puro (si trasmette subito, tempo vulnerabile $2t_F$), slotted ALOHA (si parte solo a inizio slot, vulnerabile $t_F$), CSMA (si ascolta prima di parlare, vulnerabile $\tau_p$) con le varianti 1-persistent, non persistent e p-persistent, CSMA/CD (rileva la collisione mentre trasmette: serve $t_F\ge2\tau_p$, quindi un frame minimo) e CSMA/CA del Wi-Fi (IFS, finestra di contesa con backoff esponenziale, ACK, RTS/CTS e NAV). Accesso controllato: prenotazione, polling, token. Canalizzazione: FDMA, TDMA, OFDMA, CDMA, SDMA.Protocolli di accesso multiplo - ALOHA e CSMA → (tempo vulnerabile del CSMA), LAN - Ethernet e Wi-FiUna LAN copre un'area limitata ed è definita dalla famiglia IEEE 802.x (802.3 Ethernet, 802.11 Wi-Fi), che divide il livello di collegamento in LLC e MAC. Ethernet è senza connessione, senza controllo di flusso e senza ACK; usa CSMA/CD 1-persistent; il frame va da 64 a 1518 byte (indirizzi di 6 byte, tipo/lunghezza, dati 46-1500, CRC di 4) e il minimo di 64 B deriva da $t_F\ge2\tau_p$. Dal 10 Mbit/s a coassiale fino al 10 Gbit/s su fibra, con switch full-duplex che eliminano le collisioni. Il Wi-Fi (802.11) usa CSMA/CA, ha i modi BSS (con access point) e ad hoc, EBSS con sistema di distribuzione; adatta il bitrate all'SNR; ha problemi del terminale nascosto e del terminale esposto, risolti in parte da RTS/CTS e NAV.LAN - Ethernet e Wi-Fi →, Prestazioni dei protocolli di accesso - ALOHA, CSMA, TDMA e FDMACon arrivi di Poisson, la probabilità di successo di un frame è la probabilità che nessun altro frame arrivi nel tempo vulnerabile: ALOHA puro $P_S=e^{-2G}$, throughput $S=Ge^{-2G}$ con massimo $1/(2e)\approx0{,}18$ in $G=1/2$; slotted ALOHA $S=Ge^{-G}$ con massimo $1/e\approx0{,}37$ in $G=1$. CSMA non persistente con $a=\tau_p/t_F$: $S=\frac{Ge^{-aG}}{G(1+2a)+e^{-aG}}$, che tende a 1 per $a\to0$ ma crolla per $a$ grande, dove lo slotted ALOHA è migliore. Per TDMA ($M/D/1$) $E[T]=t_F\left(\frac{N_u}2+\frac{SN_u}{2(1-S)}+1+a\right)$ e per FDMA $E[T]=t_F\left(N_u+\frac{SN_u}{2(1-S)}+a\right)$: FDMA è più lento di $t_F(N_u/2-1)$.Prestazioni dei protocolli di accesso - ALOHA, CSMA, TDMA e FDMA →.
Regole del modello
Per rispondere bisogna fissare con precisione il comportamento delle stazioni.
- CSMA 1-persistente: quando una stazione ha un pacchetto ascolta il canale. Se lo trova libero trasmette subito; se lo trova occupato continua ad ascoltarlo e trasmette nell'istante in cui lo sente tornare libero (con probabilità 1, da cui "1-persistente").
- Il canale è "visto" con ritardo: una stazione sente il canale occupato solo quando il primo bit dell'altra la raggiunge, cioè dopo l'inizio della trasmissione; lo sente tornare libero quando l'ultimo bit la raggiunge, dopo la fine. Questo è il motivo per cui il CSMA può avere collisioni.
- Rilevazione della collisione: una stazione che sta trasmettendo si accorge della collisione quando il primo bit dell'altra frame la raggiunge, e a quel punto smette. Questo comportamento è quello del CSMA/CD, che si assume per rispondere alla domanda 2 (il testo chiede l'istante di rilevazione).
Tempo di trasmissione
Cronologia degli eventi
| Istante (ms) | Evento |
|---|---|
| A genera il pacchetto 1, il canale è libero: A inizia a trasmettere | |
| il primo bit di A arriva a B (): da ora B sente il canale occupato | |
| B genera il suo pacchetto: sente il canale occupato (primo bit di A arrivato da 1 ms), quindi aspetta ascoltando | |
| A finisce di trasmettere il pacchetto 1 () | |
| l'ultimo bit di A arriva a B (): B sente il canale tornare libero e, essendo 1-persistente, trasmette subito | |
| A genera il pacchetto 2. Il primo bit di B (partito alle ) arriverà ad A alle : A sente ancora il canale libero e inizia a trasmettere | |
| il primo bit di B raggiunge A (): A sta trasmettendo il pacchetto 2, rileva la collisione e si ferma | |
| il primo bit di A (partito alle ) raggiunge B (): B sta ancora trasmettendo, rileva la collisione e si ferma |
Senza collisione i due pacchetti sarebbero finiti alle (A) e alle (B), ma le trasmissioni vengono interrotte alle (A) e alle (B).
Il diagramma spazio-tempo (posizione sull'asse x, con A in e B in ; tempo in ms sull'asse y, verso l'alto) mostra perché: le diagonali sono i segnali che si propagano, e ci mettono ms ad andare da A a B.
Grafico interattivo: Diagramma spazio-tempo: A trasmette il pacchetto 1 da 230 a 242 ms (il primo bit arriva a B a 232, l'ultimo a 244); B, che aveva aspettato, parte a 244; A genera il pacchetto 2 a 245, sente ancora il canale libero perché il primo bit di B arriva a 246, e le due trasmissioni si incrociano: A rileva a 246 e B a 247
Risposte
- Sì, c'è una collisione, tra il pacchetto 2 di A e il pacchetto di B. Il pacchetto 1 di A arriva integro (B lo ha aspettato). La collisione avviene perché A ha generato il pacchetto 2 a ms, solo ms dopo che B aveva iniziato a trasmettere, quando il segnale di B non aveva ancora percorso il collegamento ( ms): il vulnerable time del CSMA è e qui ms.
- A rileva la collisione a ms, B a ms. Ognuno la rileva quando riceve il primo bit dell'altra frame.
Confronto con la soluzione ufficiale
Ufficiale: "c'è collisione, rilevata a ms"; la figura di corredo riporta gli istanti , cioè esattamente quelli della tabella sopra (rilevazione di A a , di B a ). Coincide: il testo ufficiale cita solo la prima rilevazione (quella di A), la figura anche la seconda.
Errori comuni
- Credere che B trasmetta a ms: in quell'istante sente il canale occupato (il primo bit di A è arrivato a ) e deve aspettare.
- Dimenticare che B sente il canale libero a ms (fine di A più ) e non a ms: con si ottiene una cronologia sbagliata.
- Pensare che A abbia trasmesso a ms "sapendo" che B stava trasmettendo: il segnale di B arriva ad A solo a ms, quindi A ha sentito il canale libero.
- Scambiare le due rilevazioni: A rileva a ms (primo bit di B), B a ms (primo bit di A).
(Verificato con Python: ms; B parte a ; A rileva a ; B rileva a .)
Versione ripasso
Dati. CSMA 1-persistente, Mbit/s, ms, kbit ms. A genera a e ms, B a ms.
Regole (Protocolli di accesso multiplo - ALOHA e CSMAQuando più stazioni condividono lo stesso mezzo serve un protocollo di accesso (MAC) che decida chi trasmette. Accesso casuale: ALOHA puro (si trasmette subito, tempo vulnerabile $2t_F$), slotted ALOHA (si parte solo a inizio slot, vulnerabile $t_F$), CSMA (si ascolta prima di parlare, vulnerabile $\tau_p$) con le varianti 1-persistent, non persistent e p-persistent, CSMA/CD (rileva la collisione mentre trasmette: serve $t_F\ge2\tau_p$, quindi un frame minimo) e CSMA/CA del Wi-Fi (IFS, finestra di contesa con backoff esponenziale, ACK, RTS/CTS e NAV). Accesso controllato: prenotazione, polling, token. Canalizzazione: FDMA, TDMA, OFDMA, CDMA, SDMA.Protocolli di accesso multiplo - ALOHA e CSMA →): il canale si vede libero/occupato con ritardo ; 1-persistente = trasmette appena libero; rilevazione al primo bit dell'altra frame (LAN - Ethernet e Wi-FiUna LAN copre un'area limitata ed è definita dalla famiglia IEEE 802.x (802.3 Ethernet, 802.11 Wi-Fi), che divide il livello di collegamento in LLC e MAC. Ethernet è senza connessione, senza controllo di flusso e senza ACK; usa CSMA/CD 1-persistent; il frame va da 64 a 1518 byte (indirizzi di 6 byte, tipo/lunghezza, dati 46-1500, CRC di 4) e il minimo di 64 B deriva da $t_F\ge2\tau_p$. Dal 10 Mbit/s a coassiale fino al 10 Gbit/s su fibra, con switch full-duplex che eliminano le collisioni. Il Wi-Fi (802.11) usa CSMA/CA, ha i modi BSS (con access point) e ad hoc, EBSS con sistema di distribuzione; adatta il bitrate all'SNR; ha problemi del terminale nascosto e del terminale esposto, risolti in parte da RTS/CTS e NAV.LAN - Ethernet e Wi-Fi →).
- A: ; B sente occupato da , libero a e trasmette a .
- A genera a : il primo bit di B arriva a , A sente libero e trasmette.
- Collisione (pacchetto 2 di A contro B): A la rileva a ms, B a ms.
Errore tipico: far trasmettere B a ms o a ms (si dimentica il ritardo di propagazione).