Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

High-Level Data Link Control

Un article de Wikipédia, l'encyclopédie libre.

LeHDLC (sigleanglais pourHigh-LevelDataLinkControl) est un protocole de niveau 2 (couche de liaison) dumodè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 13239:2002). Les interfaces série des routeursCisco utilisent une version propriétaire deHDLC par défaut[1].

Format de la trame

[modifier |modifier le code]

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

Fanion de débutAdresseCommandeDonnéesFrame Check Sequencefanion de fin
8 bits
(01111110)
8 bits8 bits16/32 bits8 bits
(01111110)

Fanion (Flag)

[modifier |modifier le code]

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)

[modifier |modifier le code]

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

Commande (Control)

[modifier |modifier le code]

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 bitP/F signifiePoll/Final (Invitation à émettre/Fin). Il est ditpositionné 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 lestrames 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 lacouche physique, c’est-à-dire lebit de poids faible en premier et lebit de poids fort en dernier.

Données

[modifier |modifier le code]

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

FCS

[modifier |modifier le code]

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 auCRC calculé sur les champsadresse + commande + données.

Un exemple d'implémentation enC du codage/décodage du FCS est proposé dans laRFC 1662[2] (PPP in HDLC-like framing).

Transparence

[modifier |modifier le code]

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 valeur1. 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 uncaractère d'échappement, de valeur hexadécimal7D. Si parmi les octets à envoyer, on rencontre la valeur du fanion (7E), alors cet octet est remplacé par les deux octets suivants :7D puis5E. 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'octet7D est alors remplacé par les octets7D et5D.

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

Type de trame

[modifier |modifier le code]

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

[modifier |modifier le code]

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

Trames de supervision : S

[modifier |modifier le code]

Ces trames transportent des commandes ou des réponses liées au contrôle d'erreurs, et aucontrô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

[modifier |modifier le code]

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

[modifier |modifier le code]
  • 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

[modifier |modifier le code]
  • 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

[modifier |modifier le code]

Il existe 2 modes de fonctionnement dans HDLC :

  • Le modeBest-Effort : dans ce mode, on ne garantit pas la livraison de toutes les trames. Cela est pris en charge par lacouche réseau du modèle OSI.
  • Le modeBalanced : 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 ouX.25.

N.B. : il existe une variante spécifique de HDLC développée parCisco, qui modifie l'usage de champAdresse et ajoute 2 octets deprotocole.

Notes et références

[modifier |modifier le code]
  1. Wendell Odom,Préparation à la certification CCNA ICND1 et CCENT : Guide de la préparation officiel Deuxième édition,PEARSON,, CCIE 1624 éd., 662 p.(ISBN 978-2-7440-7285-7),chap. 13 (« Fonctionnement des routeurs Cisco »),p. 435
  2. (en)Request for commentsno 1662

Voir aussi

[modifier |modifier le code]

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]
v ·m
7.Application
6.Présentation
5.Session
4.Transport
3.Réseau
2.Liaison
1.Physique
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=High-Level_Data_Link_Control&oldid=230957366 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp