Strato di collegamento (DL)

Transcript

Strato di collegamento (DL)
Strato di collegamento (DL)
Data Link
ARQ
ARQ: Automatic Retransmission reQuest
z Controllo congiunto di:
¾ Errore
¾ Flusso
¾ Sequenza
su una connessione
2
1
Data Link
Controllo di flusso
z Ha il compito di assicurare che ritmo di arrivo delle UI non superi
la capacità di memorizzazione e elaborazione della entità
ricevente, in modo che non si verifichino perdite di informazione
¾ regolazione dell’emissione del flusso di dati di una entità emittente
da parte della entità ricevente
¾ dipende dalle capacità di memorizzazione del ricevente (buffer) e
dalla sua velocità di elaborazione e smaltimento
¾ spesso viene realizzata in interazione con la funzione di recupero
di errore e/o di controllo di congestione
z Livello 2 e 4
3
Data Link
Controllo di flusso
4
2
Data Link
Controllo di flusso: esempi
z Esempio: seriale RS-232
¾ RTS/CTS (Controllo di flusso HW)
• E’ presente una coppia di fili corrispondenti ai segnali RTS (Request To Send - pin
4) e CTS (Clear To Send - pin 5). Quando un dispositivo ricevente rileva
l'attivazione del segnale RTS da parte del dispositivo trasmittente ed è pronto per
ricevere, allora risponde attivando il CTS. Per interrompere l'invio dei dati da parte
del trasmettitore, il ricevitore può disattivare il segnale CTS, e riattivarlo quando
sarà nuovamente in grado di ricevere i dati.
¾ XON/XOFF (Controllo di flusso SW)
• L'utilizzo dei caratteri XON e XOFF (codici 17 e 19 della tabella ASCII, talvolta
identificati come DC1 e DC3 - device control numero 1 e 3 - e corrispondenti ai
codici di controllo CTRL-Q e CTRL-S) permette di realizzare un controllo di flusso
senza bisogno di segnali hardware dedicati, in quanto XON e XOFF viaggiano
sugli stessi canali dei dati. Il ricevitore trasmette un XOFF quando non è più in
grado di ricevere i dati e un XON quando è nuovamente in grado di riceverli
5
Data Link
Controllo di flusso: esempi
z Esempio: HDLC/X.25 livello 2
¾ controllo di flusso tramite trama (HDLC-PDU) di controllo RNR
(Receiver Not Ready). È una trama utilizzata per indicare che la
stazione è temporaneamente impossibilitata a ricevere nuovi I-frame
(trame informative)
z Esempio: TCP livello 4
¾ controllo di flusso a finestra scorrevole di ampiezza variabile e operante
a livello di ottetti (byte) numerati sequenzialmente
¾ un segmento (TCP-PDU) di riscontro con ACK Number=n e Window=w
significa che il trasmittente è autorizzato a trasmettere fino a ulteriori w
ottetti a partire da n, ovvero fino all’ottetto numerato con n+w-1
6
3
Data Link
ARQ
ARQ: Automatic Retransmission reQuest
z Controllo congiunto di
¾ Errore
¾ Flusso
¾ Sequenza
su una connessione
7
Data Link
Controllo di sequenza
z Recupero in ricezione della corretta sequenza delle UI inviate, in
modo da consegnare le UI allo strato superiore nel corretto
ordine
z Utilizzo di numeri di sequenza delle UI
¾ alle UI emesse viene aggiunto un numero di sequenza (in ordine
crescente e modulo N)
• vengono contate direttamente le UI, oppure
• vengono contati i byte emessi; in questo caso nelle UI viene inserito
il numero di sequenza del primo byte trasportato (e.g. TCP)
z Sono possibili tecniche che fanno ricorso a memorizzazione in
ricezione delle UI e successivo riordinamento, oppure tramite
tecniche generali di recupero di errore
8
4
Data Link
9
Data Link
Riscontri positivi
z I riscontri positivi sono trasferibili,
¾ con trame apposite (trame-ACK), contenenti solo informazione di
controllo, protette con un CRC
¾ con trame contenenti dati di utente (trame-dati) e trasferite nel
verso contrario a quello dell’informazione da riscontrare: in tal
caso il riscontro è contenuto nell’intestazione della trama come
parte dell’informazione di controllo
10
5
Data Link
ARQ
z Tre tipi:
¾ Modalità a riscontro positivo con riemissione (Stop-and-Wait)
¾ Modalità a finestra variabile con riemissione non selettiva (Go-back-N)
¾ Modalità a finestra variabile con riemissione selettiva (Selective
Repeat)
¾ La strategia ARQ più semplice è detta Stop&Wait:
• l’idea base : assicurare che ogni UI sia ricevuta correttamente
dall’entità ricevente prima di iniziare a trasmettere la prossima UI.
11
Data Link
Stop and wait
Il trasmettitore:
1.
2.
3.
4.
Invia una PDU
Attiva un orologio (timeout)
Attende la conferma di ricezione (ack)
Se scade il timeout prima dell’arrivo di ack, ripete la trasmissione
¾ Quando riceve un ACK
1. Controlla la correttezza dell’ACK
2. Controlla il numero di sequenza
3. SE l’ACK e’ relativo all’ultima PDU trasmessa, si abilita la
trasmissione della prossima PDU
12
6
Data Link
Stop and wait
z Il ricevitore:
1.
2.
3.
4.
Riceve una PDU
Controlla la correttezza della PDU
Controlla il numero di sequenza
SE la PDU e’ corretta, invia la conferma di ricezione
13
Data Link
Riscontri
Entità A Trama A
ACK
Trama B
NACK
Trama B
ACK
Entità B
Trama A
ACK
Trama B
NACK
Trama B
ACK
14
7
Data Link
Attenzione
z Non è sufficiente il solo meccanismo dei riscontri: si crea una
situazione di stallo se non arriva il riscontro o se la UI viene
perduta
z Si introducono allora dei meccanismi di temporizzazione: quando
una entità emette una UI fa contemporaneamente partire un
temporizzatore allo scadere del quale la UI viene ri-emessa
15
Data Link
Piggybacking
z Quando il flusso dati è bidirezionale è possibile includere
nell’intestazione della PDU dati un campo con l’informazione
di riscontro (ACK) per il flusso dati che sta
fluendo in direzione opposta
La tecnica è detta “piggybacking”
z I protocolli ARQ prevedono che una UI sia:
• solo dati
• solo controllo
• sia dati che controllo
z Col “piggybacking” si ritarda leggermente l’invio di ACK relativi
ad un flusso nell’attesa di eventuali UI dati nel verso opposto
16
8
Data Link
Efficienza
z Viene valutata mediante il rendimento di trasferimento
η=
Ti
Tr
z Ti: valore atteso del tempo necessario a trasferire PDU tenendo
conto del SOLO ritmo binario di trasferimento
z Tr: valore atteso del tempo necessario a trasferire PDU tenendo
conto ANCHE di:
¾ Extra informazioni legate al protocollo
¾ Vincoli imposti dalla procedura di recupero (in assenza di errori)
¾ Tempi di riemissione delle PDU
17
Data Link
ARQ prestazioni
z Ipotesi:
¾ trame (PDU) di lunghezza costante
¾ riscontri inviati con la tecnica dell’addossamento (si trascura la
lunghezza della parte di PDU dedicata al riscontro e si adotta una
emissione senza ritardo)
¾ lunghezza dell’informazione di protocollo dedicata al riscontro
trascurabile
¾ riscontri individuali
¾ emettitori operanti in condizioni di pieno carico
18
9
Data Link
Stop&Wait: prestazioni in assenza di errori
z Efficienza del canale
¾ in assenza di errori
η=
Tt
Tt + Ta + 2Tp + 2τ
z nell’ipotesi che A abbia
sempre una trama da
trasmettere
19
Data Link
Stop&Wait: prestazioni
™ Trascurando
η=
Tp e Ta e dividendo per Tt:
1
1
=
1 + 2τ / Tt 1 + 2a
z Il rapporto a=τ/Tt influenza l’efficienza del
protocollo:
¾ a è piccolo su reti di piccola estensione e a basso bit rate (efficienza
maggiore)
¾ a è grande su reti molto estese e ad alto bit rate (bassa efficienza)
Il protocollo Stop and Wait può essere poco efficiente a causa di
elevati ritardi di attesa delle conferme
20
10
Data Link
Stop&Wait: prestazioni
parametro a=τ/Tt è noto anche come
tempo di propagazione normalizzato
™ Il
a=
¾
¾
¾
¾
τ
Tt
=
d / v dC
=
L / C Lv
d estensione del collegamento AB [m]
v velocità di propagazione sul collegamento AB [m/s]
L lunghezza di una trama (si assume costante) [bit]
C bit rate sul collegamento [bit/s]
21
Data Link
Stop&Wait: prestazioni
™ Interpretazione
a=
τ
Tt
=
del parametro a=τ/Tt
d / v dC
=
L / C Lv
z a rappresenta il rapporto tra la lunghezza del mezzo in bit
(dC/v) e la lunghezza della trama L
22
11
Data Link
Stop&Wait: prestazioni
z Es.: link da 1 Gb/s, ritardo di propagazione end-to-end
15 ms, pacchetti da 1KB
Tt = 8 kbit/pkt
9
10 bit/s
= 8 µs
Utilizzazione = U = Frazione di tempo =
in cui il trasmettitore
è occupato
8 µs
30.008 ms
= 0.00027
¾ un pacchetto da 1KB ogni 30 ms -> 33kB/s di throughput su un link da
1 Gb/s
¾ il protocollo limita l’uso delle risorse fisiche!
23
Data Link
Stop&Wait: prestazioni in presenza di
errori
z Nel caso di errori sul canale, l’efficienza diventa:
η=
1
Nr (1 + 2τ / T )
¾ Nr è il numero medio di tentativi di trasmissione necessari a
trasmettere una trama
z Nr si può trovare conoscendo la probabilità di errore p
sulla trama
Nr=1/(1-p)
¾ Se p=0.5, mediamente il 50% delle trame sono corrotte e ogni trama dovrà
essere trasmessa 2 volte (Nr=2)
24
12
Data Link
Stop&Wait: prestazioni in presenza di
errori
z Dimostriamolo.
z La probabilità che il numero n di trasmissioni di una trama sia
pari a i, quando la probabilità d’errore su una trama è p :
P[n = i ] = p i −1 (1 − p )
z numero medio di tentativi di trasmissione per trama:
N r = E [n] =
+∞
∑i
i =1
P[n = i ] =
1
1− p
(1)
P[n=i]=P(avere 1 trasmissione con successo e i-1 fallimenti) distribuzione geometrica
25
Data Link
Stop&Wait: prestazioni in
presenza di errori
z Dimostriamo la (1)
N r = E [n] =
+ ∞ i −1
∑ i p (1 −
i =1
p ) = (1 −
i
+ ∞ dp
p) ∑
i =1 dp
=
∞ i⎫
d ⎧
d ⎧
1 ⎫
= (1 − p) ⎨− 1 + ∑ p ⎬ = (1 − p) ⎨− 1 +
⎬=
i =0 ⎭
dp ⎩
dp ⎩
1− p ⎭
= (1 − p)
1
(1 − p)2
=
1
(1 − p)
26
13
Data Link
Stop&Wait: prestazioni in
presenza di errori
z Quindi l’efficienza in presenza di errori:
η=
Tt
( Nr − 1)(Tt + T ) + Tt + Ta + 2Tp + 2τ
z L’efficienza max si ottiene nel caso limite in cui il timeout T
scatta nell’istante in cui avrebbe dovuto essere ricevuto il
riscontro in assenza di errori, cioè:
T = Ta + 2Tp + 2τ
27
Data Link
Stop&Wait: prestazioni in
presenza di errori
z Quindi l’efficienza max in presenza di errori:
ηmax =
Tt (1 − p)
(1 − p)
≈
Tt + Ta + 2Tp + 2τ 1 + 2a
28
14
Tecniche ARQ
(protocolli a finestra)
Data Link
Protocolli “pipeline”
z Pipelining: al trasmettitore è consentito l’invio di trame
multiple senza che debba aspettare i riscontri
¾ le trame in transito possono essere viste come il riempimento di un
canale (pipeline)
¾ il range di numeri di sequenza aumenta (piu’ pacchetti di ack in
transito)
¾ necessità di buffering al sender e/o al receiver
30
15
Data Link
Protocolli “pipeline”
z Due tipi di protocolli pipeline: go-Back-N, selective
repeat
31
Data Link
Protocolli a finestra
PDU
PDU
PDU
PDU
confermate in attesa
che possono che non possono
di conferma essere trasmesse ancora essere
trasmesse
WT
n
Trasmettitore
WT: finestra di trasmissione (dimensione N)
La finestra scorre in avanti sullo spazio dei numeri di sequenza ogni volta che si
riceve un riscontro.
32
Si parla di protocolli a finestra scorrevole (sliding window).
16
Data Link
ACK Cumulativi
La semantica associata alla trama di
riscontro può essere:
•
ACK individuale: si notifica la corretta
ricezione di una trama particolare
•
ACK cumulativo: si notifica la corretta
ricezione di tutte le trame con numero
di sequenza inferiore a quello specificato
nell’ACK
33
Data Link
Protocolli a finestra
WT avanza di una posizione ogni volta che
riceve una PDU di tipo ACK relativa alla
posizione più bassa della finestra.
Se il trasmettitore riceve un ACK-n relativo
a una PDU-n che non è nella posizione più
bassa, può avanzare WT fino alla posizione
n, ignorando il fatto che alcuni ACK non
siano ancora stati ricevuti.
34
17
Data Link
Go back N
35
Data Link
Go back N
Il trasmettitore
•
invia fino ad N PDU facendo di ognuna
una copia
•
attiva un orologio per ogni PDU
•
si pone in attesa delle conferme di
ricezione (ACK)
•
se scade un timeout prima dell’arrivo
delle conferme, ripete la trasmissione
di tutte le PDU non ancora confermate
36
18
Data Link
Go back N
Il ricevitore, quando riceve una PDU
•
controlla la correttezza della PDU
•
controlla il numero di sequenza
•
se la PDU contiene il primo numero di
sequenza non ancora ricevuto, viene
consegnata ai livelli superiori, altrimenti
viene scartata
•
invia la conferma di ricezione
I pacchetti vengono scartati anche se CORRETTI
per semplificare il ricevitore e ridurre la necessità di buffering
37
Data Link
Go back N
La numerazione delle PDU è ciclica
• k bit di numerazione
• numerazione modulo 2k
38
19
Data Link
Finestra
E’ la sequenza di numeri consecutivi che sono compresi tra un
limite inferiore e uno superiore (estremi inclusi)
z Scorrevole: se aumentando Lsup la sua dimensione W resta
inalterata
z In emissione: e’ il numero massimo di PDU che posso emettere
sequenzialmente senza ricevere riscontro per alcuna di esse
z In ricezione: e’ il numero massimo di PDU che posso essere
accolte senza emettere riscontro per alcuna di esse
39
Data Link
Go back N
il trasmettitore e` significativamente
piu` complesso rispetto al caso
dello Stop and wait
• memoria
• orologi
• algoritmi
40
20
Data Link
Si possono usare conferme cumulative
• orologio al ricevitore
41
Data Link
•La finestra di trasmissione non può avere
dimensioni arbitrarie
WT < 2k
•La numerazione modulo M impone un vincolo
sul numero massimo (<=M-1) di PDU che si
possono emettere senza avere un ricontro per
alcuna di esse. Questo per evitare ambiguita’ nei
riscontri.
42
21
Data Link
Il protocollo Go back N è più efficiente dello
Stop and wait ma richiede
• memoria
• più orologi
• algoritmi più complicati
al trasmettitore
• Se non si verificano errori più è grande WT
migliore è l’efficienza
43
Data Link
La complessità del ricevitore
rimane inalterata
La finestra di ricezione ha ancora
dimensione 1
Gli ACK cumulativi però richiedono
un orologio
44
22
Data Link
Problemi
Quando la dimensione della finestra e il
ritardo end-to-end sono entrambi
grandi
•
•
molte trame in transito; un errore su una
sola trama può costringere il GBN a
ritrasmettere un gran numero di trame,
molte delle quali potrebbero non essere
necessarie
all’aumentare della probabilità di errore sul
canale questo può diventare saturo di
ritrasmissioni
45
Data Link
Prestazioni del Go back- N
In assenza di errori:
L’utilizzazione U del link dipende dal confronto tra
il tempo necessario a svuotare la finestra di
trasmissione (WTt, dove W è la dimensione della
finestra in trame e Tt il tempo di trasmissione di
trama) e il tempo necessario a ricevere un ack
(Tt+2τ)
⎧
⎪
1
⎪
U =⎨
⎪ WTt
W
⎪T + 2τ = 1 + 2a
⎩ t
dove a=τ/Tt
WTt ≥ Tt + 2τ
WTt < Tt + 2τ
46
23
Data Link
Prestazioni del Go back- N
Nota
Anche in questo caso, come per lo Stop & Wait
l’efficienza dipende dal parametro a in modo
inversamente proporzionale, però, a differenza
dello Stop & Wait, in questo caso l’efficienza può
essere aumentata aumentando la dimensione
della finestra di trasmissione W.
47
Data Link
Prestazioni del Go back- N
1
1
2
2
3
3
4
4
W=4
WTt ≥ Tt+2τ
W=2
WTt< Tt+2τ
48
24
Data Link
Prestazioni del Go back- N
In presenza di errori:
L’utilizzazione si riduce del numero medio di
ritrasmissioni per trama Nr:
1
⎧
⎪ N se W ≥ 1 + 2a
r
⎪
U =⎨
⎪ W
⎪ N (1 + 2a) se W < 1 + 2a
⎩ r
49
Data Link
Prestazioni del Go back- N
Calcolo di Nr
™ Per ogni trama errata vengono ritrasmesse K trame
(0<K<W)
ƒ
1 trama
con probabilità di successo (1-p)
ƒ
K+1 trame
con probabilità di successo (1-p)p
ƒ
2K+1 trame
con probabilità di successo (1-p)p2
ƒ
…
ƒ
iK+1 trame
con probabilità di successo (1-p)pi
50
25
Data Link
Prestazioni del Go back- N
Calcolo di Nr (continua)
Il numero medio di trame ritrasmesse Nr:
Nr =
∞
∑
i =0
∞
(iK + 1) pi (1 − p) = (1 − p) ∑ (iK + 1) pi =
i =0
∞
∞
⎡ ∞
1 ⎤
= (1 − p)⎡ ∑ iKpi + ∑ pi ⎤ = (1 − p)⎢Kp ∑ ipi −1 +
⎥=
⎢⎣i =0
=
0
i =0 ⎥
i
⎦
1
p
−
⎣
⎦
= (1 − p)Kp
1
Kp
+
1
=
1
+
(1 − p)
(1 − p)2
51
Data Link
Prestazioni del Go back- N
Calcolo di K
Dipende dalla dimensione della finestra
⎧1 + 2a WTt ≥ Tt + 2τ
⎪
K ≈⎨
⎪ W
WTt < Tt + 2τ
⎩
52
26
Data Link
Prestazioni del Go back- N
Allora Nr
⎧ p(1 + 2a) 1 + 2ap
⎪1 + 1 − p = 1 − p
⎪
Nr = ⎨
⎪ pW 1 − p + pW
⎪1 + 1 − p = 1 − p
⎩
W ≥ 1 + 2a
W < 1 + 2a
53
Data Link
Prestazioni del Go back- N
E l’efficienza
1
1− p
⎧
=
+
1
⎪
Nr
1 + 2ap
⎪
η =⎨
⎪ W
W (1 − p)
=
⎪ N (1 + 2a) (1 + 2a)(1 − p + pW )
⎩ r
W ≥ 1 + 2a
W < 1 + 2a
per W=1 si comporta come lo Stop & Wait
54
27
Data Link
Nel protocollo Go back N il
ricevitore può accettare solo PDU
in sequenza
Accettare PDU corrette, ma fuori
sequenza, può migliorare le
prestazioni
Selective repeat
55
Data Link
Il Selective repeat chiede la ritrasmissione
soltanto di quelle trame arrivate errate o non
arrivate
Il ricevitore riscontra una trama ricevuta
correttamente, che sia o meno in ordine.
Le trame fuori sequenza sono archiviate in
memoria finché non siano ricevute tutte le
trame perse (con numeri di sequenza
più bassi), quindi il gruppo di trame è
inviato in ordine allo strato superiore
56
28
Data Link
Riordino delle trame
¾ occorre mantenere un buffer in ricezione e
inoltrare ai livelli superiori solo le sequenze
corrette
57
Data Link
Il protocollo Selective repeat usa
• finestra di trasmissione
• finestra di ricezione
di dimensioni maggiori di 1
58
29
Data Link
Selective repeat: finestre
•
Le finestre di trasmissione e ricezione non
devono necessariamente essere sincronizzate!
59
Data Link
Selective repeat
Il trasmettitore
• invia fino ad N PDU
• attiva un orologio per ogni PDU
• si pone in attesa delle conferme di
ricezione (ACK)
• se scade un timeout prima dell’arrivo
della conferma, ripete la trasmissione
della sola PDU
60
30
Data Link
Selective repeat
il ricevitore
• riceve una PDU
• controlla la correttezza della PDU
• controlla il numero di sequenza
• se la PDU è corretta ed in sequenza
invia un ACK
61
Data Link
Selective repeat
• se la PDU è corretta ma non in
sequenza
•
•
se è entro la finestra di ricezione, la
memorizza ed invia un ACK relativo
all’ultima PDU ricevuta in sequenza
se è fuori dalla finestra di ricezione, la
scarta ed invia un ACK relativo
all’ultima PDU ricevuta in sequenza
62
31
Data Link
Vantaggi Selective repeat
Il vantaggio del Selective repeat sul Go backN è significativo se WR è sufficientemente
grande.
Per avere vantaggi rispetto al Go back-N
occorre utilizzare ACK individuali oppure
avere timer associati alla finestra.
63
Data Link
Trasmissione degli Ack
¾ ACK singoli per ogni trama
• ritrasmissione per le trame senza ACK dopo un timeout
¾ ACK cumulativi: bitmap
RN=5
0 1 1 1 0 1 1 1 1 0
¾ l’informazione necessaria è maggiore
64
32
Data Link
Selective repeat:
dilemma
1
2
Esempio:
3
K=2, Num. Seq: 0, 1, 2, 3
WT=3
z Il receiver non vede
differenza tra i due scenari!
z Erroneamente passa i dati
duplicati come fossero nuovi
(in (a))
z Che relazione deve
esserci tra il max numero
di sequenza e la
dimensione della finestra?
1
2
3
65
Data Link
In questo caso deve essere
WT + WR ≤ 2k
66
33
Data Link
Selective repeat: finestre
Esempio
z Trasmettitore e ricevitore hanno una finestra di dimensione
WT=WR=7; i numeri di sequenza usano k=3 bit:
Tx
01234567
Rx
01234567
z Il Tx invia le trame da 0 a 6; le trame arrivano correttamente, il Rx
invia i riscontri e fa avanzare la finestra per ricevere le trame 7, 0,
1, 2, 3, 4, 5:
Tx
01234567
Rx
01234567
67
Data Link
Esempio (continua)
z I riscontri si perdono e non arrivano a destinazione.
z Lo scadere del timeout al trasmettitore provoca la
ritrasmissione della trama 0
z La trama 0 è accettata dal ricevitore, essendo inclusa nella sua
finestra (errore!)
z Causa del problema: il nuovo range di numeri di sequenza
validi si sovrappone al vecchio range. Il ricevitore non ha
modo di distinguere se le trame sono nuove o duplicate
z Soluzione: usare una dimensione di finestra tale che non ci sia
sovrapposizione
W + WR ≤ 2
k
T
68
34
Data Link
Esempio (continua)
z Se Tx e Rx usano WT= WR= 4, il problema si risolve
z Condizione iniziale
Tx
01234567
Rx
01234567
z Dopo l’invio di 4 trame correttamente ricevute
Tx
01234567
Rx
01234567
z Se anche i riscontri andassero persi, non ci sarebbe ambiguità e la
ritrasmissione della trama 0 dopo lo scadere del timeout verrebbe
scartata dal ricevitore
69
Data Link
Selective repeat: finestre
z La scelta ottimale della dimensione delle finestre è:
WT=WR=2k/2
z Scegliere WT > WR implica che la stazione ricevente potrebbe
scartare alcune trame corrette ricevute fuori sequenza perché
non rientrano nell’apertura corrente della finestra di ricezione
z Scegliere WT < WR implica predisporre un’apertura della
finestra di ricezione che non potrà mai essere sfruttata
pienamente
70
35
Data Link
Si possono usare
conferme negative (NAK)
L’uso del NAK può avvantaggiare
anche
• Stop and Wait
• Go back N
71
Go back - N
™
2
3
™
4
™
5
6
Data Link
NAK 4 può essere
inviata solo dopo la
corretta ricezione della
trama 5!
NAK 4 indica la mancata
ricezione della trama 4 e
la corretta ricezione di
tutte le trame fino alla (41)
Dopo l’invio del NAK la
stazione ricevente scarta
tutte le trame ricevute
con numeri di sequenza
>4 (5, 6, 7) fino alla
corretta ricezione della
trama 4
72
36
Data Link
Selective repeat
™
™
™
NAK i indica
solo la
mancata
ricezione
della trama i
B accetta le
trame
successive
alla corretta
ricezione
della trama i
viene inviato
un ACK
cumulativo
2
2
3
3
4
4
5
0
1
1
73
Data Link
Prestazioni del Selective Repeat
In assenza di errori:
Funziona come il Go back N
⎧
⎪
1
⎪
U =⎨
⎪ WTt
W
⎪T + 2τ = 1 + 2a
⎩ t
WTt ≥ Tt + 2τ
WTt < Tt + 2τ
dove a=τ/Tt
74
37
Data Link
Prestazioni del Selective Repeat
In presenza di errori:
Come per il Go back N, l’utilizzazione si riduce del
numero medio di ritrasmissioni per trama Nr:
1
⎧
⎪ N se W ≥ 1 + 2a
r
⎪
U =⎨
⎪ W
⎪ N (1 + 2a) se W < 1 + 2a
⎩ r
quello che cambia è il calcolo di Nr
75
Data Link
Prestazioni del Selective Repeat
Calcolo di Nr
™ In questo caso, Nr coincide col valore calcolato
per la tecnica Stop&Wait
Nr =
1
1− p
76
38
Data Link
Prestazioni del Selective Repeat
Quindi l’efficienza
1
⎧
=1− p
⎪
Nr
⎪
η =⎨
⎪ W
W (1 − p)
⎪ N (1 + 2a) = (1 + 2a)
⎩ r
W ≥ 1 + 2a
W < 1 + 2a
77
Data Link
Confronti
78
39
Data Link
Considerazioni
go-back N :
efficienza molto maggiore rispetto allo
stop&wait
richiede un’elaborazione supplementare
minima.
selective repeat:
efficienza moderatamente maggiore
rispetto al go-back N
costi (memoria, processing) tali da fa
preferire go-back N
79
Data Link
Considerazioni
Efficienza IN ASSENZA di ERRORI
z Nei tre metodi e’ limitata (nello stesso modo) dalla parte di extra
informazione, (pari al rapporto tra la lunghezza della intestazione
h e la lunghezza del campo dati della PDU) rispetto
all’informazione utile.
z Stop&wait e’ limitata anche dal parametro a
z Anche GBN e SR sono ulteriormente penalizzate da a perche’
questo parametro condiziona la larghezza della finestra critica
(1+2a) in emissione e quindi anche il valore del modulo di
numerazione. Se la larghezza di finestra e’ maggiore uguale di
quella critica, non si ha ulteriore dipendenza da a
80
40
Data Link
Considerazioni
In presenza di errori l’efficienza
z S&W e SR e‘ ulteriormente limitata dalla probabilita’ che il
trasferimento di una PDU avvenga senza errore (1-p)
z GBN: limitata ulteriormente rispetto a SR. Termine (1+2ap) al
denominatore
¾ Ogni volta che si presenta un errore, vengono ritrasmesse TUTTE
le PDU presenti nel mezzo di comunicazione
¾ Efficienza dipende dal prodotto 2ap -> al crescere di a o p o di
entrambe, l’eff. peggiora.
81
Data Link
Considerazioni
z La numerazione delle PDU e’
¾ Indispensabile
¾ Ciclica
z Basta un solo bit per la numerazione 0 - 1
z so opposto
82
41