Complementi sul controllo d’errore (parte I)

8
Complementi sul controllo d’errore (parte I)

description

Complementi sul controllo d’errore (parte I). Introduzione. Lo schema di gestione d’errore Idle RQ garantisce che i pacchetti: arrivino non corrotti al ricevente; vengano sempre ricevuti nel corretto ordine. - PowerPoint PPT Presentation

Transcript of Complementi sul controllo d’errore (parte I)

Page 1: Complementi sul controllo  d’errore (parte I)

Complementi sul controllo d’errore (parte I)

Page 2: Complementi sul controllo  d’errore (parte I)

Introduzione

• Lo schema di gestione d’errore Idle RQ garantisce che i pacchetti:

– arrivino non corrotti al ricevente;– vengano sempre ricevuti nel corretto ordine.

• R richiede a M la ripetizione dell’invio dei pacchetti che non sono stati ricevuti correttamente.

Sia M che R possono avere buffer minimi: basta siano in grado di memorizzare un singolo pacchetto.

Page 3: Complementi sul controllo  d’errore (parte I)

Problemi con Idle RQ

• M invia a R un solo pacchetto alla volta:

- mentre M attende l’ACK per il pacchetto appena trasmesso, non può trasmettere altri pacchetti.

• Lo schema Idle RQ non è molto efficiente:

- quando la velocità di connessione (bit rate) della linea è molto elevata;

- quando il link che collega M a R è molto lungo.

Page 4: Complementi sul controllo  d’errore (parte I)

Continuous RQ

Lo schema di controllo Continuous RQ cerca di aumentare l’efficienza di utilizzo della connessione a spese della dimensione dei buffer di ricezione e trasmissione, che devono essere più capienti.

L’idea di base: • il mittente trasmette pacchetti continuamente

“continuous” = continuo vs. “idle” = inattivo

Page 5: Complementi sul controllo  d’errore (parte I)

Schema generale senza errori di trasmissione (1)

Il mittente M:

• spedisce continuamente pacchetti [distinti dal numero progressivo di trasmissione I(N)].

• conserva ogni frame spedito in un buffer detto lista di ritrasmissione o retransmission list.

• quando riceve l’ACK[N], M rimuove il pacchetto N corrispondente dal buffer.

• per ciascun frame spedito viene attivato un timer. Allo scadere del timer, se il pacchetto è ancora nella lista di ritrasmissione viene rispedito a R.

• memorizza in una variabile V(S) il numero del prossimo pacchetto da trasmettere.

Page 6: Complementi sul controllo  d’errore (parte I)

Schema generale senza errori di trasmissione (2)

Il ricevente R:

• quando riceve correttamente il pacchetto N, manda a M un pacchetto ACK(N) per confermare la ricezione. L’ACK contiene il numero N del frame ricevuto.

• mette il pacchetto ricevuto in una lista di attesa: la lista di ricezione o receive list.

• la variabile V(R) contiene il numero del successivo pacchetto da trasferire al livello applicativo superiore (che attende da M).

Page 7: Complementi sul controllo  d’errore (parte I)

Schema generale senza errori di trasmissione (3)

Page 8: Complementi sul controllo  d’errore (parte I)

OsservazioniIn attesa del primo ACK, la retrasmission list cresce.Il tempo che intercorre tra quando M spedisce il pacchetto N e quando riceve la conferma ACK[N] è RTT=2Tp (RTT=“Round Trip Time”).Il numero di pacchetti che M può spedire in questo intervallo di tempo è:

K=(Tix+2Tp)/ Tix =1+2RL/Dv = 1+2

dove:

La retrasmission list deve contenere almeno K frame -> M deve avere un buffer ben più grande rispetto a Idle RQ.

• Tp=L/v è il tempo di propagazione del segnale da M a R, ottenuto dividendo la lunghezza L della linea per la velocità v di propagazione del segnale.

• Tix=D/R è il tempo di trasmissione, cioè il tempo che M impiega a trasmettere il pacchetto, ottenuto dividendo la dimensione D del pacchetto per il bit-rate R della linea.

FINE