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 1T 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 11 P K 1P 1 P ... iK 1P i 1 P ... N s iK 1P 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 1P 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