High-Level Data Link Control: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
 
(14 versioni intermedie di 9 utenti non mostrate)
Riga 11:
Lo standard attuale è ISO 13239, che rimpiazza tutti questi.
 
HDLC può utilizzare o meno la modalità connessa. Può essere usato per connessioni punto a puntomultipunto, ma attualmente è usato quasi esclusivamente per collegare due dispositivi, usando la ABM ([[Asynchronous Balanced Mode]]). Le altre modalità disponibili sono NRM (Normal Response Mode) e ARM (Asynchronous Response Mode).
 
== Storia ==
 
HDLC è basato sul protocollo [[SDLC]] dell'[[IBM]], che è un protocollo di livello 2 proprietario.
Fu inglobato nella pila di protocolli [[X.25]] come [[LAPB]], nel protocollo [[V.42]] come [[LAPM]], nella pila [[Frame Relay]] come [[LAPF]] e nella pila [[ISDN]] come [[Link Access Procedures, D channel|LAPD]].
Adesso è la base per il meccanismo di framing usato con il protocollo [[Point-to-Point Protocol]] nelle linee sincrone, essendo usato da molti server per connettersi a una [[Wide Area Network|WAN]] (in genere [[Internet]]).
Una versione un po' diversa è usata anche come canale di controllo per le linee telefoniche [[E-carrier]] (E1) e [[SONET]].
Alcuni produttori, come Cisco, hanno implementato protocolli come [[Cisco HDLC]] che usavano le tecniche per il framing HDLC a basso livello ma non usavano l'intestazione standard HDLC.
 
== Framing ==
 
I frame dati HDLC possono essere trasmessi attraverso collegamenti sincroni o asincroni. Questi collegamenti non possono determinare l'inizio o la fine di un frame, quindi questo deve essere fatto. In questo caso viene usato un delimitatore (o ''flag''), che è una sequenza di bit che non potrà mai apparire nel resto del frame. Questa sequenza è '01111110', cioè in [[esadecimale]] '7E'. Ogni frame inizia e finisce con essa.
Quando non sta venendo trasmesso nessun frame, viene trasmesso continuamente un delimitatore. Usando lo standard [[NRZI]] per codificare gli stati logici in livelli di tensione (bit 0 = cambiamento, bit 1 = mantenuto il valore precedente), si genera una sequenza continua di bit:
Line 38 ⟶ 36:
 
== Struttura ==
 
Il contenuto di un frame HDLC, compreso il flag, è:
 
Line 53 ⟶ 50:
|8 bit
|8 o 16 bit
|Lunghezza variabile, 0 o più bit a multipli di 8
|non si puo dire la faccia del panti
|16 o 32 bit
|8 bit
|}
 
Cappello(Pecora nera)Bisogna stare attenti al fatto che il flag di fine di un frame può essere anche l'inizio del successivo.
I dati arrivano a gruppi di 8 bit. I sistemi telefonici o telegrafici organizzavano il mezzo di trasmissione per spedire 8 bit alla volta, e HDLC adatta semplicemente questo all'invio di dati binari.
L'FCS ([[Frame Check Sequence]]) è una versione più sofisticata dei bit di parità. Questo campo contiene i risultati di un calcolo binario sui bit che compongono i tre campi precedenti. Questo viene fatto per rilevare errori di trasmissione (bit persi, errati o in più) in modo da poter scartare il frame in ricezione se viene rilevato un errore. È a causa di questo metodo di controllo degli errori che possono esserci limiti massimi nelle dimensioni del campo dati. Più lunga diventa la zona dati, più difficile sarà garantire il rilevamento di errori di trasmissione. L'FCS è a 16 ([[CRC-CCITT]]) o 32 ([[CRC-32]]) bit.
Line 66 ⟶ 63:
 
== Tipi di stazioni (Computer) e modi di trasmissione dati ==
 
I tipi di stazioni sono 3:
 
Line 80 ⟶ 76:
== Operazioni HDLC e tipi di frame ==
=== Frame 'I' (dati) ===
 
I frame 'I' sono usati per trasportare i dati dal livello di rete. In aggiunta possono anche comprendere informazioni per il controllo di flusso e degli errori insieme ai dati ([[Piggyback]]ing). Per queste funzioni vengono usati i sottocampi del campo di controllo.
 
Line 100 ⟶ 95:
Il primo campo definisce il tipo. '0' indica un frame 'I'.
N(S) indica il numero di sequenza del frame spedito. 3 bit possono indicare valori da 0 a 7, ma nel formato esteso (in cui il campo di controllo è di 2 byte) è usato un intervallo più grande.
Il campo Poll/Final è un solo bit con due utilizzi. È chiamato Poll se viene usato dalla stazione primaria per chiedere una risposta alealle stazioni secondarie, invece Final quando viene usato da una stazione secondaria per indicare una risposta al termine della trasmissione. Ha significato
solo se impostato a 1.
 
Line 107 ⟶ 102:
 
== Frame 'S' (controllo) ==
 
I frame di supervisione sono usati per controllo degli errori e di flusso, quando il [[piggyback]]ing è impossibile o inappropriato, ad esempio quando il campo primario deve mandare solo comandi, risposte o conferme (non dati). I frame 'S' '''non''' hanno campi dati.
 
Line 143 ⟶ 137:
 
I primi 2 bit ('10') indicano che è un frame S
 
<!--
 
=== U-Frames ===
U-Frames are used for link management. The are used to exchange session management and control information between connected devices.
 
Line 167 ⟶ 160:
 
The first 2 bits (11) mean it is U-frame . The 5 code bits (2 before P/F bit and 3 bit after P/F bit) can create 32 different types of U-frame
 
 
*Mode settings (SNRM, SNRME, SARM, SARME, SABM, SABME, UA, DM, RIM, SIM, RD, DISC)
Line 178 ⟶ 170:
*Miscalleneaous (XID, TEST)
 
== Link Configurations ==
 
Link configurations can be categorized as being either:
*''Unbalanced'', which consists of one primary terminal, and one or more secondary terminals.
*''Balanced'', which consists of two peer terminals.
 
[[Immagine:HDLC Policies.jpg|thumb|500pix500px|HDLC Data Transfer Modes illustrated]]
 
The three link configurations are:
Line 192 ⟶ 183:
*''Asynchronous Balanced Mode'' (ABM) is a balanced configuration in which either station may initiate the transmission.
 
== HDLC Command and response repertoire ==
*Commands (I, RR, RNR, (SNRM or SARM or SABM) DISC
*Responses (I, RR, RNR, UA, DM, FRMR)
 
=== Basic Operations ===
*Initialization can be requested by either side. When the six-mode set-command is issued. This command:
**Signals the other side that initialization is requested
Line 202 ⟶ 194:
The HDLC module on the other end transmitts (UA) frame when the request is accepted. And if the request is rejected it sends (DM) disconnect mode frame.
 
=== Functional Extensions (Options) ===
*For [[Switched Circuits]]
**Commands: ADD - XID
Line 270 ⟶ 262:
|.-N(R)-... P/F...1...1...0...1
|}
 
=== Unnumbered Frames ===
Unnumbered frames are identified by the low two bits being 1. With the P/F flag, that leaves 5 bits as a frame type. Even though less than 32 values are in use, some types have different meanings depending on the direction they are sent: as a request or as a response. The relationship between the '''DISC''' (disconnect) command and the '''RD''' (request disconnect) response seems clear enough, but the reason for making '''SARM''' command numerically equal to the '''DM''' response is obscure.
 
Line 393 ⟶ 386:
|}
 
==See alsoBibliography ==
* [[Point-to-Point Protocol|PPP]], [[Synchronous Data Link Control|SDLC]], [[Serial line IP|SLIP]]
* RFC 2687, Proposed Standard, PPP in a Real-time Oriented HDLC-like Framing
* RFC 1662, standard 51, PPP in HDLC-like Framing
* [http://www.interfacebus.com/Design_HDLC.html HDLC information page]
 
[[Categoria:Link protocols]]
[[Categoria:Logical Link Control]]
[[Categoria:ISO standards]]
 
==Bibliography ==
*Computer Communications (course notes) by Chaim Zieglier PhD, [[Brooklyn College]].
*Data and Computer communications, by Willam Stallings. (Seventh Edition, Prentice Hall)
Line 426 ⟶ 409:
-->
 
== Voci correlate ==
{{Portale|Telematica}}
* [[Point-to-Point Protocol]]
* [[Categoria:LogicalSynchronous Data Link Control]]
* [[Serial Line Internet Protocol]]
* [[Procedure avanzate di controllo della comunicazione dati]]
 
{{Standard ISO}}
{{Portale|Telematicatelematica}}
 
[[Categoria:Protocolli livello collegamento]]