Salta al contenuto
Note per Studenti Esercizio - Collisione tra due stazioni CSMA 1-persistente

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 R=2,5R=2{,}5 Mbit/s e tempo di propagazione tP=2t_P=2 ms. I pacchetti DLL sono lunghi 3030 kbit. La stazione A genera due pacchetti agli istanti tA,1=230t_{A,1}=230 ms e tA,2=245t_{A,2}=245 ms; la stazione B ne genera uno all'istante tB,1=233t_{B,1}=233 ms.

  1. Ci sono collisioni tra pacchetti?
  2. 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 τp\tau_p 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è tPt_P dopo l'inizio della trasmissione; lo sente tornare libero quando l'ultimo bit la raggiunge, tPt_P 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

Tfr=LR=30 000 bit2,5⋅106 bit/s=12 ms.T_{fr}=\frac{L}{R}=\frac{30\,000\ \text{bit}}{2{,}5\cdot10^6\ \text{bit/s}}=12\ \text{ms}.

Cronologia degli eventi

Istante (ms) Evento
230230 A genera il pacchetto 1, il canale è libero: A inizia a trasmettere
232232 il primo bit di A arriva a B (230+2230+2): da ora B sente il canale occupato
233233 B genera il suo pacchetto: sente il canale occupato (primo bit di A arrivato da 1 ms), quindi aspetta ascoltando
242242 A finisce di trasmettere il pacchetto 1 (230+12230+12)
244244 l'ultimo bit di A arriva a B (242+2242+2): B sente il canale tornare libero e, essendo 1-persistente, trasmette subito
245245 A genera il pacchetto 2. Il primo bit di B (partito alle 244244) arriverà ad A alle 246246: A sente ancora il canale libero e inizia a trasmettere
246246 il primo bit di B raggiunge A (244+2244+2): A sta trasmettendo il pacchetto 2, rileva la collisione e si ferma
247247 il primo bit di A (partito alle 245245) raggiunge B (245+2245+2): B sta ancora trasmettendo, rileva la collisione e si ferma

Senza collisione i due pacchetti sarebbero finiti alle 257257 (A) e alle 256256 (B), ma le trasmissioni vengono interrotte alle 246246 (A) e alle 247247 (B).

Il diagramma spazio-tempo (posizione sull'asse x, con A in 00 e B in 11; tempo in ms sull'asse y, verso l'alto) mostra perché: le diagonali sono i segnali che si propagano, e ci mettono tP=2t_P=2 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

  1. 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 245245 ms, solo 11 ms dopo che B aveva iniziato a trasmettere, quando il segnale di B non aveva ancora percorso il collegamento (tP=2t_P=2 ms): il vulnerable time del CSMA è tPt_P e qui 245−244=1 ms<2245-244=1\ \text{ms}<2 ms.
  2. A rileva la collisione a t=246t=246 ms, B a t=247t=247 ms. Ognuno la rileva quando riceve il primo bit dell'altra frame.

Confronto con la soluzione ufficiale

Ufficiale: "c'è collisione, rilevata a t=246t=246 ms"; la figura di corredo riporta gli istanti 230,232,242,244,245,246,247230, 232, 242, 244, 245, 246, 247, cioè esattamente quelli della tabella sopra (rilevazione di A a 246246, di B a 247247). Coincide: il testo ufficiale cita solo la prima rilevazione (quella di A), la figura anche la seconda.

Errori comuni

  • Credere che B trasmetta a 233233 ms: in quell'istante sente il canale occupato (il primo bit di A è arrivato a 232232) e deve aspettare.
  • Dimenticare che B sente il canale libero a 244244 ms (fine di A più tPt_P) e non a 242242 ms: con 242242 si ottiene una cronologia sbagliata.
  • Pensare che A abbia trasmesso a 245245 ms "sapendo" che B stava trasmettendo: il segnale di B arriva ad A solo a 246246 ms, quindi A ha sentito il canale libero.
  • Scambiare le due rilevazioni: A rileva a 246246 ms (primo bit di B), B a 247247 ms (primo bit di A).

(Verificato con Python: Tfr=12T_{fr}=12 ms; B parte a 230+12+2=244230+12+2=244; A rileva a 244+2=246244+2=246; B rileva a 245+2=247245+2=247.)

Versione ripasso

Dati. CSMA 1-persistente, R=2,5R=2{,}5 Mbit/s, tP=2t_P=2 ms, L=30L=30 kbit ⇒Tfr=12\Rightarrow T_{fr}=12 ms. A genera a 230230 e 245245 ms, B a 233233 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 tPt_P; 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: 230→242230\to242; B sente occupato da 232232, libero a 242+2=244242+2=244 e trasmette a 244244.
  • A genera a 245245: il primo bit di B arriva a 246246, A sente libero e trasmette.
  • Collisione (pacchetto 2 di A contro B): A la rileva a 244+2=246244+2=\mathbf{246} ms, B a 245+2=247245+2=\mathbf{247} ms.

Errore tipico: far trasmettere B a 233233 ms o a 242242 ms (si dimentica il ritardo di propagazione).

Lezioni in cui compare

Teoria collegata