Complementi sul controllo
d’errore (parte II)
Efficienza di Idle RQ
Lo schema Idle RQ ha un efficienza di utilizzo del link pari a:
U idle= Tix / (Tix+2Tp) = 1 / 1+2a
Efficienza di Continuous RQ
Se supponiamo che non ci siano errori di trasmissione, uno schema
Continuous RQ, che ammetta al più 3 frames “in sospeso” (cioè per i
quali non ha sia ancora arrivato un ACK), ha efficienza di utilizzo:
U idle= 3Tix
/ (Tix+2Tp) = 3 / 1+2a =3U idle
Continuous RQ con errori di trasmissione
• Se il frame N arriva al ricevente R corrotto, viene scartato.
• Quando R riceve il pacchetto successivo, N+1, si rende
conto che V(S)  N+1: manca un pacchetto!
• Ci sono due possibili strategie:
–Selective Repeat: R attende che M, alla scadenza del
timer, rimandi il pacchetto N (implicit retransmission)
oppure chiede esplicitamente a M di rimandare il pacchetto
N tramite un frame di controllo NAK (explicit request).
Nel frattempo, accumula i frames corretti che arrivano nella
receive list (i pacchetti devono essere trasferiti in ordine al
livello superiore e quindi bisogna aspettare il pacchetto N).
–Go-Back-N: R chiede a M di rimandare il frame N e tutti i
successivi tramite un pacchetto speciale NAK chiamato
reject.
Nel frattempo R scarta tutti i pacchetti corretti che riceve.
Selective Repeat
• Il ricevente R attende che M, alla scadenza del
timer, rimandi il pacchetto N (implicit
retransmission) oppure chiede esplicitamente a
M di rimandare il pacchetto N inviandogli un frame
di controllo NAK (explicit request).
• Nel frattempo, R accumula i frame corretti che
arrivano nella receive list.
I pacchetti devono essere trasferiti al livello
superiore in ordine: bisogna aspettare il
pacchetto N prima di inoltrare al livello
superiore eventuali pacchetti contrassegnati
da un numero successivo.
Selective Repeat (ritrasmissione implicita) (1)
frame N+1 corrotto
Ritrasmissione implicita
• Man mano che riceve ACK, M rimuove dalla
retransmission list i pacchetti corrispondenti.
• La retransmission list è una lista FIFO. La
ritrasmissione avviene se:
1. il timer associato ad un pacchetto scade;
2. M riceve un ACK relativo ad un pacchetto che non è
nella coda della lista di ritrasmissione.
• I due criteri non sono poi così diversi.
– In generale il tempo di timeout è impostato a 2Tp.
• R invia al suo livello superiore (il sistema operativo)i
pacchetti dopo averli riordinati.
Selective Repeat (ritrasmissione implicita) (2)
ACK N corrotto
FINE
Scarica

parte 2