High-Level Data Link Control
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.
Pile de protocoles
Application
Présentation
Session
Transport
Réseau
Liaison de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire,...)
Physique (La physique (du grec φυσις, la nature) est étymologiquement la « science de la nature ». Dans...)
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 (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) d'erreur. Il est défini par l' Organisation internationale de normalisation sous la spécification ISO3309.

Format de la trame (Le mot trame peut désigner :)

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

fanion de début Adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de s'adresser à une autre parmi un ensemble d'entités. Pour qu'il n'y ait pas d'ambiguïté, chaque...) Commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un souhait impératif.) Données Frame Check Sequence (Le Frame Check Sequence (FCS) est le code de détection d'erreurs ajouté à la fin d'une trame.) 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 (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine (télécommunications, nouvelles...) é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 (Un champ correspond à une notion d'espace défini:) permet de distinguer 3 types de trames :

  • trame d'information (données) : (lien)[ Ns ][P/F][ Nr ]
  • trame de supervision : (lien)(lien)[__][P/F][ Nr ]
  • trame non numérotée : (lien)(lien)[__][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 (Le bit de poids faible (en anglais Least Significant Bit, ou LSB) est pour un nombre binaire le bit ayant dans une représentation donnée la moindre valeur (celui de droite dans la représentation positionnelle habituelle).) en premier et le bit de poids fort (Le bit de poids fort, (en anglais Most Significant Bit, ou MSB) est le bit, dans une représentation binaire donnée, ayant la plus grande valeur (celui de gauche dans la représentation positionnelle habituelle).) en dernier.

Données

Ce champ optionnel de longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus éloignées. Lorsque l’objet est filiforme ou en forme de lacet, sa longueur est celle de l’objet...) variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle est utilisée pour marquer un rôle dans une formule, un prédicat ou un algorithme....) contient les données à envoyer. Le nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de bits à expédier n'a pas à être un multiple de 8: comme ce champ n'a pas besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois...) d'être aligné du point (Graphie) de vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.) 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 (La négociation est la recherche d'un accord, centrée sur des intérêts matériels ou des enjeux quantifiables entre deux ou plusieurs interlocuteurs (on ne négocie pas avec soi-même, on délibère), dans un temps limité. Cette...) 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 (Le mot implantation peut avoir plusieurs significations :) en C du codage/décodage du FCS est proposé dans la RFC 1662 (PPP in HDLC-like framing).

Transparence (Un matériau ou un objet est qualifié de transparent lorsqu'il se laisse traverser par la lumière. Cette notion dépend de la longueur d'onde de la lumière : ainsi, le verre est transparent dans le visible (on voit à...)

Pour que les fanions servent (Servent est la contraction du mot serveur et client.) de délimiteurs, 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

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

trames de supervision :S

transportent des commandes ou des réponses liées au contrôle d'erreurs, et au contrôle de flux (Le mot flux (du latin fluxus, écoulement) désigne en général un ensemble d'éléments (informations / données, énergie, matière, ...) évoluant dans un sens commun....).

  • 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

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 ( En arithmétique modulaire, on parle de nombres congrus modulo n Le terme modulo peut aussi être associé à d'autres formes de congruence En informatique, le modulo (informatique) est une fonction qui au couple...) 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 (Le Terminal (The Terminal) est un film américain réalisé par Steven Spielberg, sorti en 2004.) est déconnecté

Echanges

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 (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement ou un...) par la couche réseau du protocole ISO.
  • Le mode Balanced: dans ce mode, on utilise des mécanismes hardware pour assurer la fiabilité (Un système est fiable lorsque la probabilité de remplir sa mission sur une durée donnée correspond à celle spécifiée dans le cahier des...) 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 (En géométrie, la développée d'une courbe plane est le lieu de ses centres de courbure. On peut aussi la décrire comme l'enveloppe de la famille...) par Cisco, qui modifie l'usage (L’usage est l'action de se servir de quelque chose.) de champ Adresse et ajoute 2 octets de protocole.

Page générée en 0.080 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique