Esercizio 33throughput di stop-and-wait, go-back-N e selective repeat (esercizio del corso)
In questa pagina 5
Testo (eserciziario di un corso UniPD equivalente, esercizio sull'ARQ). Calcolare il throughput per SW-ARQ, GBN-ARQ e SR-ARQ per una trasmissione con ms, ms, ms e probabilità di errore sulla PDU . Si calcoli poi come cambiano i valori per e per un collegamento con ms.
Teoria usata: 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 →.
Stop-and-wait
Ogni pacchetto occupa utile, ma il ciclo dura ms (pacchetto, conferma, e andata e ritorno di ms ciascuna): Il canale è usato solo il del tempo: il trasmettitore attende quasi sempre.
Go-back-N
La finestra deve coprire il ciclo di conferma: , quindi e pacchetti. Ogni errore costa trasmissioni:
Selective repeat
Si ritrasmette solo il pacchetto errato; resta l'overhead della conferma:
Quindi, con : , , (il bit-rate utile è ).
Grafico interattivo: Throughput in funzione della probabilità di errore p sulla PDU (τ_P = 525 ms, t_P = 200 ms, t_A = 10 ms, N = 6): per p = 10⁻² vale 0,157 (SW), 0,898 (GBN) e 0,943 (SR); per p = 0,3 il GBN crolla a 0,267 (ogni errore ritrasmette 6 pacchetti), il SR resta a 0,667 e lo stop-and-wait a 0,111
Altri valori
- (stessi tempi): SW ; GBN ; SR . Con errori frequenti il GBN crolla (ogni errore ritrasmette pacchetti) e il SR resta vicino a .
- ms (): ms. SW: . GBN: , : . SR: . Con ritardo di propagazione piccolo, SW, GBN e SR sono quasi uguali (SW perde solo il tempo del ciclo).
(Verificato con Python: SW , GBN (), SR ; per : , , . La soluzione a mano dell'eserciziario riporta e per SR e GBN a : sono i valori di per SR; con i valori giusti sono e .)
Errori comuni
- Usare invece di nel ciclo dello stop-and-wait e nella finestra.
- Dimenticare (la conferma occupa tempo) in GBN e SR.
- Calcolare senza il : la finestra contiene pacchetti.
- Scambiare GBN e SR: il GBN ha a denominatore.
Versione ripasso
Testo. Collegamento con ms, ms, ms e probabilità di errore sulla PDU . Richiesti: throughput di stop-and-wait, go-back-N e selective repeat; poi gli stessi con e con ms.
Stop-and-wait (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 →)
- Ciclo ms. .
Go-back-N
- , quindi e .
- .
Selective repeat
- .
Altri valori
- Con : stop-and-wait , GBN , SR . Il GBN crolla perché ogni errore ritrasmette pacchetti.
- Con ms (): stop-and-wait ; GBN con , ; SR . Con ritardo piccolo i tre protocolli sono vicini.
Errori tipici
- Usare invece di nel ciclo dello stop-and-wait e nella finestra.
- Dimenticare il fattore in GBN e SR.
- Calcolare senza il termine rispetto a .
- Scambiare GBN e SR: il GBN ha a denominatore.