Protocole HDLC

Le protocole HDLC (High Level DataLink Control) est un protocole de niveau 2 (liaison) dans le modèle OSI.

Nous sommes donc à un niveau trame, et HDLC assure l'échange d'informations entre une station primaire (responsable du contrôle des autres stations sur le lien) et une station secondaire.
Sous le contrôle de la station primaire, la station secondaire n'a aucune responsabilité quant au lien sur lequel elle se trouve. Elle n'est active que lorsque la station primaire le lui permet, et elle ne répond qu'à la station primaire.

Le protocole HDLC doit assurer les tâches suivantes :

  • Procédures et moyens fonctionnels nécessaires à l'établissement, le maintien et la libération d'une connexion.
  • Acheminement des trames sur la liaison physique.
  • Contrôle de flux afin d'éviter la saturation du (des) récepteur(s).
  • Détection et correction d'erreurs de transimission, demande de retransmissions en cas d'anomalie.

Cadre d'utilisation

Nous retrouvons HDLC dans les protocoles WAN, généralement sous une forme adaptée :

  • LAP-F : Frame Relay (sur la couche de liaison de données).
  • LAP-B : X25.
  • LAP-D : ISDN (RNIS).

Table des matières Haut

Trame HDLC standard

Flag | Address | Control | Information | FCS | Flag |
8 bits | 8 bits ou plus | 8 ou 16 bits | variable | 16 ou 32 bits | 8 bits |

Flag

Nous trouvons le flag (drapeau) en début et en fin de trame. Il peut être partagé par deux trames : le flag indique la fin de la trame présente et le debut de la trame suivante.
La longueur du flag est de 8 bits (1 octet) et sa valeur hexadecimal est unique : 0x7E (0111 1110 en binaire).

Il est impératif que cette valeur ne se retrouve pas dans le champ information de la trame, pour éviter toute confusion.
Dans le cas où 6 bits "1" se suivent, une procédure de "bit stuffing" permet de masquer cette séquence :

  • A l'émission, un bit zéro est inséré chaque fois que l'on rencontre 5 bits consécutifs à la valeur 1.
  • A la réception, à chaque fois que l'on rencontre 5 bits consécutifs à 1, le bit zéro qui suit est supprimé.

Address

HDLC, développé par ISP, fut conçu pour des lignes multipoints. Il peut supporter jusqu'à 256 terminaux par ligne.
Le champ d'adresse définit l'adresse de la station secondaire qui émet des trames, ou le destinataire de la trame émise par la première station.

Control

L'échange de commandes entre la station primaire et la station secondaire s'effectue par ce champ.
Le champ de commande (control field) identifie le type de trame, contient des numéros de séquences, et des possibilités de contrôle de flux et d'erreurs.

Il divise les trames en trois types :

  1. Trames de transfert d'informations.
  2. Trames de supervision.
  3. Trames non numérotées.

Trames de transfert d'informations

Control field 
NR | NR | NR | P/F | NS | NS | NS | 0 |
  • NR ou N(R) : Numéro de la trame de réception attendu.
  • P/F : Poll = 0 *
  • NS ou N(S) :Numéro de la trame envoyée .

Trames de supervision

Control field 
NR | NR | NR | P/F | S | S | 0 | 1 |
  • NR our N(R) : Numéro de la trame envoyée.
  • P/F : Poll = 0 *
  • SS : 2 bits de supervision
    • RR    = 00 (ACK).
    • RNR = 01
    • REJ   = 10 (NACK).
    • SREJ = 11

Trames non numérotées (Unnumbered Format)

Ce type de trame est utilisé pour initier des connexions , déconnexions.

Control field 
U | U | U | P/F | U | U | 1 | 1 |
  • UUU UU : bits de fonction.
    • SNRM = 100 00 (Demande de connexion SETUP).
    • DISC = 010 00 (Demande de déconnexion).
    • UA = 011 00 (Confirmation de réception d'une demande de connexion ou déconnexion).
  • P/F : Poll = 1 *

Information

Le champ information contient les données qui proviennent des couches supérieures, et est utilisé seulement lors de la transmission d'un trame de type Information.

RAPPEL : Chaque couche ne communique qu'avec une couche de même niveau. La couche 2 (liaison) ne sait donc pas interpréter les données contenues dans ce champ information.

FCS

Le champ Frame Check Sequence (FCS) permet le contrôle de l'intégrité de la trame, par un traitement algorythmique (à l'aide d'un polynôme).

Version en cache

14/11/2024 10:28:45 Cette version de la page est en cache (à la date du 14/11/2024 10:28:45) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 20/01/2004, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/reseaux-hdlc.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.