Salta al contenuto
Note per Studenti Esercizio - Scelta del protocollo MAC su bus di 5 km

Esercizio - Scelta del protocollo MAC su bus di 5 km

In questa pagina 5

Testo. Più stazioni trasmettono pacchetti DLL di 100100 byte su un bus condiviso lungo 55 km. Il bitrate al livello fisico è 100100 Mbit/s. Determinare il protocollo MAC più efficiente da implementare a livello DLL.

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 →, 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 →, Analisi delle prestazioni di reteLe prestazioni di una rete si misurano con tre famiglie di metriche: traffico (bitrate $R_0$ massimo del collegamento, throughput $S\le R_0$ dati consegnati con successo, goodput al livello applicazione), ritardo (end-to-end $d_{tot}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$ con $d_{trans}=L/R$ e $d_{prop}=d/v$; jitter; RTT) e capacità del tubo (BDP $=R\cdot$ ritardo, bit che riempiono il collegamento), più l'affidabilità (PER, PDR, PLR). Il throughput di un percorso è quello del collegamento collo di bottiglia, $\min$ dei bitrate, ricordando che i collegamenti condivisi dividono la capacità.Analisi delle prestazioni di rete →; le formule di throughput sono in 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 →.

Come si confrontano i protocolli ad accesso casuale

L'efficienza di un protocollo ad accesso casuale dipende dal suo tempo di vulnerabilità: la finestra in cui un pacchetto già iniziato può essere distrutto da un altro. Più è corta, meno collisioni ci sono.

Protocollo Tempo di vulnerabilità Idea
ALOHA puro 2Tfr2T_{fr} si trasmette quando si vuole
ALOHA slotted TfrT_{fr} si inizia solo a inizio slot
CSMA (tutte le varianti) TpT_p si ascolta prima, ma un segnale impiega TpT_p ad arrivare
CSMA/CD TpT_p, ma richiede Tfr≥2TpT_{fr}\ge2T_p si ascolta anche durante la trasmissione

Il confronto fra CSMA e ALOHA si fa tramite il ritardo di propagazione normalizzato τ=TpTfr.\tau=\frac{T_p}{T_{fr}}. Il CSMA batte l'ALOHA solo se τ\tau è piccolo (Tp≪TfrT_p\ll T_{fr}): in quel caso ascoltare il canale prima di parlare evita quasi tutte le collisioni. Se τ\tau è grande l'ascolto è inutile, perché quando una stazione sente il canale libero il segnale di un'altra non l'ha ancora raggiunta.

Calcolo dei tempi

Tempo di trasmissione di un pacchetto. L=100 byte=800 bitL=100\ \text{byte}=800\ \text{bit}: Tfr=LR=800100⋅106=8 μs.T_{fr}=\frac{L}{R}=\frac{800}{100\cdot10^6}=8\ \mu\text{s}.

Tempo di propagazione. Il testo non dà la velocità del segnale. Si usa la stessa dell'esercizio precedente sul bus (55 ns/m, cioè 2⋅1082\cdot10^8 m/s, la velocità tipica di un cavo): i due modi di scriverla coincidono. Tp=5000 m⋅5 ns/m=25 μs=50002⋅108 s.T_p=5000\ \text{m}\cdot5\ \text{ns/m}=25\ \mu\text{s}=\frac{5000}{2\cdot10^8}\ \text{s}.

Ritardo normalizzato. τ=TpTfr=25 μs8 μs=3,125.\tau=\frac{T_p}{T_{fr}}=\frac{25\ \mu\text{s}}{8\ \mu\text{s}}=3{,}125. Le due grandezze hanno la stessa unità e il rapporto è un numero puro: τ>1\tau>1 significa che il segnale impiega più tempo ad attraversare il bus di quanto ne serva a trasmettere un intero pacchetto.

Confronto

  • CSMA/CD richiede Tfr≥2Tp=50 μsT_{fr}\ge2T_p=50\ \mu\text{s}, ma Tfr=8 μsT_{fr}=8\ \mu\text{s}: le collisioni non verrebbero rilevate (stessa condizione dell'esercizio precedente, bitrate massimo 800/50 μs=16800/50\ \mu\text{s}=16 Mbit/s). Va scartato, oppure servirebbero pacchetti di almeno 100⋅106⋅50⋅10−6=5000100\cdot10^6\cdot50\cdot10^{-6}=5000 bit.
  • CSMA ha vulnerabilità Tp=25 μs=3,1 TfrT_p=25\ \mu\text{s}=3{,}1\,T_{fr}: più lunga di quella dell'ALOHA puro (2Tfr=16 μs2T_{fr}=16\ \mu\text{s}) e di quella dell'ALOHA slotted (8 μs8\ \mu\text{s}). Con τ>1\tau>1 il suo throughput, già per τ=1\tau=1, ha un picco intorno a 0,140{,}14 (grafico del confronto CSMA/ALOHA), cioè sotto i 0,180{,}18 dell'ALOHA puro e molto sotto i 0,370{,}37 dello slotted; a τ=3,125\tau=3{,}125 è ancora peggio. Si calcola con la formula del CSMA non persistente, S=Ge−aGG(1+2a)+e−aGS=\dfrac{Ge^{-aG}}{G(1+2a)+e^{-aG}} con a=τ=3,125a=\tau=3{,}125: il massimo, trovato numericamente, è Smax≈0,055S_{max}\approx0{,}055 (in G≈0,16G\approx0{,}16), meno di un terzo dell'ALOHA puro.

Grafico interattivo: Throughput S in funzione del carico G con a = τ = Tp/Tfr = 3,125: il CSMA non persistente ha un massimo di circa 0,055 (in G ≈ 0,16), peggio sia dell'ALOHA puro (0,184) sia dello slotted (0,368), che quindi vince

  • ALOHA puro: vulnerabilità 16 μs16\ \mu\text{s}, Smax≈0,18S_{max}\approx0{,}18.
  • ALOHA slotted: vulnerabilità 8 μs8\ \mu\text{s} (la più corta), Smax≈0,37S_{max}\approx0{,}37.

Il protocollo più efficiente è quindi lo slotted ALOHA: ha il tempo di vulnerabilità più breve e il doppio del throughput massimo dell'ALOHA puro. (Nella pratica servirebbe sincronizzare le stazioni sugli slot, difficile con 25 μ25\ \mus di propagazione, ma l'esercizio chiede il confronto tra protocolli sull'efficienza.)

Confronto con la soluzione ufficiale

Ufficiale: "Slotted-ALOHA è il protocollo MAC più efficiente perché ha il tempo/finestra di vulnerabilità più breve". Coincide. Il testo ufficiale non cita CSMA, ma la scelta si giustifica come sopra, con τ=3,125\tau=3{,}125.

Errori comuni

  • Scegliere CSMA/CD "perché è il migliore": vale solo se τ≪1\tau\ll1 e Tfr≥2TpT_{fr}\ge2T_p; qui TpT_p è più di tre volte TfrT_{fr}.
  • Usare Tfr=8T_{fr}=8 ms (errore di conversione: 800 bit/108 bit/s=8 μ800\ \text{bit}/10^8\ \text{bit/s}=8\ \mus).
  • Confrontare solo TfrT_{fr} e dimenticare TpT_p: a 100100 Mbit/s su 55 km la propagazione domina la trasmissione.
  • Dimenticare che il tempo di vulnerabilità dello slotted è TfrT_{fr} e quello del puro 2Tfr2T_{fr}.

(Verificato con Python: Tfr=8 μT_{fr}=8\ \mus, Tp=25 μT_p=25\ \mus, τ=3,125\tau=3{,}125, 2Tp=50 μ2T_p=50\ \mus, bitrate massimo per CSMA/CD 1616 Mbit/s.)

Versione ripasso

Dati. Bus 55 km, R=100R=100 Mbit/s, pacchetti 100100 B =800=800 bit.

Risposta: slotted ALOHA (vulnerabilità minima, Smax=0,37S_{max}=0{,}37).

Errore tipico: scegliere CSMA/CD senza controllare Tfr≥2TpT_{fr}\ge2T_p.

Lezioni in cui compare

Teoria collegata