Lezione 15 · Canale 1 · lunedì 2 novembre 2026
Go-Back-N e Selective Repeat
FCI · Reti
Lezione 15 · Canale 1 · lunedì 2 novembre 2026
FCI · Reti
Un protocollo ARQ usa informazioni che viaggiano nelle unità e informazioni che i due estremi conoscono in anticipo.
Nello stop and wait i numeri sono di un bit e si alternano. Il Go-Back-N non aggiunge campi alle trame. Il trasmettitore tiene un timer per trama e , la più vecchia non riscontrata, da cui riparte. Il ricevitore tiene , che ora è un numero progressivo.
Con bit i numeri di sequenza sono , da a , e poi si riparte da . Un numero identifica quindi una trama solo rispetto allo stato del protocollo. Con sono 00, 01, 10, 11.
Se e si perdono tutti i riscontri, allo scadere del timeout A ritrasmette la 0. B ha già ricevuto 0, 1, 2, 3 e si aspetta di nuovo la 0: per lui è una trama nuova, e non può distinguerla dalla ripetizione. Con , dopo 0, 1, 2 B si aspetta la 3, quindi riconosce la 0 come duplicata e la scarta.
Finestra e numerazione con due bit
: B si aspetta la 0
: B si aspetta la 3
La finestra del Go-Back-N è quindi al più di trame, una in meno dei numeri disponibili:
Dopo un errore il Go-Back-N ripete anche trame arrivate bene. Il Selective Repeat ripete solo quelle perse. Il trasmettitore resta uguale. Cambia il ricevitore, che ha una finestra di ricezione di ampiezza : accetta le trame corrette con numero da a , anche fuori sequenza. Quelle fuori sequenza le conserva in un buffer e le consegna in ordine quando arriva la mancante.
Il ricevitore segnala il buco con un NAK, un riscontro negativo con il numero della trama mancante, e poi manda ACK con lo stesso finché il buco resta. Il trasmettitore ritrasmette la trama non riscontrata più vecchia appena riceve il NAK, o allo scadere del suo timer. Quando la trama arriva, salta oltre quelle conservate e un solo ACK le conferma tutte.
Selective Repeat con la trama 2 persa
Anche qui i numeri possono confondersi. Se tutti i riscontri si perdono, A ritrasmette la 0 e B ha già spostato in avanti la finestra di ricezione: se la 0 ci ricade, la accetta come nuova. Con la finestra di B dopo ogni trama ricevuta è:
| B ha ricevuto | ||
|---|---|---|
| niente | ||
| 0 | ||
| 0, 1 | ||
| 0, 1, 2 | – |
Con la 0 ritrasmessa ricade in ed è accettata. Con è fuori da ed è scartata. In generale, dopo trame la finestra di ricezione va da a , e la 0 resta fuori se questo estremo è minore di :
Con è la regola del Go-Back-N. Con vanno bene e , .
Sia la probabilità di errore su una trama. Il numero medio di trasmissioni per trama è : con vale 1 e non si ritrasmette mai, con cresce senza limite.
Con bit per trama, per l'ACK, di intestazione e bit rate , il prodotto banda-ritardo in trame è, per la finestra che riempie il ciclo:
Con Selective Repeat e Go-Back-N coincidono; con coincidono Go-Back-N e stop and wait, se . Un esempio con bit, bit, Mbit/s e ms, cioè e , per diversi tassi d'errore sul bit , con :
| stop and wait | 8,9 % | 8,8 % | 8,0 % | 3,3 % |
| Go-Back-N | 98 % | 88,2 % | 45,4 % | 4,9 % |
| Selective Repeat | 98 % | 97 % | 89 % | 36 % |
Senza errori Go-Back-N e Selective Repeat arrivano al 98 %: il resto lo toglie l'intestazione.
Efficienza e tasso d'errore sul bit
Regolando i riscontri si regola anche il flusso: se il ricevitore li manda più tardi o meno spesso, il trasmettitore rallenta. Il TCP, protocollo di strato 4 sopra IP, usa questi meccanismi da estremo a estremo, con un funzionamento simile al Selective Repeat. Il tempo di andata e ritorno su tutta la rete non si misura in anticipo: il TCP lo stima con i pacchetti inviati e raffina la stima a ogni pacchetto, e su di essa dimensiona la finestra di trasmissione. Integra il controllo di flusso e numera i byte dei segmenti, non le trame.
Il ritardo di propagazione è , l'ACK dura , la finestra è , il timeout dura quanto la trasmissione di una finestra, , e il file ha 1000 pacchetti. Il ciclo è
Quanti pacchetti si trasmettono inutilmente in quattro casi?
Pacchetti consegnati in ordine
I riscontri consecutivi che si possono perdere sono al più 49. Il riscontro del pacchetto torna a : quello del cinquantesimo torna a , prima del timeout di del primo, e conferma tutti i precedenti.
Numeri di sequenza, bit
Finestra del Go-Back-N
Finestre del Selective Repeat
Prodotto banda-ritardo
Efficienza, Selective Repeat
Efficienza, Go-Back-N
Efficienza, stop and wait