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
- ARQ: rivelazione di errore (parità/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 →) + ACK/NACK + ritrasmissione. ; , , (andata); trasmissioni medie ; bit-rate utile .
- SW: .
- GBN: ; (un errore ritrasmette pacchetti).
- SR: (solo l'errato; buffer al ricevitore).
- Es. ms, , , : SW , GBN () , SR . : , , . GEO: SW , GBN .
- Contesto: 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 → (livello di collegamento dati).
- Errori tipici: ; al posto di ; GBN/SR scambiati.