Esercizio - Bitrate oltre il quale CSMA-CD non rileva le collisioni
In questa pagina 4
Testo. Più stazioni condividono lo stesso bus lungo km e implementano il protocollo CSMA/CD a livello DLL. Sapendo che il tempo di propagazione sul bus è ns/m e che le stazioni trasmettono pacchetti di byte, determinare il valore (o i valori) di bitrate al livello fisico per cui le collisioni di accesso non possono essere rilevate.
Teoria usata: 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 →, 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 →, 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 → (ritardi di trasmissione e di propagazione).
Cosa deve succedere perché CSMA/CD funzioni
Nel CSMA/CD la stazione ascolta il canale mentre trasmette e, se rileva energia anomala, interrompe la trasmissione. Perché possa accorgersi di una collisione deve essere ancora in trasmissione quando la notizia della collisione le arriva. Nel caso peggiore le due stazioni sono agli estremi opposti del bus:
- il segnale della prima impiega per arrivare alla seconda;
- la seconda, che nel frattempo (un attimo prima dell'arrivo) ha cominciato a trasmettere, causa subito la collisione, e l'effetto impiega altri per tornare alla prima.
La prima stazione deve quindi trasmettere per almeno prima di finire l'ultimo bit: Se invece la stazione ha già finito di trasmettere quando arriva l'eco della collisione, crede che il pacchetto sia andato bene e non lo ritrasmette: la collisione non viene rilevata.
Calcolo
Tempo di propagazione sul bus. , quindi . (I ns/m equivalgono a una velocità del segnale m/s, quella tipica in un cavo: Mezzi di trasmissione - cavi, fibre e collegamenti radioIl mezzo di trasmissione fissa l'attenuazione $a_{ch}$ nel link budget. Nei cavi $H_{ch}=e^{-\gamma d}$ e l'attenuazione in dB cresce con la distanza ($a=\tilde a,d$, dB/km) e con $\sqrt f$. Le fibre ottiche hanno banda larghissima (10¹⁴-10¹⁵ Hz), attenuazione bassa in tre finestre di lunghezza d'onda e limitazione dalla dispersione. Nei collegamenti radio vale la formula di Friis, $g_{ch}=g_{tx}g_{rx}\left(\frac\lambda{4\pi d}\right)^2$, cioè $a_{ch}=32{,}4+20\log_{10}d_{km}+20\log_{10}f_{MHz}-G_{tx}-G_{rx}$ dB.Mezzi di trasmissione - cavi, fibre e collegamenti radio →.)
Lunghezza del pacchetto. .
Condizione di rilevabilità. Passaggio: si moltiplica entrambi i membri per (il verso non cambia) ottenendo , poi si divide per . L'unità: bit/s.
Conclusione. Le collisioni sono rilevabili solo per Mbit/s. Quindi non sono rilevabili per ogni Mbit/s (per esempio a Mbit/s: ).
Grafico interattivo: Tempo di trasmissione T_fr = 800 bit / R in funzione del bitrate R, confrontato con 2T_p = 10 µs: le collisioni sono rilevabili finché la curva sta sopra la retta, cioè per R ≤ 80 Mbit/s (a 100 Mbit/s T_fr = 8 µs < 10 µs)
Si noti che aumentare il bitrate accorcia ma non cambia (dipende solo dalla lunghezza del bus e dalla velocità del segnale): per questo Ethernet a velocità maggiori deve ridurre la lunghezza massima del cavo o aumentare la lunghezza minima del pacchetto.
Confronto con la soluzione ufficiale
Ufficiale: le collisioni non possono essere rilevate se il bitrate è maggiore di Mbit/s. Coincide. (Al valore limite esatto Mbit/s si ha e la collisione è ancora rilevabile.)
Errori comuni
- Usare invece di : si troverebbe Mbit/s. Serve l'andata e il ritorno del segnale.
- Dimenticare di convertire i byte in bit ( byte bit, non ).
- Rispondere " Mbit/s": è la condizione in cui le collisioni sono rilevabili, quella chiesta è la sua negazione.
- Convertire male i ns/m: km m dà s, non ms.
(Verificato con Python: , Mbit/s.)
Versione ripasso
Dati. Bus km, ns/m, pacchetti B bit, CSMA/CD.
- ns s, s.
- Mbit/s: rilevabili.
- Non rilevabili per Mbit/s (a Mbit/s ).
Errore tipico: usare (si dimentica il ritorno) o dare la condizione opposta.