Protocolli di accesso multiplo - ALOHA e CSMA
In questa pagina 10
In questa pagina 7
Il problema: un mezzo, molte stazioni
Sul livello di collegamento (Livello di collegamento e framingIl livello di collegamento (DLL) consegna un frame da un nodo a un nodo adiacente su un collegamento. Servizi: framing, accesso al mezzo (MAC) con indirizzi MAC a 48 bit, controllo di flusso, rilevazione e correzione degli errori. Si divide in DLC (framing, controllo di errore e di flusso) e MAC (accesso al mezzo condiviso). Il framing delimita i frame con un flag: nei protocolli a byte (flag di 8 bit, ESC) si usa il byte stuffing, in quelli a bit (flag 01111110) il bit stuffing, che inserisce uno 0 dopo ogni cinque 1 consecutivi.Livello di collegamento e framing →) i problemi si dividono in due famiglie. Il controllo del collegamento dati (Data Link Control, DLC: framing, controllo d'errore con Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective RepeatARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore conferma (ACK) i frame ricevuti bene, il trasmettitore ritrasmette allo scadere del timeout. Servono timeout (contro il deadlock) e numeri di sequenza (contro i duplicati). Con $t_G=t_F+2\tau_p+t_A$ e probabilità di errore $p$: Stop-and-Wait $\rho=\frac{t_F(1-p)}{t_G}$; Go-Back-N con finestra $N\ge t_G/t_F$ $\rho=\frac{1-p}{1+(N-1)p}$; Selective Repeat $\rho=1-p$. Efficienza $\eta=\rho,I/F$. La finestra ottima è la capacità del tubo in pacchetti. In Selective Repeat esiste anche una lunghezza ottima del frame: con overhead $o$ e probabilità di errore sul bit $P_b$, $x_{ott}\simeq\frac o2+\sqrt{o/P_b}$ (frame più corti se il canale sbaglia di più).Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat →, controllo di flusso) vale sia per i collegamenti punto-punto sia per quelli condivisi. Il controllo dell'accesso al mezzo (Medium Access Control, MAC) serve solo quando il mezzo è condiviso (di solito broadcast, cioè tutti sentono tutti): decide quando una stazione può trasmettere un frame.
Il MAC consegna la PDU del livello LLC tra stazione sorgente e stazione destinazione e offre un servizio con riscontro. La PDU del MAC contiene:
| Campo | Contenuto |
|---|---|
| Indirizzo di destinazione (DA) | byte |
| Indirizzo sorgente (SA) | byte |
| Controllo | dipende dal protocollo MAC |
| Informazione | la PDU del livello superiore (LLC) |
| FCS (Frame Check Sequence) | byte per il controllo d'integrità del frame |
I protocolli MAC si dividono in tre famiglie:
- accesso casuale (random access): ALOHA, slotted ALOHA, CSMA, CSMA/CD, CSMA/CA;
- accesso controllato (controlled access): prenotazione, polling, passaggio del testimone (token passing);
- canalizzazione (channelization): FDMA, TDMA, OFDMA, CDMA, SDMA.
Le prestazioni dei protocolli casuali (throughput, ritardo) sono calcolate 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 →, che usa gli strumenti di Introduzione alla teoria delle codeUn sistema a coda (QS) è fatto da un processo di arrivi (di Poisson, tasso $\lambda$), una coda e uno o più servitori con tasso di servizio $\mu$. Carico offerto $G=\lambda/\mu$, fattore di carico $\rho=\lambda/(m\mu)$: il sistema è stabile solo se $\rho<1$, e allora il throughput è $\lambda$ (altrimenti è $m\mu$). Legge di Little: $E[x]=\lambda E[s]$, valida per qualsiasi disciplina. Coda M/M/1: $E[x]=\frac{\rho}{1-\rho}$, $E[s]=\frac{1/\mu}{1-\rho}$, $E[w]=\frac{\rho/\mu}{1-\rho}$. Con servizio deterministico (M/D/1, caso particolare di Pollaczek-Khinchin): $E[w]=\frac{\rho}{2\mu(1-\rho)}$. Il ritardo cresce senza limite quando $\rho\to1$.Introduzione alla teoria delle code →. Qui si descrivono gli algoritmi. La stessa famiglia di protocolli, vista dal corso di comunicazioni con il confronto FDMA/TDMA, è in Metodi di accesso al mezzo - FDMA, TDMA, ALOHA e CSMAQuando più nodi condividono un mezzo serve un protocollo di accesso (MAC). Accesso deterministico: FDMA (una banda per utente) e TDMA (uno slot per utente in una trama): nessuna collisione, a ogni utente $\frac{R_b}N$ meno le perdite di sincronismo. Accesso aleatorio: ALOHA puro ($S=Ge^{-2G}$, massimo $\frac1{2e}=0{,}184$ in $G=0{,}5$), slotted ALOHA ($S=Ge^{-G}$, massimo $\frac1e=0{,}368$ in $G=1$), CSMA (si ascolta prima di trasmettere: nel non persistente $S=\frac{Ge^{-aG}}{G(1+2a)+e^{-aG}}$, con $a=\frac{\tau_P}{t_P}$ piccolo si arriva a $\approx0{,}8$-$0{,}9$).Metodi di accesso al mezzo - FDMA, TDMA, ALOHA e CSMA →; il riscontro con ACK e timeout è lo stop-and-wait di Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat →.
Accesso casuale: lo scopo
Nei metodi ad accesso casuale (o a contesa) nessuna stazione è superiore alle altre: chi ha dati da inviare usa una procedura per decidere se trasmettere oppure no, e non c'è un istante prestabilito per trasmettere. Le stazioni competono per il canale (processo di contesa). Se due stazioni trasmettono nello stesso momento c'è una collisione e i frame coinvolti sono persi con alta probabilità.
Ogni protocollo risponde a quattro domande:
- quando può una stazione accedere al mezzo?
- che cosa fa se il mezzo è occupato?
- come si stabilisce il successo o il fallimento di una trasmissione?
- che cosa fa se c'è un conflitto di accesso?
ALOHA puro (pure ALOHA)
Progettato all'inizio degli anni '70 per collegare calcolatori su isole diverse dell'arcipelago delle Hawaii (non c'erano cavi): è il protocollo di ALOHAnet, la prima rete dati a pacchetti senza fili (Storia e struttura di InternetInternet nasce da ARPANET (1969), una rete a commutazione di pacchetto finanziata dal Dipartimento della Difesa USA. Con TCP/IP (1972-77) i controlli d'errore passano dai nodi della rete ai calcolatori agli estremi (end host): è questo che la rende scalabile. DNS (1983), WWW (1989), apertura commerciale (1995). Oggi è una rete di reti: ISP locali, regionali e nazionali, collegati tra loro direttamente (peering) o tramite punti di interscambio (NAP/IXP, per esempio il MIX di Milano); IANA coordina indirizzi e DNS root, IETF/IRTF/IAB/ISOC definiscono standard e ricerca.Storia e struttura di Internet →).
Definizione (algoritmo dell'ALOHA puro).
- Quando accedere: appena si ha qualcosa da trasmettere.
- Mezzo occupato? Si trasmette comunque, senza guardare.
- Esito: si usa uno schema ACK/NACK con timeout. Se l'ACK non arriva entro il timeout, si deduce una collisione.
- Conflitto: si attende un tempo casuale (backoff) e si ritrasmette; si ripete finché non va a buon fine.
Il backoff è casuale per un motivo preciso: due stazioni che hanno avuto una collisione, se aspettassero lo stesso tempo, ritrasmetterebbero di nuovo insieme e si scontrerebbero all'infinito.
Basta un solo bit di un frame che coesiste sul canale con un solo bit di un altro frame per distruggerli entrambi: l'ALOHA puro non ha nessuna regola che limiti la sovrapposizione.
Definizione (tempo vulnerabile dell'ALOHA puro). Se la stazione B comincia a trasmettere un frame al tempo (il frame dura ), il frame non subisce collisione solo se nessun altro frame (nuovo o ritrasmesso) parte da secondi prima a secondi dopo il suo inizio. Il tempo vulnerabile (vulnerable time) è quindi
Perché due : un frame iniziato prima di è già finito quando B parte, quindi non disturba; ma un frame iniziato in è ancora in corso quando B comincia, e uno iniziato in si sovrappone alla coda di B. L'intervallo critico è lungo .
Esempio. Frame da bit su un canale a Mbit/s: ms. Se B parte a ms, qualsiasi altro frame che parta tra ms e ms lo distrugge: ms. Nell'esempio delle slide quattro stazioni inviano due frame ciascuna e solo due frame (quelli delle stazioni 1 e 3) sopravvivono, perché tutti gli altri si sovrappongono almeno in parte a un altro.
Grafico interattivo: Tempo vulnerabile dell'ALOHA puro con tF = 1 ms: il frame B parte a 10 ms (durata 10–11 ms); la fascia colorata, da 9 a 11 ms, è l'intervallo di partenza che distrugge B. A1 (parte a 9,3) e A2 (parte a 10,7) collidono, A3 (finisce a 9,4) e A4 (parte a 11,3) no
ALOHA a slot (slotted ALOHA)
Definizione (algoritmo dello slotted ALOHA). Il tempo è diviso in slot di durata e le stazioni sono costrette a iniziare la trasmissione solo all'inizio di uno slot. Un frame generato a metà slot aspetta l'inizio del successivo (attesa media ). Per il resto l'algoritmo è quello dell'ALOHA puro (ACK, timeout, backoff casuale).
Poiché tutti partono solo a inizio slot, due frame si sovrappongono o del tutto o per niente: la collisione avviene solo se due frame sono pronti nello stesso slot. Il tempo vulnerabile si dimezza:
Il prezzo è la sincronizzazione: tutte le stazioni devono conoscere l'inizio degli slot.
I due protocolli a confronto sulle slide: il throughput massimo normalizzato dell'ALOHA puro è circa , quello dello slotted ALOHA circa (), cioè il doppio (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 → dà la dimostrazione).
CSMA: ascoltare prima di parlare
Definizione (CSMA). Carrier Sense Multiple Access: ogni stazione ascolta il mezzo prima di trasmettere (listen before talk) e trasmette solo se lo trova libero.
La probabilità di collisione diminuisce, ma non si annulla, per colpa del ritardo di propagazione : una stazione può sentire il canale libero solo perché il primo bit trasmesso da un'altra stazione non l'ha ancora raggiunta.
Definizione (tempo vulnerabile del CSMA). È il tempo di propagazione (massimo) da un estremo all'altro del mezzo:
Perché: se una stazione inizia a trasmettere e un'altra tenta di farlo entro , l'altra non ha ancora sentito niente e c'è collisione. Ma quando il primo bit del frame ha raggiunto l'estremo opposto, tutte le stazioni lo hanno sentito e si astengono.
Esempio. Bus di km con propagazione m/s: s s. Frame da bit a Mbit/s: s s. Il tempo vulnerabile è s, cioè un decimo del frame (); per l'ALOHA puro sarebbe s, venti volte di più (). Se invece fosse paragonabile a (satellite, rete molto veloce), l'ascolto servirebbe a poco: la differenza tra CSMA e ALOHA sparisce (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 →).
Le varianti: che cosa fare se il canale è occupato
| Variante | Algoritmo | Effetto |
|---|---|---|
| 1-persistent | ascolta continuamente; appena il canale è libero trasmette subito (con probabilità 1); se è occupato continua ad ascoltare | alta probabilità di collisione: due o più stazioni in attesa trasmettono insieme appena il canale si libera |
| non persistent | ascolta una volta: se libero trasmette subito; se occupato aspetta un backoff casuale e poi riascolta | meno collisioni (attesa casuale), ma efficienza minore: il canale resta libero mentre ci sono frame in attesa |
| p-persistent | il canale ha slot di durata massimo; se libero: con probabilità trasmette; con probabilità aspetta l'inizio dello slot successivo e riascolta | meno collisioni e miglior efficienza |
Nel dettaglio del p-persistent, se il canale è libero:
- con probabilità si invia il frame;
- con probabilità si aspetta l'inizio dello slot successivo e si riascolta il canale:
- se è ancora libero si torna al punto 1;
- se è occupato, ci si comporta come dopo una collisione e si applica la procedura di backoff (per esempio il backoff esponenziale binario, definito nel dettaglio in 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 →: l'intervallo da cui si estrae l'attesa raddoppia a ogni collisione); allo scadere del timer di backoff si torna al punto 1.
La logica dei tre valori: è il caso 1-persistent; con piccolo si riduce la probabilità che più stazioni in attesa partano insieme, ma si spreca qualche slot di canale libero.
CSMA non persistente (quello del Wi-Fi). Diagramma di flusso: si monitora il canale; se è libero si trasmette il frame; se non arriva l'ACK si fa un backoff casuale e, finché restano tentativi, si ricomincia; se il canale è occupato si fa subito un backoff casuale e si riascolta. Il livello di collegamento usa quindi una politica di ritrasmissione stop-and-wait (Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective RepeatARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore conferma (ACK) i frame ricevuti bene, il trasmettitore ritrasmette allo scadere del timeout. Servono timeout (contro il deadlock) e numeri di sequenza (contro i duplicati). Con $t_G=t_F+2\tau_p+t_A$ e probabilità di errore $p$: Stop-and-Wait $\rho=\frac{t_F(1-p)}{t_G}$; Go-Back-N con finestra $N\ge t_G/t_F$ $\rho=\frac{1-p}{1+(N-1)p}$; Selective Repeat $\rho=1-p$. Efficienza $\eta=\rho,I/F$. La finestra ottima è la capacità del tubo in pacchetti. In Selective Repeat esiste anche una lunghezza ottima del frame: con overhead $o$ e probabilità di errore sul bit $P_b$, $x_{ott}\simeq\frac o2+\sqrt{o/P_b}$ (frame più corti se il canale sbaglia di più).Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat →).
CSMA/CD (Ethernet)
Definizione (CSMA/CD). Carrier Sense Multiple Access with Collision Detection: al CSMA aggiunge la rilevazione delle collisioni mentre si trasmette. La stazione controlla il mezzo durante la trasmissione del frame:
- se il livello di energia sul canale è coerente con la trasmissione del proprio frame, va tutto bene;
- se è anormale (più alto), c'è una collisione: la trasmissione viene interrotta e si invia un breve segnale di disturbo (jamming) per avvertire tutte le altre stazioni.
Algoritmo: monitora il canale; se è libero trasmette il frame; se c'è collisione invia il segnale di jam e, se restano tentativi, fa un backoff casuale e riprova; altrimenti termina. Anche qui il livello di collegamento usa una politica stop-and-wait. Vantaggio sul CSMA: appena si capisce che un frame è perso, si smette di sprecare il canale con il resto di un frame destinato a perdersi.
Durata minima della trasmissione
Perché la rilevazione funzioni, la stazione deve accorgersi della collisione prima di aver finito di trasmettere il frame. Se avesse già inviato l'ultimo bit quando la collisione le arriva, crederebbe di aver avuto successo e non ritrasmetterebbe mai quel frame (nessun livello inferiore lo scoprirebbe).
Caso peggiore. La stazione A inizia a trasmettere a . Un'altra stazione B, all'altro estremo del mezzo, inizia un istante prima che il segnale di A la raggiunga, cioè a . La collisione avviene vicino a B, ma il suo effetto torna indietro fino ad A in altri : A se ne accorge a . B invece è sicura di aver conquistato il canale solo dopo .
Formula (durata minima del frame in CSMA/CD). Per essere sicuri che una trasmissione sia andata a buon fine bisogna che
La seconda relazione si ottiene sostituendo (lunghezza del frame in bit diviso bitrate) nella prima e moltiplicando entrambi i membri per : la disuguaglianza non cambia verso. Il significato è che il frame deve contenere almeno tanti bit quanti ne entrano sul mezzo nel tempo di andata e ritorno, (il prodotto banda-ritardo di 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 →).
Grafico interattivo: Diagramma spazio-tempo del caso peggiore del CSMA/CD (posizione sull'asse x da A in 0 a B in 1; tempo sull'asse y in unità di τp): A parte a t = 0, B parte a t = τp, un istante prima di sentire A; la collisione arriva ad A a t = 2τp, quindi A deve ancora star trasmettendo
Esempio (valori delle slide). Mbit/s e s (si tratta del ritardo massimo, comprensivo dei ripetitori): s, quindi bit B. È proprio la lunghezza minima del frame Ethernet (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 →). Nelle slide l'ultimo passaggio riporta s: è un refuso, il valore che dà B è s.
Prestazioni e dimensione della rete. Si confronta ():
- Mbit/s, kbit, m su cavo: ms, s, quindi : la propagazione è trascurabile, la collisione è rarissima.
- Stessa rete a Gbit/s: s e : ora propagazione e trasmissione si equivalgono, e il CSMA/CD è molto meno efficiente (e il vincolo non sarebbe rispettato).
- Se «si comprime» il mezzo condiviso in una scatola (hub o switch, pochi cm), diventa piccolissimo e si ottiene una mini-LAN dove il problema scompare.
Nel confronto grafico delle slide, è già abbastanza lontano dal caso ideale. Per l'esercizio sulla velocità massima oltre la quale le collisioni non si rilevano vedi Esercizio - Bitrate oltre il quale CSMA-CD non rileva le collisioni.
CSMA/CA (Wi-Fi)
Definizione (CSMA/CA). Carrier Sense Multiple Access with Collision Avoidance: inventato per le reti senza fili, dove non si può rilevare una collisione durante la trasmissione (la propria trasmissione sovrasta ciò che si riceve). Non si rileva, si evita.
Gli ingredienti sono quattro: IFS, finestra di contesa (CW), ACK, e opzionalmente RTS/CTS.
Spazio tra i frame (IFS, Interframe Space). Quando il canale è libero la stazione non trasmette subito: aspetta un tempo detto IFS. Il frame dati parte dopo che il canale è stato sentito libero per secondi (costante del protocollo; nello standard slot). Gli IFS servono anche per dare priorità: chi ha un IFS più corto passa avanti. Si usano , con s fisso nell'802.11 (concede la separazione minima: propagazione di andata e ritorno più elaborazione locale del MAC).
Handshake a due vie. Il frame dati parte solo dopo di canale libero; il ricevitore risponde con un ACK esplicito dopo un tempo . Poiché , l'ACK ha priorità su qualsiasi nuovo frame (nessuno riesce a inserirsi prima). Il livello di collegamento usa una ritrasmissione stop-and-wait: se il frame fallisce lo ritrasmette fino al successo o al numero massimo di tentativi.
Finestra di contesa e backoff. Se il canale è occupato (o dopo un fallimento) si aspetta un tempo casuale, secondo questo meccanismo:
- si definisce la finestra di contesa , espressa in slot di trasmissione (durata costante );
- quando si trova il canale occupato si sceglie un contatore di backoff intero uniforme in (ciascuno dei valori ha probabilità : Bernoulli, binomiale e uniforme discretaBernoulli Be(p): un solo tentativo, vale 1 con probabilità p; binomiale Bin(n, p): numero di successi in n prove indipendenti, P(X = k) = C(n,k) p^k (1−p)^(n−k), media np e varianza np(1−p); uniforme discreta: n valori equiprobabili.Bernoulli, binomiale e uniforme discreta →); il tempo di backoff è ;
- si parte da e raddoppia a ogni fallimento del frame (), fino a (nell'802.11 s; nello standard i valori sono , cioè potenze di due meno uno);
- il canale si ascolta alla fine di ogni slot: finché è libero il contatore scende di uno; quando è occupato il conto alla rovescia si congela e riparte quando il canale torna libero;
- si può trasmettere quando il contatore arriva a .
Grafico interattivo: Finestra di contesa CW dopo n fallimenti consecutivi (nello standard 802.11): 15, 31, 63, ..., 1023 e poi resta al massimo
Esempio. Al primo tentativo e s: se si estrae la stazione aspetta s di canale libero. Se il canale diventa occupato dopo slot liberi, il contatore resta fermo a finché la trasmissione altrui non finisce, poi riprende e a si trasmette. Chi ha estratto il contatore più basso vince la contesa: è il motivo per cui le stazioni che hanno aspettato di più (contatore congelato) tendono ad andare per prime la volta successiva.
Perché la finestra raddoppia. Due stazioni in contesa estraggono lo stesso valore, e quindi collidono, con probabilità (le due estrazioni sono indipendenti: Indipendenza di eventiA e B sono indipendenti se P(A ∩ B) = P(A) P(B), cioè se sapere che uno si è verificato non cambia la probabilità dell'altro; l'indipendenza passa ai complementari, non va confusa con l'incompatibilità, e per più eventi va richiesta su ogni sottofamiglia.Indipendenza di eventi →): circa con (lo standard estrae tra e , cioè valori, e dà : stesso ordine di grandezza). Dopo un fallimento e la probabilità scende a circa : più stazioni sono in contesa, più serve una finestra larga, e il raddoppio la allarga solo quando c'è stata una collisione. L'attesa media di un'estrazione è slot: con sono slot s.
Anche con tutte queste precauzioni una collisione può ancora distruggere i dati (due stazioni estraggono lo stesso ), e i dati possono anche corrompersi durante la trasmissione. L'ACK positivo e il timeout garantiscono al mittente che il ricevitore ha ricevuto il frame.
RTS/CTS e NAV (opzionali). Per ridurre le collisioni dovute a stazioni che non si sentono tra loro (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 →, terminale nascosto):
- la stazione che ha conquistato il canale invia un frame di controllo RTS (Request To Send) al destinatario;
- dopo un intervallo solo la destinazione risponde con un CTS (Clear To Send), a tutti: «sono pronto a ricevere»;
- dopo un altro la sorgente invia i dati; dopo arriva l'ACK;
- tutte le altre stazioni che sentono RTS o CTS impostano un timer, il NAV (Network Allocation Vector), che indica quanto tempo deve passare prima che possano riascoltare il canale; prima di sentire il canale ogni stazione controlla se il suo NAV è scaduto.
Il NAV è un ascolto «virtuale» del canale: anche una stazione che non sente la trasmissione dei dati sa che il canale è occupato.
Riepilogo dei protocolli ad accesso casuale
| Protocollo | Regola | Periodo vulnerabile |
|---|---|---|
| ALOHA | nessuna regola: si trasmette appena c'è un frame, indipendentemente dallo stato della rete | |
| Slotted ALOHA | si inizia a trasmettere solo all'inizio di uno slot | |
| CSMA | prima di trasmettere si ascolta il canale e si controlla che nessun altro stia trasmettendo | |
| CSMA/CD | come CSMA, e si continua ad ascoltare durante la trasmissione, interrompendola in caso di collisione | (con ) |
| CSMA/CA | IFS + CW + ACK + RTS/CTS + NAV | (collisioni evitate, non rilevate) |
Accesso controllato
Qui le stazioni non competono: un meccanismo decide chi può trasmettere, e non ci sono collisioni.
Prenotazione (reservation). Il tempo è diviso in intervalli; in ogni intervallo un frame di prenotazione precede i frame dati. Con stazioni ci sono esattamente minislot, uno per stazione. Una stazione che ha dati prenota nel suo minislot; quelle che hanno prenotato inviano i dati dopo il frame di prenotazione.
Polling (usato, per esempio, in Bluetooth). Una stazione è primaria e le altre secondarie (topologia a stella, Tipi di rete e topologieLe reti si classificano per estensione (BAN, WLAN, LAN, MAN, WAN, WSN), per mezzo trasmissivo (aria, fibra, rame, luce visibile) e per topologia: bus (mezzo condiviso, collisioni), stella (nodo centrale, collo di bottiglia), anello (ogni nodo inoltra al successivo), maglia (collegamento diretto tra ogni coppia: $n(n-1)/2$ collegamenti). La scelta dipende da affidabilità, scalabilità, protocollo e mezzo fisico.Tipi di rete e topologie →): tutti gli scambi passano dal dispositivo primario, che controlla il collegamento e decide chi usa il canale e quando; è sempre il primario a iniziare e usa le funzioni poll e select per evitare collisioni. Difetto: se la stazione primaria si guasta, cade il sistema.
- Select (il primario ha qualcosa da inviare): il primario avvisa il secondario della trasmissione in arrivo con un frame SEL che contiene l'indirizzo del secondario, e aspetta un ACK che confermi che è pronto; poi invia i dati e il secondario risponde con un ACK.
- Poll (il primario vuole ricevere): chiede a ogni dispositivo se ha qualcosa da inviare; il secondario interrogato risponde con un NAK (niente da dire) oppure con i dati; con i dati il primario legge il frame e restituisce un ACK. Il walk time è il tempo per passare il controllo da una stazione alla successiva nel ciclo di polling.
Passaggio del testimone (token passing). Le stazioni sono organizzate in un anello logico, in cui ognuna ha un predecessore e un successore. Un pacchetto speciale, il token, circola sull'anello: possedere il token dà il diritto di accedere al canale. Una stazione con dati da inviare aspetta il token dal predecessore, lo trattiene e invia i dati, e a fine trasmissione lo rilascia passandolo al successore; una stazione senza dati passa subito il token. La gestione del token richiede di limitare il tempo di possesso (altrimenti una stazione monopolizza la rete) e di controllare che non sia perso o distrutto.
Canalizzazione
Il canale viene diviso tra le stazioni in modo fisso, per frequenza, tempo, codice o spazio.
| Metodo | Come divide il canale |
|---|---|
| FDMA (Frequency Division) | la banda disponibile è divisa in bande di frequenza; ogni banda è riservata a una stazione per tutto il tempo; filtri passabanda confinano le frequenze; adatta ai flussi continui (telefonia cellulare) |
| TDMA (Time Division) | le stazioni dividono nel tempo la banda del canale: a ognuna è assegnato uno slot; il problema è la sincronizzazione (ogni stazione deve conoscere inizio e posizione del proprio slot, difficile con grandi distanze per i ritardi di propagazione) |
| OFDMA (Orthogonal FDMA) | la banda è distribuita a utenti diversi nello stesso istante; sottoportanti assegnate a gruppi contigui; usata insieme al TDMA, le risorse sono divise nel piano tempo-frequenza (in 4G/5G ogni blocco è un Resource Block) |
| CDMA (Code Division) | ogni stazione usa tutta la banda e tutte trasmettono contemporaneamente, distinguendosi per codici speciali (come due persone che parlano in privato in una stanza piena usando una lingua che gli altri non capiscono) |
| SDMA (Space Division) | tutta la banda per tutto il tempo, ma gli utenti sono multiplati nello spazio con fasci direttivi (schiere di antenne): aree diverse riusano la stessa frequenza |
Esercizi collegati
Esercizio - ALOHA puro e slotted, Esercizio - Bitrate oltre il quale CSMA-CD non rileva le collisioni, Esercizio - Scelta del protocollo MAC su bus di 5 km, Esercizio - Collisione tra due stazioni CSMA 1-persistente e, per il bridge in una LAN Ethernet, Esercizio - Traffico massimo con bridge in una LAN 10Base-T.
Versione ripasso
- Il problema. Su un mezzo condiviso (di solito broadcast) il MAC decide quando una stazione trasmette. Il DLC (framing, errori, flusso) vale anche per i collegamenti punto-punto (Livello di collegamento e framingIl livello di collegamento (DLL) consegna un frame da un nodo a un nodo adiacente su un collegamento. Servizi: framing, accesso al mezzo (MAC) con indirizzi MAC a 48 bit, controllo di flusso, rilevazione e correzione degli errori. Si divide in DLC (framing, controllo di errore e di flusso) e MAC (accesso al mezzo condiviso). Il framing delimita i frame con un flag: nei protocolli a byte (flag di 8 bit, ESC) si usa il byte stuffing, in quelli a bit (flag 01111110) il bit stuffing, che inserisce uno 0 dopo ogni cinque 1 consecutivi.Livello di collegamento e framing →). Il frame MAC contiene DA (6 byte), SA (6 byte), controllo, informazione (LLC) e FCS (4 byte).
- Tre famiglie. Accesso casuale: ALOHA, slotted ALOHA, CSMA, CSMA/CD, CSMA/CA. Accesso controllato: prenotazione, polling, passaggio del testimone. Canalizzazione: FDMA, TDMA, OFDMA, CDMA, SDMA. Prestazioni: 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 →.
- Accesso casuale. Nessuna stazione è superiore e non c'è un istante prestabilito: se due trasmettono insieme c'è collisione. Ogni protocollo risponde a quattro domande: quando si accede, che fare se il mezzo è occupato, come si decide il successo, che fare in caso di conflitto.
ALOHA puro
- Algoritmo. Si trasmette appena c'è un frame, senza guardare il canale. Esito con ACK e timeout. Se manca l'ACK, backoff casuale e nuova trasmissione. Il backoff è casuale perché stazioni che aspettano lo stesso tempo si scontrerebbero di nuovo.
- Collisione. Basta un bit sovrapposto per distruggere entrambi i frame.
- Tempo vulnerabile : nessun altro frame deve partire da prima a dopo l'inizio.
- Esempio. Frame da 1000 bit a 1 Mbit/s, ms, partenza a ms: collide con ogni frame che parte tra 9 e 11 ms.
Slotted ALOHA
- Il tempo è diviso in slot di durata ; si parte solo a inizio slot (attesa media ). Due frame si sovrappongono del tutto o per niente.
- Tempo vulnerabile : il vulnerabile si dimezza. Il prezzo è la sincronizzazione.
- Throughput massimo. Circa per l'ALOHA puro e per lo slotted, cioè il doppio (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 →).
CSMA (listen before talk)
- Si ascolta il mezzo e si trasmette solo se libero. La collisione non si annulla: resta il ritardo di propagazione , perché il primo bit di un'altra stazione può non essere ancora arrivato.
- Tempo vulnerabile : dopo tutte le stazioni hanno sentito il frame e si astengono.
- Esempio. Bus di 2 km con m/s: s. Frame da 1000 bit a 10 Mbit/s: s, quindi . Il vulnerabile è s, contro s per l'ALOHA puro.
| variante | algoritmo | effetto |
|---|---|---|
| 1-persistent | ascolta di continuo; a canale libero trasmette subito (probabilità 1) | molte collisioni: più stazioni in attesa partono insieme |
| non persistent | ascolta una volta; se occupato aspetta un backoff casuale e riascolta | meno collisioni, ma il canale resta inattivo mentre ci sono frame in attesa |
| p-persistent | slot di durata ; a canale libero trasmette con probabilità , altrimenti aspetta lo slot successivo e riascolta; se occupato, backoff | meno collisioni e migliore efficienza |
CSMA/CD (Ethernet)
- Idea. Come il CSMA, ma durante la trasmissione si controlla il livello di energia sul canale. Se è coerente con il proprio frame va tutto bene; se è più alto c'è collisione: la trasmissione si interrompe e si invia un segnale di disturbo (jam) per avvertire le altre stazioni. Poi backoff casuale e nuovo tentativo.
- Perché serve un frame minimo. Caso peggiore: A inizia a ; B, all'altro estremo, inizia un istante prima che il segnale di A la raggiunga, cioè a . La collisione torna ad A a . Se A avesse già finito, crederebbe di aver avuto successo e non ritrasmetterebbe mai il frame.
- Formula. , cioè .
- Esempio. Mbit/s, s: s, quindi bit B, la lunghezza minima del frame Ethernet (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 →). Le slide scrivono s: è un refuso.
- Dipende da . Con Mbit/s, kbit, 200 m: ms, s, , e la collisione è rara. A 10 Gbit/s, e il CSMA/CD non regge.
CSMA/CA (Wi-Fi)
- Idea. Nelle reti senza fili non si può rilevare una collisione durante la trasmissione (la propria trasmissione copre ciò che si riceve): la si evita.
- IFS (Interframe Space). Il canale deve essere libero per prima di trasmettere; nello standard slot, con s e . Un IFS più corto dà priorità.
- Handshake a due vie. I dati vengono riscontrati con un ACK esplicito dopo . Poiché , l'ACK passa prima di qualsiasi nuovo frame. Se il frame fallisce, si ritrasmette (stop-and-wait) fino al successo o al numero massimo di tentativi.
- Backoff. Si sceglie un contatore uniforme in , con tempo e s. , raddoppia a ogni fallimento fino a (valori ). A ogni slot libero il contatore scende di uno; a canale occupato si congela; a si trasmette.
- Esempio. e s: attesa di s di canale libero. Chi ha il contatore più basso vince la contesa; chi ha atteso di più, con il contatore congelato, tende a passare prima la volta successiva.
- RTS/CTS e NAV (opzionali). Contro il terminale nascosto (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 →): 1) la sorgente manda RTS alla destinazione; 2) dopo solo la destinazione risponde con CTS, a tutti; 3) dopo partono i dati e dopo l'ACK; 4) le altre stazioni che sentono RTS o CTS impostano il NAV (Network Allocation Vector), un timer che indica quanto aspettare, anche se non sentono i dati. È un ascolto virtuale del canale.
Riepilogo ad accesso casuale
| protocollo | regola | periodo vulnerabile |
|---|---|---|
| ALOHA | nessuna regola | |
| Slotted ALOHA | partenza solo a inizio slot | |
| CSMA | ascolto prima di trasmettere | |
| CSMA/CD | come CSMA, con ascolto durante la trasmissione | (con ) |
| CSMA/CA | IFS, CW, ACK, RTS/CTS, NAV | (collisioni evitate, non rilevate) |
Accesso controllato
- Prenotazione. Il tempo è diviso in intervalli, ognuno con un frame di prenotazione e minislot, uno per stazione. Chi ha dati prenota nel suo minislot, poi trasmette. Nessuna collisione.
- Polling (Bluetooth). Una stazione primaria e le secondarie, in topologia a stella (Tipi di rete e topologieLe reti si classificano per estensione (BAN, WLAN, LAN, MAN, WAN, WSN), per mezzo trasmissivo (aria, fibra, rame, luce visibile) e per topologia: bus (mezzo condiviso, collisioni), stella (nodo centrale, collo di bottiglia), anello (ogni nodo inoltra al successivo), maglia (collegamento diretto tra ogni coppia: $n(n-1)/2$ collegamenti). La scelta dipende da affidabilità, scalabilità, protocollo e mezzo fisico.Tipi di rete e topologie →). Il primario fa select (avvisa con SEL, attende l'ACK, poi invia i dati) e poll (chiede a ciascuno: NAK se non ha nulla, dati altrimenti). Il walk time è il tempo per passare da una stazione alla successiva. Se il primario cade, cade tutta la rete.
- Token passing. Stazioni in anello logico; il token dà il diritto di trasmettere. Chi ha dati lo trattiene, trasmette e lo passa al successore; chi non ha dati lo passa subito. Serve limitare il tempo di possesso e monitorare la perdita del token.
Canalizzazione
- FDMA: bande di frequenza riservate per tutto il tempo (cellulari analogici). TDMA: slot temporali per stazione; difficile la sincronizzazione con grandi distanze. OFDMA: sottoportanti assegnate a gruppi di utenti nello stesso istante, combinate con il TDMA (4G/5G, Resource Block). CDMA: tutta la banda, con codici diversi per ogni stazione. SDMA: fasci direttivi di antenne, stessa frequenza in aree diverse.
- Errori tipici: credere che il CSMA elimini le collisioni (resta ); dimenticare che il CSMA/CD richiede ; confondere RTS/CTS (riserva il canale) con l'ACK (conferma il frame); usare lo stesso backoff per tutte le stazioni.