Tecniche ARQ - stop-and-wait, go-back-N e selective repeat
In questa pagina 6
L'idea e il modello
Con la ritrasmissione automaticail ricevitore controlla ogni pacchetto e ne chiede la ripetizione se è errato (ARQ, automatic repeat request) il ricevitore verifica con un codice a rivelazione di errore (un controllo di parità o un CRCcontrollo di ridondanza ciclica: codice che rivela gli errori, calcolato sui bit del pacchetto, Codifica di canale - codici a blocco, distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza ai bit per rivelare o correggere gli errori del canale. Un codice a blocco $(n,k)$ trasforma $k$ bit in $n$ bit (rendimento $R_c=\frac kn$). Con la distanza di Hamming minima $d_{min}$ il codice rivela fino a $d_{min}-1$ errori e ne corregge $t=\left\lfloor\frac{d_{min}-1}2\right\rfloor$ (decodifica a minima distanza). Vale il limite di Singleton $d_{min}\le n-k+1$. Su un canale binario simmetrico con errore $p$, la probabilità di parola sbagliata è $P_w\le\sum_{i>t}\binom nip^i(1-p)^{n-i}$ e, con $p$ piccola, $P_{bit}\approx\frac{d_{min}}n\binom n{t+1}p^{t+1}$.Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione →) se il pacchetto è corretto e risponde con una conferma ACKconferma positiva: il pacchetto è arrivato corretto (corretto) o NACKconferma negativa: il pacchetto è errato (errato); il trasmettitore ritrasmette i pacchetti errati. È il compito del livello di collegamento dati (LLClogical link control: parte del livello di collegamento dati che controlla errori e flusso, Sistemi di telecomunicazioni e modello ISO-OSIUn servizio di telecomunicazioni porta informazione da una sorgente a una destinazione lontana attraverso trasmettitore, canale e ricevitore. Le comunicazioni si classificano per destinatari (unicast, broadcast, multicast) e per direzione (simplex, half-duplex, full-duplex); le reti hanno una topologia (stella, mesh, albero, anello, bus) e usano commutazione di circuito o di pacchetto. Le funzioni di rete sono divise in strati: nel modello ISO-OSI sono 7 e questo corso studia quasi solo lo strato fisico.Sistemi di telecomunicazioni e modello ISO-OSI →). Si assume il canale di ritornocanale su cui viaggiano le conferme, dal ricevitore al trasmettitore affidabile e si indica:
- la lunghezza del pacchetto in bit e la probabilità di errore sul bit: il pacchetto è sbagliato se almeno un bit è sbagliato,
- il tempo di pacchettotempo per trasmettere tutti i bit del pacchetto: diviso il bit-rate (di trasmissione), quello della conferma, il ritardo di propagazionetempo che il segnale impiega ad andare dal trasmettitore al ricevitore (andata); il tempo di andata e ritorno è .
Ogni pacchetto va trasmesso, in media, volte (distribuzione geometricanumero di prove fino al primo successo, ciascuna con la stessa probabilità: con probabilità servono trasmissioni, media ). L'efficienzafrazione di tempo in cui il canale trasmette pacchetti nuovi e corretti (throughput normalizzato) è la frazione di tempo in cui il canale trasmette pacchetti nuovi e corretti: il bit-rate utile è (per i bit di dati, tolta l'intestazione).
Stop-and-wait (SW-ARQ)
Il trasmettitore invia un pacchetto e aspetta l'ACK prima di inviare il successivo. Il ciclo dura (pacchetto, andata e ritorno, conferma) ma solo è "utile", e solo con probabilità : È semplice ma inefficiente quando è grande rispetto a (canale lungo: il trasmettitore resta fermo ad aspettare).
Go-back-N (GBN-ARQ)
Il trasmettitore invia pacchetti in modo continuo senza aspettare l'ACK, con una finestranumero massimo di pacchetti trasmessi e non ancora confermati di pacchetti in volo. Se il pacchetto è errato, il ricevitore scarta anche i successivi e il trasmettitore ritorna indietro e ritrasmette il pacchetto errato e tutti i successivi già inviati. Per tenere occupato il canale la finestra deve coprire il ciclo di conferma: Ogni errore costa trasmissioni (il pacchetto sbagliato più ritrasmessi inutilmente) e ogni pacchetto subisce in media errori prima del successo: il numero medio di trasmissioni per pacchetto utile è e l'efficienza è il suo inverso, moltiplicato per :
Selective repeat (SR-ARQ)
Come GBN ma il ricevitore memorizza i pacchetti corretti arrivati dopo uno errato (ha un buffermemoria in cui il ricevitore conserva i pacchetti arrivati fuori ordine) e il trasmettitore ritrasmette solo quello errato; il ricevitore riordina. Si spreca soltanto l'overheadtempo aggiunto oltre ai dati utili, qui quello dell'ACK dell'ACK e i pacchetti sbagliati: (è il massimo ottenibile con ARQ: per ).
Esempio numerico (eserciziario, verificato)
ms, ms, ms, :
- SW: ;
- GBN: ; ;
- SR: .
(Il canale lungo penalizza lo SW: contro -.) Dipendenza da (stessi tempi):
| SW | GBN | SR | |
|---|---|---|---|
Con grande GBN crolla (ogni errore ritrasmette pacchetti) e SR resta vicino a . Altri esempi: LANlocal area network: rete locale su breve distanza ( ms, s, s, ): SW , GBN (), SR (differenze piccole: il ritardo è trascurabile). Satellite geostazionarioin orbita a circa 36000 km sopra l'equatore: ritardo di andata di circa 270 ms ( ms, ms, ms, ): SW , GBN (), SR : lo stop-and-wait è inutilizzabile.
Errori comuni
- Calcolare come : ().
- Dimenticare il ritardo di andata e ritorno (non ) in SW e nella finestra di GBN.
- Usare per GBN la formula dello SW o dimenticare (l'overhead dell'ACK).
- Scambiare GBN e SR: GBN ritrasmette tutti i successivi (efficienza minore con grande), SR solo l'errato.
Versione ripasso
Modello
- Il ricevitore controlla ogni pacchetto con un codice a rivelazione (parità o CRC, Codifica di canale - codici a blocco, distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza ai bit per rivelare o correggere gli errori del canale. Un codice a blocco $(n,k)$ trasforma $k$ bit in $n$ bit (rendimento $R_c=\frac kn$). Con la distanza di Hamming minima $d_{min}$ il codice rivela fino a $d_{min}-1$ errori e ne corregge $t=\left\lfloor\frac{d_{min}-1}2\right\rfloor$ (decodifica a minima distanza). Vale il limite di Singleton $d_{min}\le n-k+1$. Su un canale binario simmetrico con errore $p$, la probabilità di parola sbagliata è $P_w\le\sum_{i>t}\binom nip^i(1-p)^{n-i}$ e, con $p$ piccola, $P_{bit}\approx\frac{d_{min}}n\binom n{t+1}p^{t+1}$.Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione →) e risponde con ACK (corretto) o NACK (errato). Il trasmettitore ritrasmette gli errati.
- È compito del livello di collegamento dati (Sistemi di telecomunicazioni e modello ISO-OSIUn servizio di telecomunicazioni porta informazione da una sorgente a una destinazione lontana attraverso trasmettitore, canale e ricevitore. Le comunicazioni si classificano per destinatari (unicast, broadcast, multicast) e per direzione (simplex, half-duplex, full-duplex); le reti hanno una topologia (stella, mesh, albero, anello, bus) e usano commutazione di circuito o di pacchetto. Le funzioni di rete sono divise in strati: nel modello ISO-OSI sono 7 e questo corso studia quasi solo lo strato fisico.Sistemi di telecomunicazioni e modello ISO-OSI →). Il canale di ritorno si assume affidabile.
- Probabilità che il pacchetto sia errato: , con bit per pacchetto.
- Tempo di pacchetto ; tempo dell'ACK; ritardo di propagazione (andata), quindi andata e ritorno valgono .
- Throughput normalizzato : frazione di tempo in cui il canale trasmette pacchetti nuovi e corretti. Bit-rate utile .
Stop-and-wait (SW)
- Si aspetta l'ACK prima del pacchetto successivo. Il ciclo dura , di cui utile e solo con probabilità .
- . Inefficiente quando è grande rispetto a .
Go-back-N (GBN)
- Finestra di pacchetti in volo; un errore fa scartare dal ricevitore anche i successivi, che il trasmettitore rimanda tutti.
- Per tenere occupato il canale: .
- Ogni errore costa trasmissioni; in media trasmissioni per pacchetto utile.
- .
Selective repeat (SR)
- Il ricevitore bufferizza i pacchetti corretti arrivati dopo un errore e riordina; il trasmettitore rimanda solo l'errato.
- , il massimo ottenibile con ARQ: tende a per .
Esempio ( ms, ms, ms, )
- SW: .
- GBN: , quindi ; .
- SR: .
- Con , stessi tempi: SW , GBN , SR . Con : GBN , SR .
- Satellite geostazionario ( ms, ms, ms, ): SW , GBN , SR .
Errori tipici
- Usare : è .
- Mettere al posto di in SW e nella finestra di GBN.
- Dimenticare il termine nella formula di GBN.
- Scambiare GBN e SR: GBN rimanda tutti i successivi, SR solo l'errato.
Esercizi su questo argomento
- Esercizio 28 · codifica a correzione d'errore e ARQ selective repeat per un server (tema d'esame luglio 2021)
- Esercizio 33 · throughput di stop-and-wait, go-back-N e selective repeat (esercizio del corso)
- Esercizio - stop-and-wait con canale a cancellazione e informazione mutua (secondo compitino del 12 gennaio 2018, es. 73)
- Esercizio - throughput di stop-and-wait, go-back-N e selective repeat (esercizi del corso, cap. 4)
- Esercizio - Collegamento di 35 km, stop-and-wait e Go-Back-N con pacchetto perso
- Esercizio - Collegamento Terra-Luna, RTT, BDP ed efficienza
- Esercizio - Due collegamenti con switch, file da 1250 MB e ARQ stop-and-wait
- Esercizio - Due collegamenti da 10 e 2 Gbps, 1000 pacchetti con S&W e GBN
- Esercizio - Finestra scorrevole e buffer del ricevitore
- Esercizio - Go-Back-N end-to-end su tre collegamenti
- Esercizio - Go-Back-N su ogni collegamento con finestre 15 e 6 e confronto con stop-and-wait
- Esercizio - Go-Back-N su un collegamento e stop-and-wait sull'altro, messaggio da 300 KB
- Esercizio - Quattro pacchetti, UDP e ARQ GBN o stop-and-wait su ogni collegamento o end-to-end
- Esercizio - RTT e swnd, TCP da 100 KB e stop-and-wait su ogni collegamento
- Esercizio - TCP con finestra del ricevitore di 4 segmenti su tre collegamenti
- Esercizio - TCP e stop-and-wait su tre collegamenti, messaggio da 100 kB
- Esercizio - Trasferimento di 1,5 MB con handshake, stop-and-wait e limite di pacchetti per RTT
Teoria collegata
- Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione
- Formulario - fondamenti di comunicazioni
- Sistemi di telecomunicazioni e modello ISO-OSI
- Controllo d'errore - ARQ, FEC e codici a blocco sul canale binario simmetrico
- Analisi delle prestazioni di rete
- Livello di collegamento e framing
- Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat
- Protocolli di accesso multiplo - ALOHA e CSMA
- TCP - connessione, affidabilità e controllo di flusso
- Tecniche ARQ e loro prestazioni