Вы находитесь на странице: 1из 6

Navigation

Accueil
Portails thématiques
Article au hasard
Contact

Contribuer
Débuter sur Wikipédia
Aide
Communauté
Modifications récentes
Faire un don

Outils
Pages liées
Suivi des pages liées
Téléverser un fichier
Pages spéciales
Lien permanent
Informations sur la page
Citer cette page
Élément Wikidata

Imprimer / exporter
Créer un livre
Télécharger comme PDF
Version imprimable

Dans d’autres langues


Català
Čeština
Dansk
Deutsch
English
Español
Euskara
Suomi
‫עברית‬
Hrvatski

Italiano
⽇本語
Македонски
Norsk bokmål
Polski
Português
Русский
Svenska
Türkçe
Українська
Tiếng Việt

Modifier les liens

High-Level Data Link Control


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 ISO 3309 (Cette norme a été révisée par: ISO/IEC
1
13239:2002). Les interfaces série des routeurs Cisco utilisent une version propriétaire de HDLC par défaut .

Sommaire
Format de la trame
Fanion (Flag)
Adresse (Address)
Commande (Control)
Données
FCS
Transparence
Type de trame
Trames de données : I
Trames de supervision : S
Trames non numérotées : U
Commandes
Réponses
Échanges
Notes et références
Voir aussi
Article connexe
Liens externes
Liens externes

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 8 bits
8 bits 8 bits … 16/32 bits
(01111110) (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 est utilisée lorsque la
communication est 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.
2
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
7D. Si parmi les octets à envoyer, on rencontre la valeur du fanion (7E), alors cet octet est remplacé par les
deux octets suivants : 7D 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 7D est alors remplacé par les octets 7D et 5D.

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
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 1 0 0 ] : demande de


connexion
SABME = Identique à SABM, mais mode étendu (numéroté en modulo 128).
DISC = Disconnect [ 1 1 1 1 P 0 1 0 ] : libération de connexion

Réponses

UA = Unnumbered Acknowledgement [ 1 1 0 0 F 1 1 0 ] : acquittement de trame


non-numérotée
FRMR = FRaMe Reject [ 1 1 1 1 F 0 1 1 ] : rejet de trame
DM = Disconnect Mode [ 1 1 1 1 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 toutes les trames. Cela
est pris en charge par la couche réseau du modèle OSI.

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.

Notes et références
1. Wendell Odom, Préparation à la certification CCNA ICND1 et CCENT : Guide de la préparation
officiel Deuxième édition, PEARSON, 2007, CCIE 1624 éd., 662 p. (ISBN 978-2-7440-7285-7),
chap. 13 (« Fonctionnement des routeurs Cisco »), p. 435
dernière phrase de la page
2. (en) Request for comments no 1662 (https://tools.ietf.org/html/rfc1662).

Voir aussi

Article connexe
Synchronous Data Link Control

Liens externes
(en) « RFC1662 : PPP in HDLC-like Framing » (http://tools.ietf.org/html/rfc1662), juillet 1994

Ce document provient de « https://fr.wikipedia.org/w/index.php?title=High-Level_Data_Link_Control&oldid=177846660 ».

La dernière modification de cette page a été faite le 20 décembre 2020 à 16:16.

Droit d'auteur : les textes sont disponibles sous licence Creative Commons attribution, partage dans les mêmes
conditions ; d’autres conditions peuvent s’appliquer. Voyez les conditions d’utilisation pour plus de détails, ainsi que les
crédits graphiques. En cas de réutilisation des textes de cette page, voyez comment citer les auteurs et mentionner la
licence.
Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc., organisation de bienfaisance régie par le
paragraphe 501(c)(3) du code fiscal des États-Unis.

Вам также может понравиться