Lezione 9: Procedure per il controllo di errore e HDLC

Transcript

Lezione 9: Procedure per il controllo di errore e HDLC
Lezione 9
Lezione 9
Procedure di Controllo di Errore
e HDLC
Gianluca Reali
Lezione 9
Classificazione delle strategie di controllo di
errore
Codici a correzione
di errore
Codici a rivelazione
di errore
Lezione 9
Protocolli Stop & Wait
Tf: tempo di Tx di una trama (s)
Ta: tempo di Tx di un riscontro (s)
Tp: tempo di elaborazione di una UI (s)
: tempo di propagazione (s)
C: frequenza di cifra sul link (bit/s)
Lf :lunghezza di una trama (bit)
La: lunghezza di un riscontro (bit)
d: estensione del link (bit)
v: velocità di propagazione (m/s)
a=/Tf : tempo di propagazione normalizzato
Lezione 9
Protocolli Stop & Wait
Ipotesi di assenza di errori
Efficienza del protocollo S&W:

Tf
T f  Ta  2T p  2

Tf
T f  2

1
1  2a
Lezione 9
Protocolli Stop & Wait
Ipotesi di presenza di errori; meccanismo del time-out T
errore nel riscontro
errore nella trama
duplicazione
T  Ta  2T p  2
T  2 se Ta  T p  0
Lezione 9
Protocolli Stop & Wait
Ipotesi di presenza di errori
p: probabilità di errore di bit
P: probabilità che una trama non sia trasmessa con successo >
probabilità di errore (o perdita) di trama
ai: probabilità trasmissione riuscita all’i-esimo tentativo
Ns :numero medio di tentativi di trasmissione per trama
L f  La
P  1  1  p 


N s   iai   iP
i 1
i 1

i 1
1  P   1  P  iP
i 1
i 1
d  i
1
 1  P   P 
dP i 1
1 P
Lezione 9
Protocolli Stop & Wait
Efficienza del protocollo S&W:

Tf
N s  1T f
 T   T f  Ta  2T p  2
se
T  Ta  2T p  2

Tf
T
f
 Ta  2T p  2 N s

T f 1  P 
T f  Ta  2Tp  2

1 P

1  2a
Lezione 9
Protocolli Continuous ARQ
-
Numero finito di bit per
numerare trame e ACK
Numerazione ciclica
ACK cumulativi
Memoria di ritrasmissione
Memoria di ricezione
Strategie di ritrasmissione
a) Go-Back-N (GBN)
b) Selective Repeat (SR)
ACK i
NACK i
Ipotesi di assenza di errori
Lezione 9
Protocolli Continuous ARQ
Go-Back-N
Selective repeat
Lezione 9
Protocolli Continuous ARQ
Efficienza dei protocolli
se Ta  T p  0
Tf
1


N sT f N s
Caso Selective repeat
1
Ns 
1 P
  1 P
Lezione 9
Protocolli Continuous ARQ
Caso Go-Back-N;
sia K il numero medio di trame consecutive che devono essere
ritrasmesse in seguito a un errore
N s  11  P   K  1P 1  P   ...  iK  1P i 1  P   ...



N s   iK  1P 1  P    iKP 1  P    P i 1  P  
i
i 0
i
i 0

i 0


d i
 KP 1  P  iP  (1  P) P  KP 1  P 
P  (1  P ) P i
i 0
i 0
i  0 dP
i 0
KP
1  K  1P

1 
Si può assumere per il corretto
1 P
1 P
i 1

i
funzionamento del protocollo che
KTf
KT f  T f  2 ,
1
1 P


N s 1  2aP
ovvero K  1  2a
Lezione 9
Controllo di Flusso a Finestra
Generalmente occorre limitare il numero di trame trasmesse
consecutivamente senza riscontro per evitare la saturazione del
buffer in ricezione.
Il controllo di flusso sliding window consiste nello specificare due
finestre, una in trasmissione, W s, e una in ricezione, W r
W s indica il numero di trame che possono essere trasmesse senza
dover attendere i relativi riscontri.
W r indica il numero di trame consecutive che possono essere
accettate fuori sequenza dal ricevitore.
Lezione 9
Controllo di Flusso a Finestra
trame
confermate
trame
trame
trame
in attesa
che possono
che non possono
di conferma essere trasmesse ancora essere
trasmesse
Ws
n
GBN
trame
confermate
n
Wr
trame attese
Trame accettate
fuori sequenza
trame
fuori sequenza
che non possono
essere accettate
SR
n
Lezione 9
Controllo di Flusso a Finestra
La numerazione delle PDU è ciclica
• k bit di numerazione
• numerazione modulo 2k
WR
7
WT
0
3 bit di
numerazione
6
1
WR  1
WT  3
5
2
4
3
Lezione 9
Controllo di Flusso a Finestra
Esempio di aggiornamento della finestra in trasmissione
Inizio del
colloquio
L'entità emette L'entità emette
la trama 0
la trama 1
3
0
0
0
1
2
3
1
2
Lim. infer. = 0 Lim. infer. = 0
Lim. super.= 1 Lim. super.= 1
L'entità può
emettere
2 trame
L'entità riceve
il riscontro
della trama 0
L'entità può
emettere
1 trama
3
L'entità riceve
il riscontro
della trama 1
0
1
3
0
1
3
1
2
2
2
Lim. infer. = 0
Lim. super.= 1
Lim. infer. = 1
Lim. super.= 2
Lim. infer. = 2
Lim. super.= 3
L'entità
non può
emettere
trame
L'entità può
emettere
1 trama
L'entità può
emettere
2 trame
Lezione 9
Controllo di Flusso a Finestra
Esempio di aggiornamento della finestra in ricezione
Inizio del
colloquio
0
3
1
2
L'entità può
ricevere le
trame 0,1 e 2
L'entità riceve
la trama 0
L'entità riceve
le trama 2 e 3
0
3
L'entità riceve
la trama 1
0
1
2
3
L'entità riceve
le trame 0 e 1
0
0
1
2
Lim. infer. = 1
Lim. super.= 3
I limiti non
sono
aggiornati
L'entità può
ricevere le
trame 1,2 e 3
L'entità può
ricevere
solo la
trama 1
3
1
2
3
1
2
Lim. infer. = 0
Lim. super.= 2
Lim. infer. = 2
Lim. super.= 0
L'entità può
ricevere le
trame 0,1 e 2
L'entità può
ricevere le
trame 2,3 e 0
Lezione 9
Controllo di Flusso a Finestra
Ws=4
Ws=2
Si vede che per ottenere la massima utilizzazione del link occorre che
WsT f  T f  2 ,
ovvero Ws  1  2a
Lezione 9
Controllo di Flusso a Finestra
Efficienza dei protocolli Continuous ARQ in presenza
del controllo di flusso a finestra scorrevole
sia Ta  Tp  0
In assenza di errori
Ws  1  2a
1,

 sw   WsT f
, Ws  1  2a
 T f  2

Lezione 9
Controllo di Flusso a Finestra
In presenza di errori
se
Ws  1  2a
   sw
se
1  P,
SR
1
1 

  1 P
, GBN
Ns Ns 
1  2aP
 1
SR
 1 P ,
Ns  
1  2aP

, GBN
 1 P
Ws  1  2a
   sw
Ws 1  P 
WsT f
 1  2a ,
1
Ws


  W 1  P 
s
N s T f  2 N s 1  2a N s 
,
 1  2a 1  2aP 


SR
GBN
Dove Ns è il numero medio di trame trasmesse per riuscire a trasmettere
una trama con successo
Lezione 9
Controllo di Flusso a Finestra
La ciclicità della numerazione delle trame potrebbe generare ambiguità
nella numerazione delle stesse, soprattutto se si usano riscontri
cumulativi. Per evitare ciò occorre imporre dei limiti all’apertura delle
finestre.
Nel caso Go-Back-N necessariamente W r=1. Per evitare ambiguità
occorre che sia W s≤N-1, con N=2b il modulo di numerazione delle trame.
Nel caso selective repeat, occorre evitare che la finestra in ricezione,
ruotando per aver ricevuto delle trame in sequenza si sovrapponga con
quella in trasmissione. Quindi occorre imporre che W s+W r≤N. La scelta
ottimale è la seguente: W s=W r=N/2
Lezione 9
Controllo di Flusso a Finestra
Lezione 9
Controllo di Flusso a Finestra
Lezione 9
Efficienza del collegamento
Esempio di collegamento terrestre, lunghezza dei riscontri di 48 bit
Lezione 9
Efficienza del collegamento
Esempio di collegamento satellitare, lunghezza dei riscontri di 48 bit
Lezione 9
Efficienza del collegamento
Esempio di collegamento satellitare, BER bassa, riscontri di 48 bit
Lezione 9
High Level Data Link Control
(HDLC)
Tipi di Stazione:
Stazione PRIMARIA:
Stazione SECONDARIA:
Stazione COMBINATA:
responsabile del controllo del collegamento
operato tramite comandi
sotto il controllo della stazione primaria,
ed emette risposte
combina le funzioni di stazione primaria e
secondaria
Configurazioni di linea:
SBILANCIATA: sono presenti una stazione primaria e una o più secondarie
BILANCIATA:
sono presenti due stazioni combinate
Lezione 9
Configurazione Sbilanciata (Master-Slave)
slave
master
Le PDU delle stazioni primarie (master) sono
dette comandi (command), quelle delle stazioni
secondarie (slave) sono dette risposte (response)
Lezione 9
Struttura delle trame
Flag: delimita le trame con la sequenza binaria 01111110
Address: specifica la stazione secondaria ricevente nel caso
di comandi, trasmittente nel caso di risposte (superfluo per
configurazioni punto-punto). L’indirizzo di tutti
simboli 1 è usato per i comandi broadcast
FCS: serve per la rivelazione degli errori nella trama
Control: specifica il tipo di trama, e la numerazione; può assumere
tre diverse configurazioni
Lezione 9
Struttura del campo di controllo
Information
Supervisory
Unnambered
N(s): numero della trama corrente.
N(r): numero della trama attesa (riscontro implicito fino alla N(r)-1).
P/F: Poll (1) usato da una stazione primaria per sollecitare una risposta,
che sarà indicata con il bit posto a 0 (Final) da parte della stazione secondaria.
S-M: specificano la trama
Lezione 9
Struttura del campo di controllo
Formato a 16 bit
Information
Supervisory
Lezione 9
Trame di Supervisione (S)
RR
RNR
REJ
SREJ
(Receiver Ready - C/R)
riscontro positivo
(Receiver Not Ready - C/R)
riscontro positivo e dichiarazione di
non disponibilità del ricevitore
(Reject - C/R)
richiesta di ritrasmissione di tutte le
PDU a partire da N(R)
(Selective Reject - C/R)
richiesta di ritrasmissione della sola
PDU N(R) e riscontro fino a N(R)-1;
non ammessa da LAPB e 802.2
Lezione 9
Modi Operazionali
Asynchronous Balanced Mode (ABM)
 Utilizzato in configurazioni punto-punto bilanciate.
 Il bit P/F richiede risposte immediate.
Normal Response Mode (NRM)
 Adatto a linee punto-punto o multipunto sbilanciate, con
una stazione primaria e una o più stazioni secondarie.
 La stazione primaria pone a 1 il bit di P/F e abilita la
stazione secondaria, che porrà a 1 il bit P/F della sua ultima
PDU.
Asynchronous Response Mode (ARM)
 Adatto a configurazioni sbilanciate. La stazione secondaria
non deve aspettare l’interrogazione (poll) della primaria.
Lezione 9
Trame non numerate (U)
Ci sono 5 bit di tipo M, quindi si possono distinguere 32 PDU.
Sei trame vengono utilizzate per (ri) inizializzare il collegamento
SNRM(E) : Set Normal Response Mode
SARM(E) : Set Asynchronous Response Mode
SABM(E) : Set Asynchronous Balanced Mode
E = numerazione estesa (Extended)
Sono sempre PDU di tipo comando.
Lezione 9
Trame non numerate (U)
DISC
UA
(Disconnect - C) annuncia che il collegamento viene abbattuto
(Unnumbered Acknowledgement – R è il riscontro a PDU di
inizializzazione o di tipo DISC
DM
(Disconnect Mode - R)
viene emessa quando il collegamento non è inizializzato
FRMR (FRaMe Reject - R) indica la ricezione di una PDU corretta ma
non riconosciuta, codifica in 24 bit di dati il motivo del rifiuto
UI
(Unnumbered Information - C/R) utilizzata per dati in modalità
non orientata alla connessione
XID
(eXchange IDentification - C/R)
TEST (C/R)
UP
(Unumbered Poll - C)
SIM
(Set Initialization Mode - C)
RIM
(Request Initialization Mode - R)
Lezione 9
Bit Stuffing
Per garantire la trasparenza dei dati (configurazioni binarie
arbitrarie), occorre che la configurazione binaria 01111110
usata per i flag non possa ripetersi in campi diversi delle
trame. Quindi si inserisce un simbolo 0 dopo una
successione di cinque simboli 1, ad eccezione dei flag.
Occorre notare che la presenza di errori potrebbe rendere
la tecnica inefficace, causando la divisione di una trama o
la fusione di trame successive
Lezione 9
Esempio di trasferimento ABM
Assenza di errori
Stazioni
Combinate
(ABM)
fase di set-up
fase di dati
Lezione 9
Esempio di trasferimento ABM
Presenza di errori Go-Back-N
Selective repeat
Lezione 9
Esempio di trasferimento ABM
Esempio di ritrasmissione per timeout
Da notare che se il tempo di
timeout T fosse stato più
grande, la trama RR,2 emessa
da B avrebbe riscontrato
anche la trama I,0,0 emessa
da A, e non ci sarebbe stata la
ritrasmissione della stessa
(I,0,1)
Lezione 9
Esempio di trasferimento NRM