Salta al contenuto
Note per Studenti Prestazioni dei protocolli di accesso - ALOHA, CSMA, TDMA e FDMA

Prestazioni dei protocolli di accesso - ALOHA, CSMA, TDMA e FDMA

In questa pagina 7
In questa pagina 6

Questa nota calcola il throughput e il ritardo dei protocolli descritti in 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 →, con 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 →. La stessa analisi, nella versione del corso di comunicazioni, è 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 →. Servono la probabilità di Poisson con k=0k=0 (Distribuzione di PoissonPoi(λ) conta eventi rari: P(X = k) = e^(−λ) λ^k / k! per k = 0, 1, 2, …, con media e varianza entrambe uguali a λ; approssima la binomiale Bin(n, p) quando n è grande e p piccolo, con λ = np.Distribuzione di Poisson →), la distribuzione geometrica (Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →) e l'esponenziale (Distribuzioni uniforme continua ed esponenzialeU(a, b) ha densità costante 1/(b − a) su [a, b], media (a + b)/2 e varianza (b − a)²/12; Exp(λ) ha densità λe^(−λx) per x ≥ 0, FdD 1 − e^(−λx), P(X > t) = e^(−λt), media 1/λ, varianza 1/λ², ed è l'unica legge continua senza memoria (versione continua della geometrica).Distribuzioni uniforme continua ed esponenziale →).

Simboli

Grandezza Simbolo Unità
Numero di stazioni NuN_u clienti
Tempo di propagazione τp\tau_p s
Dimensione del frame (PDU dati, costante) FF bit
Tempo di trasmissione del frame (costante) tF=F/Rt_F=F/R s
Timeout tot_o s
Tasso di arrivo dei frame nuovi (processo di Poisson, PP) λ\lambda frame/s
Tempo di backoff dopo una collisione tbt_b s
Frame nuovi più ritrasmessi (modellati come PP) λ′≥λ\lambda'\ge\lambda frame/s
Tasso di servizio (costante) μ=1/tF\mu=1/t_F frame/s

L'ipotesi del modello è che l'insieme dei frame nuovi e di quelli ritrasmessi dopo una collisione formi ancora un processo di Poisson di tasso λ′\lambda' (Somma di Poisson indipendenti e processo di PoissonSe X ~ Po(λ) e Y ~ Po(μ) sono indipendenti, X + Y ~ Po(λ + μ). Un processo di Poisson di intensità λ (eventi per unità di tempo) è una famiglia {Xₜ} in cui Xₜ ~ Po(λt) conta gli eventi in [0, t], gli incrementi X_{t+τ} − Xₜ ~ Po(λτ) dipendono solo dalla lunghezza τ dell'intervallo, e incrementi su intervalli disgiunti sono indipendenti. Quindi il numero di eventi in un intervallo non dipende da quanti ne sono avvenuti prima; la probabilità di nessun evento in un tempo τ è e^{−λτ}.Somma di Poisson indipendenti e processo di Poisson →). È un'approssimazione, ma rende i conti trattabili.

ALOHA puro

Si definiscono tre metriche:

Definizione (metriche del protocollo ad accesso casuale).

  • Traffico offerto GG: numero medio di frame (nuovi e ritrasmessi) che arrivano in un tempo di servizio, G=λ′μ=λ′tFG=\dfrac{\lambda'}{\mu}=\lambda't_F.
  • Probabilità di successo PSP_S: probabilità che una trasmissione abbia successo, PS=λλ′=arrivi nuovi/sarrivi totali/s (nuovi + ritrasmessi)P_S=\dfrac{\lambda}{\lambda'}=\dfrac{\text{arrivi nuovi/s}}{\text{arrivi totali/s (nuovi + ritrasmessi)}}.
  • Throughput SS: numero medio di frame trasmessi con successo in un tempo di frame, S=GPS=λtFS=GP_S=\lambda t_F.

L'ultima uguaglianza ha un senso fisico: a regime tutti i frame nuovi alla fine passano, quindi i frame consegnati con successo al secondo sono λ\lambda, e normalizzati sul tempo di frame danno λtF\lambda t_F (=S=S, il traffico utile della teoria delle code).

Throughput

Un frame trasmesso all'istante tt ha successo se nessun altro frame (nuovo o ritrasmesso) arriva durante il periodo vulnerabile [t−tF, t+tF][t-t_F,\,t+t_F] di durata 2tF2t_F: un frame partito prima di t−tFt-t_F è già finito prima che inizi il nostro, uno partito dopo t+tFt+t_F comincia quando il nostro è finito; ogni altro frame lo sovrappone almeno in parte. Il numero di arrivi in un intervallo di durata TT è di Poisson con media λ′T\lambda'T, e la probabilità di zero arrivi (formula di Poisson con k=0k=0, (λ′T)00!e−λ′T=e−λ′T\frac{(\lambda'T)^0}{0!}e^{-\lambda'T}=e^{-\lambda'T}) è e−λ′Te^{-\lambda'T}. I due mezzi intervalli sono disgiunti, quindi gli arrivi in ciascuno sono indipendenti e le probabilità si moltiplicano (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 →): PS=P[N(t−tF,t)=0, N(t,t+tF)=0]=e−λ′tF⋅e−λ′tF=e−λ′ 2tF=e−2G,P_S=P[N(t-t_F,t)=0,\ N(t,t+t_F)=0]=e^{-\lambda't_F}\cdot e^{-\lambda't_F}=e^{-\lambda'\,2t_F}=e^{-2G}, dove si è usato G=λ′tFG=\lambda't_F.

Formula (throughput dell'ALOHA puro). S=G PS=G e−2G.S=G\,P_S=G\,e^{-2G}.

Il massimo si trova derivando (Massimi e minimi relativi e teorema di Fermatx0 è punto di minimo (massimo) relativo se f(x0) ≤ f(x) (≥) per gli x del dominio vicini a x0. I candidati sono gli estremi del dominio, i punti dove f non è derivabile e i punti interni con f'(x0) = 0 (punti critici o stazionari). Teorema di Fermat: in un punto interno di minimo o massimo relativo dove f è derivabile, f'(x0) = 0. È solo una condizione necessaria: x³ in 0.Massimi e minimi relativi e teorema di Fermat →). Per la regola del prodotto (Regole di derivazioneDerivate delle funzioni elementari e delle loro inverse (arcsin, arctan, settcosh...) e regole di calcolo: linearità, prodotto (Leibniz), quoziente, funzione composta (regola della catena), funzione inversa, f(x)^g(x).Regole di derivazione →) e la derivata dell'esponenziale composto ddGe−2G=−2e−2G\frac{d}{dG}e^{-2G}=-2e^{-2G}: d(Ge−2G)dG=1⋅e−2G+G⋅(−2)e−2G=e−2G(1−2G)=0 ⇒ G=12,\frac{d(Ge^{-2G})}{dG}=1\cdot e^{-2G}+G\cdot(-2)e^{-2G}=e^{-2G}(1-2G)=0\ \Rightarrow\ G=\frac12, perché e−2Ge^{-2G} non si annulla mai. La derivata è positiva per G<12G<\frac12 e negativa dopo, quindi è un massimo, e vale Smax=12e−1=12e≃0,184.S_{max}=\frac12e^{-1}=\frac1{2e}\simeq0{,}184.

Esempio. Con G=0,5G=0{,}5: PS=e−1=0,368P_S=e^{-1}=0{,}368 e S=0,5⋅0,368=0,184S=0{,}5\cdot0{,}368=0{,}184, il canale è sfruttato al 18,4 %18{,}4\,\%: su un canale a 11 Mbit/s si consegnano al massimo 184184 kbit/s utili (0,184⋅10{,}184\cdot1 Mbit/s). Con G=0,1G=0{,}1 (carico basso) PS=e−0,2=0,819P_S=e^{-0{,}2}=0{,}819 e S=0,1⋅0,819=0,082S=0{,}1\cdot0{,}819=0{,}082: quasi tutto ciò che arriva passa, ma il 18 %18\,\% dei tentativi (1−e−0,2=0,1811-e^{-0{,}2}=0{,}181) si scontra. Con G=2G=2 (carico alto) PS=e−4=0,018P_S=e^{-4}=0{,}018 e S=2⋅0,018=0,037S=2\cdot0{,}018=0{,}037: il canale è sommerso da collisioni.

Ritardo

Il numero medio di trasmissioni necessarie per consegnare un frame: ogni trasmissione ha probabilità di successo PSP_S, quindi nn è geometrico (le prime n−1n-1 falliscono, l'ultima riesce): E[ntx]=∑n=1+∞n(1−PS)n−1PS=1PS,E[nretx]=E[ntx]−1=1−PSPS=e2G−1.(∗1)E[n_{tx}]=\sum_{n=1}^{+\infty}n(1-P_S)^{n-1}P_S=\frac1{P_S},\qquad E[n_{retx}]=E[n_{tx}]-1=\frac{1-P_S}{P_S}=e^{2G}-1.\qquad(*1) La somma è il valore atteso di una variabile geometrica (Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →): posto q=1−PSq=1-P_S, si usa ∑n≥1nqn−1=ddq11−q=1(1−q)2=1PS2\sum_{n\ge1}nq^{n-1}=\frac{d}{dq}\frac1{1-q}=\frac1{(1-q)^2}=\frac1{P_S^2} (Serie notevoli - geometrica, telescopica, armonicaLe serie di cui si conosce il carattere e da usare come termine di paragone: geometrica (converge a 1/(1-q) se |q|<1), telescopiche (somma b_1 - lim b_n, come Mengoli), armonica generalizzata (1/n^alpha converge se e solo se alpha>1).Serie notevoli - geometrica, telescopica, armonica →), e moltiplicando per PSP_S resta 1/PS1/P_S. Per l'ALOHA puro 1/PS=e2G1/P_S=e^{2G}. Il ritardo totale è la trasmissione riuscita (tF+τpt_F+\tau_p) più, per ogni ritrasmissione, la trasmissione fallita (tFt_F), l'attesa del NACK o del timeout (round-trip di propagazione 2τp2\tau_p) e il backoff medio E[tb]E[t_b]:

Formula (ritardo medio dell'ALOHA puro). E[T]=tF+τp+E[nretx](tF+2τp+E[tb])=tF+τp+(e2G−1)(tF+2τp+E[tb]).E[T]=t_F+\tau_p+E[n_{retx}](t_F+2\tau_p+E[t_b])=t_F+\tau_p+(e^{2G}-1)(t_F+2\tau_p+E[t_b]).

Esempio. tF=1t_F=1 ms, τp=0,1\tau_p=0{,}1 ms, E[tb]=5E[t_b]=5 ms.

GG S=Ge−2GS=Ge^{-2G} E[nretx]=e2G−1E[n_{retx}]=e^{2G}-1 E[T]E[T]
0,10{,}1 0,0820{,}082 0,2210{,}221 1,1+0,221⋅6,2=2,471{,}1+0{,}221\cdot6{,}2=2{,}47 ms
0,250{,}25 0,1520{,}152 0,6490{,}649 1,1+0,649⋅6,2=5,121{,}1+0{,}649\cdot6{,}2=5{,}12 ms
0,50{,}5 0,1840{,}184 1,7181{,}718 1,1+1,718⋅6,2=11,751{,}1+1{,}718\cdot6{,}2=11{,}75 ms

(il termine tF+2τp+E[tb]=1+0,2+5=6,2t_F+2\tau_p+E[t_b]=1+0{,}2+5=6{,}2 ms; la parte fissa è tF+τp=1,1t_F+\tau_p=1{,}1 ms; per G=0,25G=0{,}25, per esempio, E[nretx]=e0,5−1=0,649E[n_{retx}]=e^{0{,}5}-1=0{,}649 e E[T]=1,1+0,649⋅6,2=5,12E[T]=1{,}1+0{,}649\cdot6{,}2=5{,}12 ms). Il ritardo cresce in fretta all'aumentare del carico, già prima del massimo di throughput.

Slotted ALOHA

Il periodo vulnerabile è un solo tFt_F (il frame non soffre collisione se nessun altro frame è stato generato nello slot precedente il suo inizio): PS=P[N(t−tF,t)=0]=e−λ′tF=e−G.P_S=P[N(t-t_F,t)=0]=e^{-\lambda't_F}=e^{-G}.

Formula (throughput dello slotted ALOHA). S=G PS=G e−G,dSdG=e−G(1−G)=0 ⇒ G=1,Smax=1e≃0,37.S=G\,P_S=G\,e^{-G},\qquad\frac{dS}{dG}=e^{-G}(1-G)=0\ \Rightarrow\ G=1,\quad S_{max}=\frac1e\simeq0{,}37.

Derivata col prodotto, come sopra: ddG(Ge−G)=e−G−Ge−G=e−G(1−G)\frac{d}{dG}(Ge^{-G})=e^{-G}-Ge^{-G}=e^{-G}(1-G). Il valore massimo raddoppia rispetto all'ALOHA puro (1e=2⋅12e\frac1e=2\cdot\frac1{2e}), e si ottiene per un carico offerto doppio (G=1G=1 contro G=12G=\frac12).

Ritardo. Rispetto all'ALOHA puro, ogni (ri)trasmissione aspetta in media mezzo slot, E[W]=tF/2E[W]=t_F/2, prima di partire a inizio slot: E[T]=E[W]+tF+τp+1−PSPS(E[W]+tF+2τp+E[tb])=3tF2+τp+(eG−1)(3tF2+2τp+E[tb]).E[T]=E[W]+t_F+\tau_p+\frac{1-P_S}{P_S}\big(E[W]+t_F+2\tau_p+E[t_b]\big)=\frac{3t_F}2+\tau_p+(e^{G}-1)\Big(\frac{3t_F}2+2\tau_p+E[t_b]\Big).

Esempio. Gli stessi dati dell'ALOHA puro: G=0,1G=0{,}1 dà E[T]=1,5+0,1+0,105⋅(1,5+0,2+5)=2,30E[T]=1{,}5+0{,}1+0{,}105\cdot(1{,}5+0{,}2+5)=2{,}30 ms (contro 2,472{,}47 ms dell'ALOHA puro); G=0,5G=0{,}5 dà 5,955{,}95 ms (contro 11,7511{,}75); G=1G=1 dà 13,113{,}1 ms. A basso carico lo slotted ha un ritardo maggiore per via dell'attesa dello slot, ma poi cresce molto più lentamente: conta il numero di collisioni. Per esempio per G=0,5G=0{,}5: parte fissa 3tF2+τp=1,5+0,1=1,6\frac{3t_F}{2}+\tau_p=1{,}5+0{,}1=1{,}6 ms, ritrasmissioni e0,5−1=0,649e^{0{,}5}-1=0{,}649, costo di ciascuna 1,5+0,2+5=6,71{,}5+0{,}2+5=6{,}7 ms, quindi E[T]=1,6+0,649⋅6,7=5,95E[T]=1{,}6+0{,}649\cdot6{,}7=5{,}95 ms.

Grafico interattivo: Ritardo medio E[T] in funzione del carico offerto G (tF = 1 ms, τp = 0,1 ms, backoff medio 5 ms): a G piccolo lo slotted ha più ritardo (1,6 ms contro 1,1 ms per G → 0), ma cresce molto più piano (13,1 ms contro 40,7 ms in G = 1)

Attenzione: il confronto è a parità di GG, non di SS; a parità di throughput utile (per esempio S=0,18S=0{,}18) lo slotted ha un carico GG più basso e quindi un vantaggio ancora maggiore.

Grafico interattivo: Throughput S in funzione del carico offerto G: ALOHA puro S = G e^(−2G) (massimo 0,18 in G = 0,5) e slotted ALOHA S = G e^(−G) (massimo 0,37 in G = 1)

Dopo il massimo il throughput diminuisce all'aumentare del carico: troppi frame si distruggono a vicenda e ne vengono ritrasmessi ancora di più.

Stabilità: i due punti di funzionamento

Il carico offerto GG non è un dato: dipende anche dalle ritrasmissioni. A regime il throughput deve uguagliare il tasso di arrivo normalizzato λtF\lambda t_F: i punti di funzionamento sono le intersezioni della curva S(G)S(G) con la retta orizzontale S=λtFS=\lambda t_F.

Se λtF<Smax\lambda t_F<S_{max} ci sono due intersezioni, G1<G2G_1<G_2:

  • in G1G_1 (carico basso) il punto è stabile: se GG sale un po', S>λtFS>\lambda t_F (il sistema smaltisce più frame di quelli che arrivano) e il carico torna giù; è un punto che richiama il sistema;
  • in G2G_2 (carico alto) il punto è instabile: oltre G2G_2 il throughput SS è inferiore al tasso di arrivo, la coda dei frame da (ri)trasmettere cresce e il carico continua a salire: è la regione di instabilità, in cui il throughput tende a 00.

Esempio (slotted ALOHA). Con λtF=0,12\lambda t_F=0{,}12 frame per slot: Ge−G=0,12Ge^{-G}=0{,}12 ha le due soluzioni G1=0,138G_1=0{,}138 e G2=3,32G_2=3{,}32. L'equazione non si risolve con formule elementari; si trova per tentativi o per iterazione. Ramo basso: G=0,12eGG=0{,}12e^{G} partendo da G=0,12G=0{,}12 dà 0,135, 0,1374, 0,1377→0,1380{,}135,\ 0{,}1374,\ 0{,}1377\to0{,}138. Ramo alto: G=ln⁡(G/0,12)G=\ln(G/0{,}12) partendo da 33 dà 3,22, 3,29, 3,31→3,323{,}22,\ 3{,}29,\ 3{,}31\to3{,}32. Il sistema vive in G1G_1: PS=e−0,138=0,871P_S=e^{-0{,}138}=0{,}871 (il 12,9 %12{,}9\,\% dei tentativi si scontra). Un picco di traffico che lo spinga oltre G2=3,32G_2=3{,}32 lo manda in blocco. Se λtF>1/e=0,368\lambda t_F>1/e=0{,}368 non esiste nessuna intersezione: il sistema non è mai stabile.

Grafico interattivo: Punti di funzionamento dello slotted ALOHA con λ·tF = 0,12: la retta orizzontale S = 0,12 incontra la curva S = G e^(−G) in G1 = 0,138 (stabile) e in G2 = 3,32 (instabile); il massimo della curva è 1/e = 0,368 in G = 1

CSMA (non persistente)

Si analizza con il tempo diviso in cicli: ogni ciclo è un periodo di occupazione (busy period, BB, c'è attività sul canale) seguito da un periodo di inattività (idle period, II, il canale è libero). Si definisce il ritardo di propagazione normalizzato a=τ~p=τptF.a=\tilde\tau_p=\frac{\tau_p}{t_F}.

Periodo di inattività. I frame (nuovi e ritrasmessi) arrivano con processo di Poisson di tasso λ′\lambda', quindi il tempo tra due arrivi, cioè la durata del periodo di inattività, è esponenziale di parametro λ′\lambda' (Distribuzioni uniforme continua ed esponenzialeU(a, b) ha densità costante 1/(b − a) su [a, b], media (a + b)/2 e varianza (b − a)²/12; Exp(λ) ha densità λe^(−λx) per x ≥ 0, FdD 1 − e^(−λx), P(X > t) = e^(−λt), media 1/λ, varianza 1/λ², ed è l'unica legge continua senza memoria (versione continua della geometrica).Distribuzioni uniforme continua ed esponenziale →) e vale in media mI=∫0∞τλ′e−λ′τdτ=1λ′=tFG(da G=λ′tF⇒1/λ′=tF/G).m_I=\int_0^\infty\tau\lambda'e^{-\lambda'\tau}d\tau=\frac1{\lambda'}=\frac{t_F}{G}\qquad(\text{da }G=\lambda't_F\Rightarrow1/\lambda'=t_F/G).

Periodo di occupazione utile. Un periodo di occupazione è riuscito (BP-S) se in esso passa un solo frame, in collisione (BP-C) se ne passano più di uno. Un periodo che inizia in tt ha successo se nessun altro frame arriva nel tempo vulnerabile τp\tau_p: PBP−S=P[N(t,t+τp)=0]=e−λ′τp=e−Ga,PBP−C=1−e−Ga.P_{BP-S}=P[N(t,t+\tau_p)=0]=e^{-\lambda'\tau_p}=e^{-Ga},\qquad P_{BP-C}=1-e^{-Ga}. La parte utile UU del periodo vale tFt_F se riuscito e 00 se in collisione, quindi mU=tFPBP−S+0⋅PBP−C=tFe−Ga.m_U=t_FP_{BP-S}+0\cdot P_{BP-C}=t_Fe^{-Ga}.

Periodo riuscito. Dura il frame più la sua propagazione: mBP−S=tF+τpm_{BP-S}=t_F+\tau_p.

Periodo in collisione. Sia YY il tempo tra la partenza del primo e quella dell'ultimo frame del periodo: Y∈[0,τp]Y\in[0,\tau_p] perché dopo τp\tau_p tutte le stazioni hanno sentito la trasmissione e non partono più. Il periodo dura Y+tF+τpY+t_F+\tau_p. La distribuzione di YY è la probabilità che nell'intervallo [t+y,t+τp][t+y,t+\tau_p] (lungo τp−y\tau_p-y) non arrivi nessun frame: PY(y)=P[Y≤y]=e−λ′(τp−y), 0≤y≤τp,pY(y)=λ′e−λ′(τp−y),P_Y(y)=P[Y\le y]=e^{-\lambda'(\tau_p-y)},\ 0\le y\le\tau_p,\qquad p_Y(y)=\lambda'e^{-\lambda'(\tau_p-y)}, E[Y]=∫0τpy pY(y) dy=τp−1−e−λ′τpλ′=tF(a−1−e−aGG).E[Y]=\int_0^{\tau_p}y\,p_Y(y)\,dy=\tau_p-\frac{1-e^{-\lambda'\tau_p}}{\lambda'}=t_F\left(a-\frac{1-e^{-aG}}G\right). Il calcolo dell'integrale: per parti (Integrazione per parti∫ f·g' dx = f·g − ∫ f'·g dx (regola del prodotto letta al contrario). Si usa per log x, arcsin x, arctan x (scritti come "funzione per 1"), per sin²x, cos²x, sinh²x, cosh²x (integrale circolare: l'integrale di partenza ricompare e si porta a sinistra) e per prodotti come x^n·e^(αx), x^n·sin(βx), e^(αx)·sin(βx).Integrazione per parti →), con u=yu=y e dv=λ′e−λ′(τp−y)dydv=\lambda'e^{-\lambda'(\tau_p-y)}dy (quindi v=e−λ′(τp−y)v=e^{-\lambda'(\tau_p-y)}), ∫0τpy λ′e−λ′(τp−y)dy=[y e−λ′(τp−y)]0τp−∫0τpe−λ′(τp−y)dy=τp−1−e−λ′τpλ′.\int_0^{\tau_p}y\,\lambda'e^{-\lambda'(\tau_p-y)}dy=\Big[y\,e^{-\lambda'(\tau_p-y)}\Big]_0^{\tau_p}-\int_0^{\tau_p}e^{-\lambda'(\tau_p-y)}dy=\tau_p-\frac{1-e^{-\lambda'\tau_p}}{\lambda'}. Nell'ultimo passaggio si sostituiscono τp=atF\tau_p=at_F e λ′=G/tF\lambda'=G/t_F, per cui λ′τp=aG\lambda'\tau_p=aG e 1/λ′=tF/G1/\lambda'=t_F/G.

Durata media del periodo di occupazione. Mediando tra i due casi: mB=mBP−SPBP−S+(E[Y∣BP-C]+tF+τp)PBP−C=(tF+τp)⋅1+E[Y] ,m_B=m_{BP-S}P_{BP-S}+\big(E[Y|BP\text{-}C]+t_F+\tau_p\big)P_{BP-C}=(t_F+\tau_p)\cdot1+E[Y]\,, perché E[Y∣BP-C]PBP−C=E[Y]E[Y|BP\text{-}C]P_{BP-C}=E[Y] (valore medio non condizionato) e PBP−S+PBP−C=1P_{BP-S}+P_{BP-C}=1. Quindi mB=tF+τp+E[Y]=tF(1+a+a−1−e−aGG)=tF(1+2a−1−e−aGG).m_B=t_F+\tau_p+E[Y]=t_F\left(1+a+a-\frac{1-e^{-aG}}G\right)=t_F\left(1+2a-\frac{1-e^{-aG}}G\right).

Formula (throughput del CSMA non persistente). Il throughput è il tempo utile medio per ciclo diviso la durata media del ciclo mB+mIm_B+m_I: S=mUmB+mI=tFe−aGtF(1+2a−1−e−aGG)+tFG=G e−aGG(1+2a)+e−aG.S=\frac{m_U}{m_B+m_I}=\frac{t_Fe^{-aG}}{t_F\left(1+2a-\frac{1-e^{-aG}}G\right)+\frac{t_F}G}=\frac{G\,e^{-aG}}{G(1+2a)+e^{-aG}}.

Passaggio al risultato: nel denominatore si raccoglie tFt_F e le due frazioni con GG si sommano, −1−e−aGG+1G=e−aGG-\frac{1-e^{-aG}}G+\frac1G=\frac{e^{-aG}}G, quindi il denominatore vale tF(1+2a+e−aGG)t_F\left(1+2a+\frac{e^{-aG}}G\right); si semplifica tFt_F e si moltiplicano numeratore e denominatore per GG.

Casi estremi: con a→0a\to0 (propagazione trascurabile) S=GG+1→1S=\frac G{G+1}\to1 per GG grande: il CSMA riempie il canale. Con aa grande la propagazione si fa sentire e SS cala, come per l'ALOHA.

Esempio. a=0,1a=0{,}1, G=1G=1: 1+2a=1,21+2a=1{,}2 e e−aG=e−0,1=0,9048e^{-aG}=e^{-0{,}1}=0{,}9048, quindi S=e−0,11⋅1,2+e−0,1=0,90482,1048=0,430S=\dfrac{e^{-0{,}1}}{1\cdot1{,}2+e^{-0{,}1}}=\dfrac{0{,}9048}{2{,}1048}=0{,}430. Con a=0,01a=0{,}01: S=0,493S=0{,}493; con a=1a=1: S=0,109S=0{,}109.

Grafico interattivo: Throughput normalizzato del CSMA non persistente per diversi ritardi di propagazione normalizzati a = τp/tF, confrontato con lo slotted ALOHA (asse G in scala logaritmica)

Il massimo del CSMA (calcolato numericamente) dipende da aa:

a=τp/tFa=\tau_p/t_F 0,0010{,}001 0,010{,}01 0,10{,}1 11 1010
SmaxS_{max} 0,940{,}94 (in G≈31G\approx31) 0,820{,}82 (G≈9,4G\approx9{,}4) 0,520{,}52 (G≈2,5G\approx2{,}5) 0,140{,}14 (G≈0,46G\approx0{,}46) 0,0180{,}018 (G≈0,05G\approx0{,}05)

Per a=1a=1 il CSMA ha un picco 0,140{,}14, inferiore a quello dello slotted ALOHA (0,370{,}37), e per a=10a=10 crolla a 0,0180{,}018, inferiore anche all'ALOHA puro (0,180{,}18). Il confronto con lo slotted ALOHA dipende quindi da aa:

  • ritardo di propagazione piccolo rispetto a tFt_F (per esempio a=0,01a=0{,}01): il CSMA va meglio dello slotted ALOHA;
  • ritardo di propagazione grande (per esempio a=1a=1): lo slotted ALOHA va meglio, perché con una propagazione lunga l'ascolto dà un'informazione vecchia e quindi inutile.

Ritardo del CSMA

Il ritardo totale ha tre parti: il tempo per trasmettere i pacchetti (con tutti i fallimenti da collisione), la propagazione e l'attesa che il canale diventi libero durante l'ascolto.

In un ciclo ci sono mB−τpm_B-\tau_p secondi in cui il canale può essere trovato occupato, quindi Pbusy=mB−τpmB+mI=G(1+a)−(1−e−aG)G(1+2a)+e−aG.P_{busy}=\frac{m_B-\tau_p}{m_B+m_I}=\frac{G(1+a)-(1-e^{-aG})}{G(1+2a)+e^{-aG}}. (Si ottiene dividendo per tFt_F e moltiplicando per GG numeratore e denominatore: mB−τp=tF(1+a−1−e−aGG)m_B-\tau_p=t_F\left(1+a-\frac{1-e^{-aG}}G\right).) Quando il canale è occupato (o dopo una collisione) si aspetta un backoff tbt_b esponenziale di parametro β\beta, E[tb]=1/βE[t_b]=1/\beta. Il numero di volte che il canale è trovato occupato prima di trovarlo libero è geometrico (Distribuzione geometricaGeo(p) è il numero della prova in cui arriva il primo successo in prove indipendenti: P(X = n) = (1−p)^(n−1) p per n ≥ 1, P(X > n) = (1−p)^n (lunga attesa), media 1/p, varianza (1−p)/p², ed è senza memoria.Distribuzione geometrica →) con probabilità PbusyP_{busy} di «insuccesso»: P[i attese]=Pbusy i(1−Pbusy)P[i\text{ attese}]=P_{busy}^{\,i}(1-P_{busy}), e ogni attesa dura in media E[tb]E[t_b]. Quindi l'attesa media prima di trasmettere è E[W]=∑i=0+∞i E[tb] Pbusy i(1−Pbusy)=1β⋅Pbusy1−Pbusy.E[W]=\sum_{i=0}^{+\infty}i\,E[t_b]\,P_{busy}^{\,i}(1-P_{busy})=\frac1\beta\cdot\frac{P_{busy}}{1-P_{busy}}. Il numero medio di ritrasmissioni è (da (∗1)(*1) con PS=S/GP_S=S/G): E[nretx]=1−PSPS=GS−1.E[n_{retx}]=\frac{1-P_S}{P_S}=\frac{G}{S}-1.

Formula (ritardo medio del CSMA non persistente). E[T]=E[W]+tF+τp+(GS−1)(E[W]+tF+2τp+E[tb]).E[T]=E[W]+t_F+\tau_p+\left(\frac GS-1\right)\big(E[W]+t_F+2\tau_p+E[t_b]\big).

Il primo gruppo è l'ultima trasmissione (andata a buon fine): attesa del canale libero, trasmissione e propagazione. Ogni ritrasmissione costa: attesa del canale libero, trasmissione, andata e ritorno di propagazione (per accorgersi del fallimento), backoff.

Esempio. tF=1t_F=1 ms, τp=0,1\tau_p=0{,}1 ms (a=0,1a=0{,}1), E[tb]=5E[t_b]=5 ms, G=1G=1. Passo per passo:

  • S=0,430S=0{,}430 (calcolato sopra);
  • mB=tF(1+0,2−(1−e−0,1))=1,2−0,0952=1,105m_B=t_F\left(1+0{,}2-(1-e^{-0{,}1})\right)=1{,}2-0{,}0952=1{,}105 ms e mI=tF/G=1m_I=t_F/G=1 ms;
  • Pbusy=(mB−τp)/(mB+mI)=1,005/2,105=0,477P_{busy}=(m_B-\tau_p)/(m_B+m_I)=1{,}005/2{,}105=0{,}477;
  • E[W]=5⋅0,477/(1−0,477)=5⋅0,477/0,523=4,57E[W]=5\cdot0{,}477/(1-0{,}477)=5\cdot0{,}477/0{,}523=4{,}57 ms;
  • ritrasmissioni medie G/S−1=1/0,430−1=1,33G/S-1=1/0{,}430-1=1{,}33;
  • E[T]=4,57+1+0,1+1,33⋅(4,57+1+0,2+5)=5,67+1,33⋅10,77≈19,9E[T]=4{,}57+1+0{,}1+1{,}33\cdot(4{,}57+1+0{,}2+5)=5{,}67+1{,}33\cdot10{,}77\approx19{,}9 ms (senza arrotondamenti intermedi 19,94719{,}947; con i valori arrotondati qui sopra si ottiene 19,9919{,}99).

La figura delle slide mette in relazione E[T]/tFE[T]/t_F con SS per CSMA e slotted ALOHA: per a=0,01a=0{,}01 il CSMA ha ritardo minore a parità di throughput; per a=1a=1 vale il contrario. Le curve tornano indietro perché a ogni SS corrispondono due valori di GG (il ramo instabile).

TDMA (coda M/D/1)

Definizione (TDMA). L'asse del tempo è diviso in slot di uguale durata, preassegnati agli NuN_u utenti; ogni utente può trasmettere liberamente nel suo slot, in cui dispone dell'intero bitrate RR. L'assegnazione segue uno schema periodico (la trama TDMA: 1,2,…,Nu1,2,\dots,N_u). Il tempo di trasmissione del pacchetto coincide con la durata dello slot: tF=F/Rt_F=F/R.

Throughput. Ogni utente ha arrivi di Poisson di tasso λ\lambda; il tasso totale è λt=Nuλ\lambda_t=N_u\lambda. Se la coda di ogni utente è stabile: S=G=ρ=λtμ=Nuλμ=NuλtF.S=G=\rho=\frac{\lambda_t}\mu=\frac{N_u\lambda}{\mu}=N_u\lambda t_F. Il TDMA non ha collisioni: il throughput è uguale al carico finché ρ<1\rho<1, e S≤1S\le1 (non c'è picco né calo).

Ritardo. Per un utente fissato: dopo aver trasmesso deve aspettare Nu−1N_u-1 slot prima del turno successivo, quindi serve in modo costante un pacchetto per trama: E[y]=1μ=NutF ⇒ μ=1NutF pacchetti/s.E[y]=\frac1\mu=N_ut_F\ \Rightarrow\ \mu=\frac1{N_ut_F}\ \text{pacchetti/s}. L'attesa in coda è quella di una M/G/1 con servizio costante (formula di Pollaczek-Khinchin, 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 →): E[w]=ρ2μ(1−ρ)=S NutF2(1−S).E[w]=\frac{\rho}{2\mu(1-\rho)}=\frac{S\,N_ut_F}{2(1-S)}. Qui il tempo di servizio è costante, quindi vale la formula della M/D/1 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 → con 1/μ=NutF1/\mu=N_ut_F. Il ritardo E[T]E[T] ha quattro contributi:

  1. attesa dello slot: quando arriva un pacchetto, il suo istante di arrivo cade a caso nella trama di durata NutFN_ut_F (uniforme: Distribuzioni uniforme continua ed esponenzialeU(a, b) ha densità costante 1/(b − a) su [a, b], media (a + b)/2 e varianza (b − a)²/12; Exp(λ) ha densità λe^(−λx) per x ≥ 0, FdD 1 − e^(−λx), P(X > t) = e^(−λt), media 1/λ, varianza 1/λ², ed è l'unica legge continua senza memoria (versione continua della geometrica).Distribuzioni uniforme continua ed esponenziale →), quindi si aspetta in media mezza trama, NutF2\dfrac{N_ut_F}2, prima che il turno torni all'utente;
  2. attesa in coda E[w]=SNutF2(1−S)E[w]=\dfrac{SN_ut_F}{2(1-S)}, dovuta ai pacchetti già presenti;
  3. il tempo di trasmissione tFt_F;
  4. la propagazione finale τp\tau_p.

Formula (ritardo medio del TDMA). E[T]=NutF2+SNutF2(1−S)+tF+τp=tF(Nu2+SNu2(1−S)+1+a).E[T]=\frac{N_ut_F}2+\frac{SN_ut_F}{2(1-S)}+t_F+\tau_p=t_F\left(\frac{N_u}2+\frac{SN_u}{2(1-S)}+1+a\right).

Esempio. Nu=10N_u=10 utenti, tF=1t_F=1 ms, a≈0a\approx0, carico S=0,5S=0{,}5: attesa dello slot Nu/2=5N_u/2=5, attesa in coda 10⋅0,52⋅(1−0,5)=51=5\dfrac{10\cdot0{,}5}{2\cdot(1-0{,}5)}=\dfrac{5}{1}=5, trasmissione 11, quindi E[T]/tF=5+5+1=11E[T]/t_F=5+5+1=11, cioè E[T]=11E[T]=11 ms. A basso carico (S=0,1S=0{,}1) E[T]/tF=5+10⋅0,12⋅0,9+1=5+0,56+1=6,56E[T]/t_F=5+\dfrac{10\cdot0{,}1}{2\cdot0{,}9}+1=5+0{,}56+1=6{,}56; con S=0,9S=0{,}9 la coda pesa 10⋅0,92⋅0,1=45\dfrac{10\cdot0{,}9}{2\cdot0{,}1}=45 e si arriva a 5+45+1=515+45+1=51.

FDMA (coda M/G/1)

Definizione (FDMA). La banda disponibile è divisa in sottobande disgiunte, assegnate ciascuna a un utente. Il sistema ha un bitrate totale RR, diviso in parti uguali tra i NuN_u utenti: ognuno ha R/NuR/N_u bit/s. Il tasso di servizio di un utente è μ=R/NuF=RFNu[pacchetti/s].\mu=\frac{R/N_u}{F}=\frac R{FN_u}\quad[\text{pacchetti/s}].

Il tempo di trasmissione di un pacchetto in FDMA è quindi NutFN_ut_F (il pacchetto di FF bit passa a R/NuR/N_u bit/s: F/(R/Nu)=NuF/R=NutFF/(R/N_u)=N_uF/R=N_ut_F, cioè su una banda NuN_u volte più stretta). Rispetto alle slide sulla divisione di frequenza si veda anche 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 →.

Throughput (per il singolo utente, a regime): S=G=ρ=λμ=λNuFR=λNutF.S=G=\rho=\frac\lambda\mu=\lambda N_u\frac FR=\lambda N_ut_F. È la stessa espressione del TDMA: a parità di carico offerto, throughput uguale.

Ritardo. Per una M/G/1 con servizio costante il numero medio di pacchetti nel sistema è E[x]=ρ+ρ22(1−ρ)E[x]=\rho+\frac{\rho^2}{2(1-\rho)} e, con Little, il tempo di sistema è E[s]=E[x]λ=S+S22(1−S)λ,E[s]=\frac{E[x]}\lambda=\frac{S+\frac{S^2}{2(1-S)}}{\lambda}, cioè somma di tempo di coda e di servizio. Con λ=S/(NutF)\lambda=S/(N_ut_F) (da S=λNutFS=\lambda N_ut_F) il fattore 1/λ=NutF/S1/\lambda=N_ut_F/S moltiplica ogni termine: E[s]=NutFS(S+S22(1−S))=NutF+NutF S2(1−S).E[s]=\frac{N_ut_F}{S}\left(S+\frac{S^2}{2(1-S)}\right)=N_ut_F+\frac{N_ut_F\,S}{2(1-S)}. Aggiungendo la propagazione τp\tau_p:

Formula (ritardo medio dell'FDMA). E[T]=NutF+NutFS2(1−S)+τp=tF(Nu+SNu2(1−S)+a).E[T]=N_ut_F+\frac{N_ut_FS}{2(1-S)}+\tau_p=t_F\left(N_u+\frac{SN_u}{2(1-S)}+a\right).

TDMA contro FDMA

Confrontando le due formule, il ritardo normalizzato T~=E[T]/tF\tilde T=E[T]/t_F differisce di una costante: E[T~]FDMA=E[T~]TDMA+Nu2−1.E[\tilde T]_{FDMA}=E[\tilde T]_{TDMA}+\frac{N_u}2-1.

Perché: l'attesa in coda è la stessa (stesso ρ=S\rho=S e stesso servizio costante di durata NutFN_ut_F); cambia il modo di servire il pacchetto. Sottraendo membro a membro, (Nu+…)−(Nu2+…+1)=Nu2−1\big(N_u+\ldots\big)-\big(\frac{N_u}2+\ldots+1\big)=\frac{N_u}2-1. In FDMA il pacchetto occupa NutFN_ut_F per essere trasmesso; in TDMA aspetta in media NutF/2N_ut_F/2 per lo slot e poi si trasmette in tFt_F, con totale NutF/2+tFN_ut_F/2+t_F. Il TDMA è quindi più veloce di tF(Nu/2−1)t_F(N_u/2-1) (per Nu=2N_u=2 i due sono uguali), e la differenza cresce linearmente col numero di utenti.

Grafico interattivo: Ritardo normalizzato E[T]/tF in funzione del throughput S, con Nu = 10 utenti e a = 0: il TDMA è sotto l'FDMA di Nu/2 − 1 = 4 tempi di frame

Con Nu=100N_u=100 la differenza sale a 4949 tempi di frame: per esempio a S=0,5S=0{,}5 il TDMA ha E[T]/tF=101E[T]/t_F=101 e l'FDMA 150150; a basso carico il ritardo è dominato dal termine Nu/2N_u/2 o NuN_u, cioè dal numero di utenti, non dal carico.

Nessuno dei due ha un throughput che decresce: sono protocolli a divisione fissa (nessuna collisione, ma risorse riservate anche a chi non trasmette). Gli ALOHA e il CSMA hanno invece ritardi minimi molto bassi quando il canale è poco usato, ma throughput massimo limitato dalle collisioni.

Confronto riassuntivo

Protocollo Throughput SmaxS_{max} Note
ALOHA puro Ge−2GGe^{-2G} 0,180{,}18 (G=0,5G=0{,}5) nessuna sincronizzazione, vulnerabile 2tF2t_F
Slotted ALOHA Ge−GGe^{-G} 0,370{,}37 (G=1G=1) sincronizzazione dello slot
CSMA non persistente Ge−aGG(1+2a)+e−aG\dfrac{Ge^{-aG}}{G(1+2a)+e^{-aG}} →1\to1 per a→0a\to0 meglio dello slotted ALOHA solo se aa è piccolo
TDMA, FDMA S=G=ρS=G=\rho 11 nessuna collisione; E[T]FDMA=E[T]TDMA+tF(Nu/2−1)E[T]_{FDMA}=E[T]_{TDMA}+t_F(N_u/2-1)

Gli algoritmi sono in 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 →; per il caso dell'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 →), aa è molto piccolo, dove il CSMA è l'ideale. Esercizio numerico sull'ALOHA: Esercizio - ALOHA puro e slotted.

Versione ripasso

ALOHA puro

  • Tempo vulnerabile 2tF2t_F: PS=e−2GP_S=e^{-2G}, S=Ge−2GS=Ge^{-2G}. Massimo in G=12G=\frac12: Smax=12e≃0,18S_{max}=\frac1{2e}\simeq0{,}18.
  • Esempio. G=0,5G=0{,}5: S=0,184S=0{,}184 (18,4 % del canale, cioè 184 kbit/s su 1 Mbit/s). G=0,1G=0{,}1: S=0,082S=0{,}082. G=2G=2: S=2e−4=0,037S=2e^{-4}=0{,}037, canale sommerso dalle collisioni.
  • Ritardo. Le trasmissioni sono geometriche: E[ntx]=1/PSE[n_{tx}]=1/P_S, quindi E[nretx]=1−PSPS=e2G−1E[n_{retx}]=\frac{1-P_S}{P_S}=e^{2G}-1. Formula: E[T]=tF+τp+(e2G−1)(tF+2τp+E[tb])E[T]=t_F+\tau_p+(e^{2G}-1)(t_F+2\tau_p+E[t_b]).
  • Esempio (tF=1t_F=1 ms, τp=0,1\tau_p=0{,}1 ms, E[tb]=5E[t_b]=5 ms, termine costante 6,2 ms): G=0,1→2,47G=0{,}1\to2{,}47 ms; G=0,25→5,12G=0{,}25\to5{,}12 ms; G=0,5→11,75G=0{,}5\to11{,}75 ms.

Slotted ALOHA

  • Tempo vulnerabile tFt_F: PS=e−GP_S=e^{-G}, S=Ge−GS=Ge^{-G}. Massimo in G=1G=1: Smax=1e≃0,37S_{max}=\frac1e\simeq0{,}37, il doppio dell'ALOHA puro.
  • Ritardo. Ogni tentativo aspetta in media mezzo slot, E[W]=tF/2E[W]=t_F/2: E[T]=3tF2+τp+(eG−1)(3tF2+2τp+E[tb])E[T]=\frac{3t_F}{2}+\tau_p+(e^{G}-1)\left(\frac{3t_F}{2}+2\tau_p+E[t_b]\right).
  • Esempio (stessi dati): G=0,1→2,30G=0{,}1\to2{,}30 ms; G=0,5→5,95G=0{,}5\to5{,}95 ms; G=1→13,1G=1\to13{,}1 ms. A basso carico è più lento dell'ALOHA puro per l'attesa dello slot, ma cresce molto più piano.
  • Dopo il massimo il throughput cala: le collisioni generano ritrasmissioni che aumentano GG.

Due punti di funzionamento

Il throughput a regime deve uguagliare λtF\lambda t_F: i punti di lavoro sono le intersezioni di S(G)S(G) con la retta S=λtFS=\lambda t_F.

  • G1G_1 (carico basso) stabile: se GG sale, S>λtFS>\lambda t_F e il carico torna giù.
  • G2G_2 (carico alto) instabile: oltre G2G_2 la coda cresce e il throughput va a 00.
  • Esempio (slotted, λtF=0,12\lambda t_F=0{,}12): Ge−G=0,12Ge^{-G}=0{,}12 dà G1=0,138G_1=0{,}138 e G2=3,32G_2=3{,}32; in G1G_1, PS=e−0,138=0,871P_S=e^{-0{,}138}=0{,}871. Se λtF>1/e\lambda t_F>1/e non esiste alcuna intersezione: il sistema non è mai stabile.

CSMA non persistente

  • Parametro. a=τp/tFa=\tau_p/t_F. Il canale alterna periodi di occupazione BB e di inattività II.
  • Inattività. Il tempo tra due arrivi è esponenziale: mI=1λ′=tFGm_I=\frac{1}{\lambda'}=\frac{t_F}{G}.
  • Occupazione. Riuscita (un solo frame) con probabilità PBP−S=e−GaP_{BP-S}=e^{-Ga}, durata mBP−S=tF+τpm_{BP-S}=t_F+\tau_p; in collisione con probabilità 1−e−Ga1-e^{-Ga}, durata Y+tF+τpY+t_F+\tau_p. Qui Y∈[0,τp]Y\in[0,\tau_p] è il tempo tra primo e ultimo frame, con E[Y]=tF(a−1−e−aGG)E[Y]=t_F\left(a-\frac{1-e^{-aG}}{G}\right).
  • Durata media mB=tF(1+2a−1−e−aGG)m_B=t_F\left(1+2a-\frac{1-e^{-aG}}{G}\right). Parte utile mU=tFe−aGm_U=t_Fe^{-aG}.
  • Formula. S=mUmB+mI=G e−aGG(1+2a)+e−aGS=\dfrac{m_U}{m_B+m_I}=\dfrac{G\,e^{-aG}}{G(1+2a)+e^{-aG}}.
  • Esempi. a=0,1a=0{,}1, G=1G=1: S=0,430S=0{,}430. a=0,01a=0{,}01: S=0,493S=0{,}493. a=1a=1: S=0,109S=0{,}109. Per a→0a\to0: S=GG+1→1S=\frac{G}{G+1}\to1.
  • Massimo SmaxS_{max} per a=10−3a=10^{-3}, 0,010{,}01, 0,10{,}1, 11, 1010: 0,940{,}94, 0,820{,}82, 0,520{,}52, 0,140{,}14, 0,0180{,}018. Con aa piccolo il CSMA batte lo slotted ALOHA; con aa grande lo slotted ALOHA batte il CSMA, perché l'ascolto dà un'informazione vecchia.
  • Ritardo. Pbusy=G(1+a)−(1−e−aG)G(1+2a)+e−aGP_{busy}=\frac{G(1+a)-(1-e^{-aG})}{G(1+2a)+e^{-aG}}; attesa prima di trasmettere E[W]=1βPbusy1−PbusyE[W]=\frac1\beta\frac{P_{busy}}{1-P_{busy}} (backoff esponenziale, E[tb]=1/βE[t_b]=1/\beta); ritrasmissioni E[nretx]=GS−1E[n_{retx}]=\frac GS-1. Formula: E[T]=E[W]+tF+τp+(GS−1)(E[W]+tF+2τp+E[tb])E[T]=E[W]+t_F+\tau_p+\left(\frac GS-1\right)(E[W]+t_F+2\tau_p+E[t_b]).
  • Esempio. a=0,1a=0{,}1, G=1G=1, E[tb]=5E[t_b]=5 ms: Pbusy=0,477P_{busy}=0{,}477, E[W]=4,57E[W]=4{,}57 ms, ritrasmissioni 1,331{,}33, E[T]=19,9E[T]=19{,}9 ms.

TDMA (coda M/D/1)

  • Idea. Slot di durata tF=F/Rt_F=F/R preassegnati agli NuN_u utenti, in una trama periodica 1,2,…,Nu1,2,\dots,N_u. Nessuna collisione: λt=Nuλ\lambda_t=N_u\lambda e S=G=ρ=NuλtFS=G=\rho=N_u\lambda t_F, con S≤1S\le1, senza picco né calo.
  • Ritardo. Servizio costante di durata E[y]=NutFE[y]=N_ut_F, quindi E[w]=SNutF2(1−S)E[w]=\frac{SN_ut_F}{2(1-S)} (Pollaczek-Khinchin).
  • Formula. E[T]=NutF2⏟attesa slot+SNutF2(1−S)+tF+τp=tF(Nu2+SNu2(1−S)+1+a)E[T]=\underbrace{\tfrac{N_ut_F}{2}}_{\text{attesa slot}}+\tfrac{SN_ut_F}{2(1-S)}+t_F+\tau_p=t_F\left(\tfrac{N_u}{2}+\tfrac{SN_u}{2(1-S)}+1+a\right).
  • Esempio. Nu=10N_u=10, S=0,5S=0{,}5, a≈0a\approx0: E[T]/tF=5+5+1=11E[T]/t_F=5+5+1=11. Con S=0,1S=0{,}1 si ha 6,566{,}56; con S=0,9S=0{,}9, 5151.

FDMA (coda M/G/1)

  • Idea. La banda è divisa in sottobande: ogni utente ha R/NuR/N_u bit/s, μ=RFNu\mu=\frac{R}{FN_u}, e il pacchetto dura NutFN_ut_F. Throughput uguale al TDMA: S=λNutFS=\lambda N_ut_F.
  • Formula. E[s]=S+S22(1−S)λE[s]=\frac{S+\frac{S^2}{2(1-S)}}{\lambda} (Little), quindi E[T]=tF(Nu+SNu2(1−S)+a)E[T]=t_F\left(N_u+\frac{SN_u}{2(1-S)}+a\right).

TDMA contro FDMA

  • E[T~]FDMA=E[T~]TDMA+Nu2−1E[\tilde T]_{FDMA}=E[\tilde T]_{TDMA}+\frac{N_u}{2}-1 (ritardo normalizzato T~=E[T]/tF\tilde T=E[T]/t_F): la coda è la stessa, ma FDMA impiega NutFN_ut_F a trasmettere, il TDMA NutF2+tF\frac{N_ut_F}{2}+t_F.
  • Esempi. Nu=10N_u=10, S=0,5S=0{,}5: TDMA 11 tF11\,t_F, FDMA 15 tF15\,t_F. Nu=100N_u=100: 101101 contro 150150. A basso carico il ritardo dipende dal numero di utenti, non dal carico.

Confronto

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata