HDLC

HDLC

High-Level Data Link Control

Pile de protocoles
7 • Application
6 • Présentation
5 • Session
4 • Transport
3 • Réseau
2 • Liaison
1 • Physique
Modèle Internet
Modèle OSI

Le HDLC (sigle anglais pour High-Level Data Link Control) est un protocole de niveau 2 (couche de liaison) du Modèle OSI, dérivé de SDLC (Synchronous Data Link Control). Son but est de définir un mécanisme pour délimiter des trames de différents types, en ajoutant un contrôle d'erreur. Il est défini par l’Organisation internationale de normalisation sous la spécification ISO3309.

Sommaire

Format de la trame

L'unité utilisée est la trame (Frame). Chaque trame est délimitée par deux fanions identiques.

fanion de début Adresse Commande Données Frame Check Sequence fanion de fin
8 bits
(01111110)
8 bits 8 bits 16/32 bits 8 bits
(01111110)

Fanion (Flag)

Le fanion est un délimiteur de trame pour la synchronisation. Sa valeur est pour HDLC :

01111110 (binaire)
7E       (hexadécimal)

Les trames HDLC peuvent être envoyées les unes derrière les autres : dans ce cas, le fanion de fin de la première trame peut être mis en commun et servir de fanion de début pour la trame suivante.

Adresse (Address)

L'adresse est celle du destinataire à qui est envoyée la trame. Cette adresse était utilisée lorsque la communication était de type maître-esclave, l'adresse étant celle de l'esclave. En communication point-à-point, elle n'est pas utilisée.

Commande (Control)

Ce champ permet de distinguer 3 types de trames :

  • trame d'information (données) : [0][ Ns ][P/F][ Nr ]
  • trame de supervision : [1][0][__][P/F][ Nr ]
  • trame non numérotée : [1][1][__][P/F][___]

Le bit P/F signifie Poll/Final (Invitation à émettre/Fin). Il est dit positionné s'il a la valeur 1. Par convention, le bit positionné vaut P si la trame est une commande et F si la trame est une réponse. L'émission d'une commande avec P=1 exige une réponse immédiate (avec F = 1). À la réception d'une trame avec le bit P/F positionné, le bit vaut F si on attend une réponse à une commande déjà envoyée et il vaut P si aucune commande n'a été envoyée.

Dans les trames d'information (data), Ns est le numéro de la trame courante. Nr est le numéro de la trame d'information attendue ; il acquitte les trames de numéro inférieur à Nr.

N.B : les bits du champ de commande, décrits ci-dessus, sont écrits dans l'ordre dans lequel ils sont envoyés sur la couche physique, c’est-à-dire le bit de poids faible en premier et le bit de poids fort en dernier.

Données

Ce champ optionnel de longueur variable contient les données à envoyer. Le nombre de bits à expédier n'a pas à être un multiple de 8 : comme ce champ n'a pas besoin d'être aligné du point de vue octet, il n'est pas nécessaire d'ajouter de bits de bourrage à la fin.

FCS

Frame Check Sequence : le FCS est un code ajouté après les données pour détecter d'éventuelles erreurs de transmission. Il est codé habituellement sur 16 bits, mais après négociation entre les deux interlocuteurs, il peut être sur 32 bits.

Cette séquence correspond au CRC calculé sur les champs adresse + commande + données.

Un exemple d'implémentation en C du codage/décodage du FCS est proposé dans la RFC 1662 (PPP in HDLC-like framing).

Transparence

Pour que le fanion serve de délimiteur, il est indispensable que la valeur de celui-ci ne se trouve pas dans les données transportées entre le début et la fin. Pour cela, les données seront modifiées pour éliminer les séquences de bits 01111110 (7Eh). Il y a deux méthodes : la méthode par bit et la méthode par octet.

La première méthode (appelée bourrage de bit, Bit stuffing en anglais) est la plus courante : il s'agit d'éviter de rencontrer six bits consécutifs de valeur 1. Lors de l'écriture de la trame, si les données contiennent 5 bits successifs à la valeur 1, un 0 est automatiquement ajouté après.

La deuxième méthode (appelée bourrage d'octet) utilise un caractère d'échappement, de valeur hexadécimal CE. Si parmi les octets à envoyer, on rencontre la valeur du fanion (7E), alors cet octet est remplacé par les deux octets suivants : CE puis 5E. Du coup, il s'agit de s'assurer que la valeur de l'octet d'échappement ne se trouve pas dans les données, si on le rencontre, l'octet CE est alors remplacé par les octets CE et 9E.

Ainsi il n'y a pas, avant transmission, de confusion possible entre données et fanions de début/fin.

Type de trame

Il existe 3 types de trames dans HDLC :

  • Trames I (Information frames) : données
  • Trames S (Supervisory frames) : supervision des données.
  • Trames U (Unnumbered frames) : Non numérotées, supervision de la liaison.

Trames de données : I

Ces trames transportent des données fournies par les entités de la couche réseau.

Trames de supervision : S

Ces trames transportent des commandes ou des réponses liées au contrôle d'erreurs, et au contrôle de flux.

  • RR = Receive Ready [ 1 0 0 0 P/F Nr ] : le récepteur est prêt à recevoir
  • RNR = Receive Not Ready [ 1 0 1 0 P/F Nr ] : le récepteur ou la couche réseau est débordé
  • REJ = Reject [ 1 0 0 1 P/F Nr ] : demande de retransmission des trames de numéro supérieur ou égal à Nr
  • SREJ = Selective Reject [ 1 0 1 1 P/F Nr ] : demande de retransmission de la trame numéro Nr

Trames non numérotées : U

Ces trames transportent des commandes ou des réponses de la gestion de la liaison (établissement, rupture, choix d'un mode de réponse…).

Commandes

  • SABM = Set Asynchronous Balanced Mode [ 1 1 1 1 P/F 1 1 0 ] : demande de connexion
  • SABME = Identique à SABM, mais mode étendu (numéroté en modulo 128).
  • DISC = Disconnect [ 1 1 1 1 P/F 0 1 0 ] : libération de connexion

Réponses

  • UA = Unnumbered Acknowledgement [ 1 1 0 0 P/F 1 1 0 ] : acquittement de trame non-numérotée
  • FRMR = FRaMe Reject [ 1 1 1 1 P/F 0 1 1 ] : rejet de trame
  • DM = Disconnect Mode [ 1 1 1 1 P/F 0 0 0 ] : le terminal est déconnecté

Échanges

Il existe 2 modes de fonctionnement dans HDLC :

  • Le mode Best-Effort : dans ce mode, on ne garantit pas la livraison de tous les paquets. Cela est pris en charge par la couche réseau du protocole ISO.
  • Le mode Balanced : dans ce mode, on utilise des mécanismes hardware pour assurer la fiabilité des transmissions.

Le protocole HDLC est la couche liaison utilisée pour de nombreux protocoles : H.323, V.120, TCN ou X.25.

N.B. : il existe une variante spécifique de HDLC développée par Cisco, qui modifie l'usage de champ Adresse et ajoute 2 octets de protocole.

Voir aussi

Article connexe

Liens externes

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « High-Level Data Link Control ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article HDLC de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • HDLC — Saltar a navegación, búsqueda HDLC (High Level Data Link Control, control de enlace síncrono de datos) es un protocolo de comunicaciones de propósito general punto a punto, que opera a nivel de enlace de datos. Se basa en ISO 3309 e ISO 4335.… …   Wikipedia Español

  • HDLC —   [Abk. für High Level Data Link Control, »Datenverbindungssteuerung auf hohem Niveau«], von der ISO festgelegtes bitorientiertes Übertragungsprotokoll. HDLC wird in Netzwerken eingesetzt, in denen die Daten gemäß dem von der ITU definierten… …   Universal-Lexikon

  • HDLC — (High Level Data Link Control) es un protocolo de comunicaciones de datos punto a punto entre dos elementos. Proporciona recuperación de errores en caso de perdida de paquetes de datos, fallos de secuencia y otros. Mediante una red de… …   Enciclopedia Universal

  • HDLC — High Level Data Link Control (HDLC)  бит ориентированный[1] протокол канального уровня сетевой модели OSI, разработанный ISO. Текущим стандартом для HDLC является ISO 13239. HDLC может быть использован в соединениях с множественным доступом …   Википедия

  • HDLC — High Level Data Link Control (HDLC) ist ein von der ISO normiertes Netzprotokoll ISO/IEC 13239:2002. Es ist innerhalb des ISO/OSI Modells in Schicht 2, der Sicherungsschicht einzugliedern. HDLC basiert in seiner Grundstruktur auf dem SDLC… …   Deutsch Wikipedia

  • HDLC PPP —   [Abk. für HDLC Point to Point Protocol, dt. HDLC Protokoll für Punkt zu Punkt( Verbindungen)«], Protokoll auf der Basis von HDLC für 64 Kbit/s Übertragungen im B Kanal von ISDN. Es ist bis zu 20 % schneller als das verbreitete X.75 Protokoll… …   Universal-Lexikon

  • HDLC — High level Data Link Control (Governmental » Military) High level Data Link Control (Community » Media) High level Data Link Control (Computing » Networking) High level Data Link Control (Computing » Telecom) High Level Data Link Control… …   Abbreviations dictionary

  • HDLC — High Level Data Link Control bitorientiertes Übertragungsprotokoll der ISO/OSI Schicht 2 (ISO3309/ISO4335) …   Acronyms

  • HDLC — ● ►en sg. m. ►NET High level Data Link Control (niveau 2 OSI) …   Dictionnaire d'informatique francophone

  • HDLC — High Level Data Link Control bitorientiertes Übertragungsprotokoll der ISO/OSI Schicht 2 (ISO3309/ISO4335) …   Acronyms von A bis Z

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”