Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli High Level Data Link Control (HDLC) Modi operativi Struttura della trama Recupero di errore Esempi PPP 28.2
HDLC è un protocollo di linea bit-oriented, standardizzato dall ISO. E derivato da SDLC (Synchronous Data Link Control), un protocollo IBM molto simile, definito nei primi anni 70 nell ambito di SNA. Utilizza meccanismi di recupero di errore sliding-window, nelle modalità Go-Back-N o SRP. 28.3 HDLC è un protocollo orientato alla connessione. Questa può essere bilanciata (solo nel punto-punto) o sbilanciata. Nella connessione bilanciata (balanced) il protocollo è full-duplex e entrambe le stazioni hanno gli stessi diritti (stazioni combinate). Nella connessione sbilanciata si distinguono una stazione primaria e una o più secondarie. 28.4
Si distinguono tre modi operativi: Normal Response Mode (NRM): prevede connessioni half-duplex sbilanciate tra una stazione primaria (che invia solo comandi) e più stazioni secondarie (che possono inviare solo risposte se interrogate); è una modalità adatta a linee multipunto con polling. 28.5 Asynchronous Response Mode (ARM): prevede una connessione sbilanciata, in cui una sola stazione secondaria può eventualmente iniziare una trasmissione senza attendere l autorizzazione della primaria. Asynchronous Balanced Mode (ABM): stabilisce una connessione bilanciata tra stazioni combinate. 28.6
bit 8 8 8 (16) n 16 8 Flag Address Control Information FCS Flag 1 3 (7) 1 3 (7) 0 N(S) P/ F N(R) bit I - frame (Information) 1 0 S S P/ F N(R) S - frame (Supervisory) 1 1 M M P/ F M M M U - frame (Unnumbered) 28.7 Nome S S Receiver Ready 0 0 (RR) Receiver Not Ready 0 1 (RNR) Reject 1 0 (REJ) Selective Reject 1 1 (SREJ) Funzione Conferma tutte le trame fino alla N(R)-1 Ferma il trasmettitore e conferma tutte la trame fino alla N(R)-1 Rifiuta le trame da N(R) in poi e conferma quelle fino a N(R)-1 Rifiuta la trama N(R) 28.8
Trasmettitore V(R) V(S) Tempo N(S) = N(R) = V(R) V(S)=V(S)+1 Trama 28.9 Ricevitore Trama Tempo N(S) N(R) NO N(S) = V(R)? SI V(S) V(R) Scarto la trama V(S) V(R)=V(R)+1 28.10
Vi sono diversi tipi di trame U, con funzioni di controllo (ma anche, in un caso, di trasporto di informazione in modalità connectionless). Tra queste: SABM (Set Asynchr. Balanced Mode) SARM (Set Asynchr. Response Mode) SNRM (Set Normal Response Mode) per l apertura della connessione 28.11 DISC (DISConnect) per la chiusura della connessione. UA (Unnumbered Acknowledgement) per le risposte alle precedenti. FRMR (FRaMe Reject) per segnalare errori di procedura. UI (Unnumbered Information) per trasmettere informazioni in modalità non connessa. 28.12
V,SABM,P V,I00,P V,I10 V,I21 Q,RR2,F V,I32 V,I42 Q V V,UA,F Q,I00 Q,I10,P V,RR2,F V,RR3 V,RR4 28.13 V,I42 V,I52 V,I62 V,I72,P Q V V,RR4 Q,I25 Q,I36 V,I03 V,I14 Q,I47 V,RR2,F 28.14
V,RR5,P Q V V,RR2,F Q,I52,P Q,RNR6,F V,RNR6,P V,RR3,F V,RR3,F Q,DISC,P V,UA, F 28.15 Primaria V,I00,P V,I11 V,I22 V,I33,P V,I44 V,I55 V,I16,P V,I27 V,I30 Q V V,I00 V,I10 V,I21,F V,I31 V,I41 V,I51,F V,I61 V,I71 V,I02 Secondaria 28.16
HDLC non definisce una modalità per trasportare sullo stesso link pacchetti generati da diversi protocolli di livello superiore. PPP è una estensione di HDLC definita in ambito Internet (RFC 1548). Aggiunge un campo protocol (16 bit), che contiene l identificativo del protocollo che ha generato la PDU contenuta nel campo di informazione (codici definiti in RFC 1700 e 3232). PPP è il protocollo scelto per connettere gli utenti privati al loro ISP su una connessione telefonica. Trasmette solo trame UI (Unnumbered Information). I valori dei campi di indirizzo e di controllo sono 11111111 e 00000011, rispettivamente, e possono essere omessi in trasmissione. 28.17 Può operare su collegamento sincrono o asincrono. In quest ultimo caso, usa un byte-stuffing per la trasparenza (inserzione di 01111101 ovvero, 0x7D in esadecimale - prima di un flag (0x7E) nel campo dati). Anche ogni occorrenza di 0x7D è fatta precedere da 0x7D. Il carattere successivo è inoltre sostituito dallo XOR del carattere originario con 0x20 (0x7E 0x5E; 0x7D 0x5D) Utilizza due ulteriori protocolli, denominati LCP (Link Control Protocol, RFC 1662) e NCP (Network Control Protocol) per configurare il collegamento a livello di data link e network, rispettivamente. Sono incluse funzioni di autenticazione con scambio di password (Password Authentication Protocol PAP). Nel caso in cui il livello di rete sia IP, il protocollo di controllo è IPCP. 28.18
Quali trame si distinguono in HDLC? Quali sono le loro funzioni? Quali usi ha il bit P/F? Che informazione trasportano i numeri di sequenza? Quali sono i modi di procedura? 28.19