Testo (scheda "Data link layer", esercizio 1). Un sistema ARQ opera su un canale a velocità fissa di 2 Mbit/s con Pbit=10−6. Si trasmettono pacchetti di dimensione fissa con payload di 4096 bit e intestazione di 12 byte. Calcolare il throughput dell'ARQ SR se il tasso di arrivo λ è: a. 100 pacchetti/s; b. 1000 pacchetti/s. Infine c. discutere, per un λ generico, la stabilità della coda ARQ per Stop-and-Wait, Go-Back-N, Selective-Repeat.
Teoria usata: Tecniche ARQ e loro prestazioniARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore risponde a ogni pacchetto con ACK (corretto) o NACK (errato), e il trasmettitore ritrasmette. Con probabilità di pacchetto errato $p$, $t_{RTT}=t_P+t_A+2\tau_P$ e coda sempre piena, il throughput massimo (frazione di tempo d'aria) è: Stop-and-Wait $S=\frac{t_P(1-p)}{t_{RTT}}$; Go-Back-N con $N=t_{RTT}/t_P$ $S=\frac{1-p}{(N-1)p+1}$; Selective Repeat $S=1-p$. Il ritardo medio è $m_{delay}=t_P+\tau_P+\frac p{1-p}t_{RTT}$ (a coda vuota). Sono solo valori massimi: la coda ARQ è stabile solo se $\lambda$ è minore della velocità di servizio, $\lambda<1/m_y$; altrimenti il throughput è $\min(\lambda,\mu)$. L'efficienza (payload) è $\eta=S,L_D/L$.Tecniche ARQ e loro prestazioni →, Livello di collegamento - LLC, MAC e ipotesi di lavoroIl livello di collegamento vede un canale fisico con errori residui e deve offrire ai livelli superiori un canale affidabile; ha due sottolivelli: LLC (correzione residua, ARQ con ACK/NACK) e MAC (chi trasmette, perché con più trasmettitori il rapporto giusto è la SINR e non l'SNR e la capacità cala). Per analizzarlo si usano ipotesi standard: pacchetti di $L$ bit, probabilità $p$ di pacchetto errato (i.i.d., $p=1-(1-P_{bit})^L\simeq LP_{bit}$), coda sempre piena (heavy traffic), tempo di pacchetto $t_P=L/R_b$, $t_{RTT}=t_P+t_A+2\tau_P$, timeout stringente, ACK/NACK senza errori, ritrasmissioni illimitate ($E[#tx]=1/(1-p)$). Le metriche sono throughput (frazione di tempo d'aria) e ritardo (fino alla ricezione corretta). Una collisione è la sovrapposizione, anche minima, di due pacchetti.Livello di collegamento - LLC, MAC e ipotesi di lavoro →.
1. Dati del pacchetto e probabilità di errore
Payload LD=4096 bit; intestazione LH=12⋅8=96 bit; lunghezza totale L=LD+LH=4192 bit. Su un BSC senza memoria il pacchetto è sbagliato se almeno un bit è sbagliato:
p=Ploss=1−(1−Pbit)L=1−(1−10−6)4192=4,18⋅10−3 (0,418%).
(LPbit=4,192⋅10−3: l'approssimazione è praticamente identica.) Psuccess=1−p=0,99582.
Tempo di pacchetto e velocità massima di trasmissione dei pacchetti:
tP=RbL=2⋅1064192=2,096 ms,tP1=477 pkt/s.
2. Attenzione: è una trappola
Il throughput dell'ARQ SR è S=1−p, ma solo se la coda è sempre piena, cioè se la sorgente offre più traffico di quanto il canale smaltisce. Bisogna prima verificare se il sistema è stabile, cioè se λ<μ con μ la velocità di servizio.
Per l'SR la velocità di servizio, tenendo conto delle ritrasmissioni (trucco ispirato all'ALOHA: ogni pacchetto è trasmesso in media 1−p1 volte, quindi il tasso totale di pacchetti trasmessi è λT=λ+λp+λp2+⋯=1−pλ), è la velocità totale del canale: il sistema regge se λT<tP1, cioè
λ<tP1−p=2,096 ms0,99582=475 pkt/s
(il corso confronta con tP1=477 pkt/s, il tasso totale del canale al lordo delle ritrasmissioni; la differenza è irrilevante qui).
3. Caso a. λ=100 pkt/s
100<475: stabile. Tutto ciò che arriva esce (e le ritrasmissioni sono assorbite), quindi
throughput=λ=100 pkt/s ⇒ 100⋅4192=419,2 kbit/s
(di cui 100⋅4096=409,6 kbit/s di payload). Non si usa 1−p: quella è la frazione di tempo d'aria utile se il canale fosse saturo.
4. Caso b. λ=1000 pkt/s
1000>475: instabile. Il traffico offerto è 1000⋅4192=4,192 Mbit/s, più del doppio del canale (2 Mbit/s): la coda cresce senza limite. Il canale è saturo e il throughput è quello massimo, S=1−p (frazione di tempo d'aria utile):
S=1−p=0,99582,throughput=0,99582⋅2 Mbit/s=1,991 Mbit/s
(di cui 1,991⋅41924096=1,946 Mbit/s di payload).
5. Caso c. Stabilità in generale
In generale il throughput vale min(λ,μ): se λ<μ la coda è stabile e il throughput è λ, altrimenti è instabile e il throughput è il valore massimo di prima. Per calcolare μ si usa il tempo di servizio y medio per pacchetto, μ=1/my:
- Stop-and-Wait: ogni tentativo occupa un round-trip, y=tRTT(1+i) con i=#retx e E[i]=Psuccess1−1: my=PsuccesstRTT, quindi μSW=tRTT1−p e la condizione è λ<tRTT1−p.
- Go-Back-N: con probabilità Psuccess si spende tP, con probabilità 1−Psuccess un tRTT e poi si ricomincia: my=tPPsuccess+p(tRTT+my), da cui my=tP+tRTT1−pp e μGBN=tP+tRTTp/(1−p)1.
- Selective Repeat: λT=λ/(1−p)<1/tP, cioè λ<tP1−p.
Questi valori non sono i ritardi: il ritardo è tRTT per ogni ritrasmissione più tP+τP quando il pacchetto è finalmente corretto.
Variante numerica (parametri nostri, non nel testo). Con tA=0 e τP=5 ms: tRTT=2,096+10=12,096 ms (N=tRTT/tP=5,77). Allora μSW=12,096 ms0,99582=82,3 pkt/s, myGBN=2,096+12,096⋅0,004200=2,147 ms ⇒μGBN=465,8 pkt/s, μSR=475,1 pkt/s. Con λ=100 pkt/s SW è instabile (100>82,3) mentre GBN e SR sono stabili: lo stesso carico dà risultati opposti a seconda del protocollo.
Versione ripasso
Dati. 2 Mbit/s, Pbit=10−6, payload 4096 bit, intestazione 96 bit: L=4192 bit (Tecniche ARQ e loro prestazioniARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore risponde a ogni pacchetto con ACK (corretto) o NACK (errato), e il trasmettitore ritrasmette. Con probabilità di pacchetto errato $p$, $t_{RTT}=t_P+t_A+2\tau_P$ e coda sempre piena, il throughput massimo (frazione di tempo d'aria) è: Stop-and-Wait $S=\frac{t_P(1-p)}{t_{RTT}}$; Go-Back-N con $N=t_{RTT}/t_P$ $S=\frac{1-p}{(N-1)p+1}$; Selective Repeat $S=1-p$. Il ritardo medio è $m_{delay}=t_P+\tau_P+\frac p{1-p}t_{RTT}$ (a coda vuota). Sono solo valori massimi: la coda ARQ è stabile solo se $\lambda$ è minore della velocità di servizio, $\lambda<1/m_y$; altrimenti il throughput è $\min(\lambda,\mu)$. L'efficienza (payload) è $\eta=S,L_D/L$.Tecniche ARQ e loro prestazioni →).
- p=1−(1−Pbit)L=4,18⋅10−3, Psuccess=0,99582.
- tP=2,096 ms, tP1=477 pkt/s.
Stabilità. Con le ritrasmissioni il tasso totale è λT=1−pλ: stabile se λ<tP1−p=475 pkt/s (Livello di collegamento - LLC, MAC e ipotesi di lavoroIl livello di collegamento vede un canale fisico con errori residui e deve offrire ai livelli superiori un canale affidabile; ha due sottolivelli: LLC (correzione residua, ARQ con ACK/NACK) e MAC (chi trasmette, perché con più trasmettitori il rapporto giusto è la SINR e non l'SNR e la capacità cala). Per analizzarlo si usano ipotesi standard: pacchetti di $L$ bit, probabilità $p$ di pacchetto errato (i.i.d., $p=1-(1-P_{bit})^L\simeq LP_{bit}$), coda sempre piena (heavy traffic), tempo di pacchetto $t_P=L/R_b$, $t_{RTT}=t_P+t_A+2\tau_P$, timeout stringente, ACK/NACK senza errori, ritrasmissioni illimitate ($E[#tx]=1/(1-p)$). Le metriche sono throughput (frazione di tempo d'aria) e ritardo (fino alla ricezione corretta). Una collisione è la sovrapposizione, anche minima, di due pacchetti.Livello di collegamento - LLC, MAC e ipotesi di lavoro →).
a. λ=100 pkt/s: stabile, throughput =λ=100 pkt/s, cioè 419,2 kbit/s. Non si usa 1−p.
b. λ=1000 pkt/s: instabile, traffico offerto 4,192 Mbit/s. Il canale è saturo e il throughput è S=1−p=0,99582, cioè 1,991 Mbit/s.
c. Stabilità per protocollo (con μ=my1, tRTT tempo di andata e ritorno)
- Stop-and-Wait: λ<tRTT1−p.
- Go-Back-N: my=tP+tRTT1−pp.
- Selective Repeat: λ<tP1−p.
Variante numerica (τP=5 ms, tRTT=12,096 ms): con λ=100 SW è instabile (μSW=82,3 pkt/s), GBN e SR stabili.
Errori tipici
- Usare S=1−p come throughput anche quando la coda non è satura.
- Dimenticare l'intestazione nella lunghezza L.
- Confondere il tempo di servizio con il ritardo: il ritardo include le ritrasmissioni.