Protocoles de liaison
HDLC - LAP B
2 - Trames HDLC

Accueil
du Site

 
Avant :
HDLC Généralités
Parcours : "Couche 2 - Liaison"
Suite :
Protocole LAP
 
 
t
 
LAP B - Link Access Procedure Balanced - Link Access Procedure canal B -

Toutes les informations (données ou informations de contrôle)
sont transportées dans H.D.L.C. par une structure unique : la TRAME.

La figure ci-dessous décrit succinctement cette trame.

Les trames doivent avoir une longueur supérieure à 32 bits et inférieure à 1150 bits.
Voir ci-dessous la description des champs.


DRAPEAUX - Flags - CADRAGE DES TRAMES

Les trames HDLC n'ont pas une longueur fixe imposée.
Elles et peuvent se succéder sur le support sans aucune contrainte fixe de délai entre elles.
Il faut donc que la machine réceptrice puisse déceler le début et la fin de chacune d'entre elles.

La méthode mise en oeuvre dans HDLC consiste à placer un octet particulier en tête de trame.
Cet octet est : 01111110
Il est appelé "Drapeau" ( en anglais " flag " ) sur le schéma ci-dessus.

Dans ces conditions, il faut résoudre un problème :
il semble qu'en procédant ainsi, on s'interdise de transporter à l'intérieur de la trame
des octets ayant la valeur 0111110.
Le récepteur prendrait en effet ces octets comme des débuts de trame.
Ce serait là une contrainte insupportable.

C'est pourquoi, lors de la constitution de la trame, on traite préalablement le flot des bits à envoyer,
à partir du champ adresse, compris, au champ FCS, compris,
en intercalant un bit à zéro après toute suite continue de 5 bits à 1.
En contrepartie, le récepteur ôtera les zéros consécutifs à une suite continue de cinq bits à 1.
Rétablissant ainsi les donnéesexactes que l'on souhaitait initialement expédier.
Ce sont des opérations que l'électronique traite très rapidement.

Ces bits "zéro" ajoutés puis enlevés s'appellent des "bits de transparence".

Comment le récepteur reconnaîtra-t-il la fin de la trame ?
L'émetteur pourrait compter le nombre de bits de celle-ci avant l'envoi
et transmettre cette valeur dans un champ particulier de la trame.
Ce n'est pas la méthode choisie ici.
HDLC délimite la fin de trame par le même octet qui marque son début : 01111110


FCS

FCS Frame Check Sequence

Séquence de vérification de trame : 2 octets.
Nous vous rappelons que ce FCS est le résultat d'une opération mathématique de type polynomial effectuée sur toute l'étendue de la trame sauf délimiteurs par la machine émettrice de cette trame.
Le polynôme générateur du FCS retenu est : x16+x13+x5+1
Ce résultat est placé en fin de trame émise.

La machine réceptrice fait un calcul analogue et compare les résulats.
S'ils diffèrent, on est sûr qu'il y a eu une erreur.
S'ils sont identiques, la probabilité pour qu'il y ait eu une erreur est très faible.

Ce mécanisme ne corrige pas les erreurs. Il ne peut qu' annoncer qu'il y en a eu.
La suite à donner lorsqu'une erreur survient dépend du type de protocole de liaison utilisé.
Nous verrons plus loin le comportement de HDLC à ce propos.


CHAMP ADRESSE

Dans un réseau multipoint, entendez par là un réseau dans lequel les hôtes peuvent échanger
des trames avec plusieurs autres hôtes, il est indispensable que chaque trame porte
l'adresse du destinataire visé.

Mais HDLC a été créé à une époque où les liaisons entre machines se faisaient point-à-point.
Dans ce type de topologie, le dialogue ne s'établit qu'entre deux machines reliées directement.

Même dans ce cas, le champ adresse était nécessaire.
En effet, la procédure HDLC est bidirectionnelle.
Les machines s'échangent des commandes et des réponses à ces commandes.

Comme nous l'avons vu à la page précédente, les échanges de données se font en mode MAITRE-ESCLAVE.
Entité PRIMAIRE et entité SECONDAIRE en employant le vocabulaire de l'époque.
Ces entités étant source ou puits (destination) des données échangées.



Dans le cas d'une machine distante S reliée au réseau, représenté dans la figure par la machine P,
il était nécessaire de reconnaître si une trame circulant dans la liaison était une commande ou une réponse
et quelle était la provenance de cette trame.

On a alors mis au point un système à deux adresses 0000 0001 et 000 0011
définies ainsi :.

Dans le voccabulaire de l'époque,
ETTD (Equipement Terminal de Traitement des Données)
désignait l'ordinateur distant relié au réseau.
L'ordinateur frontal du réseau étant station primaire, l'ETTD secondaire.

Il faut noter cependant que HDLC a été par la suite utilisé dans des réseaux multipoint.
Le but de ce site étant de dégager les principes de base,
il n'est pas de notre intention d'approfondir davantage ce point devenu historique.

CHAMP DE CONTROLE

Ce champ résume à lui tout seul les fonctionnalités du protocole.
Il assure les fonctions suivantes :

Attention !
En télécommunications, les bits d'un octet sont traditionnellement notés de 1 à 8 en commençant par le bit de poids le plus faible.
L'informatique les note habituellement de 0 à 7.
Dans le tableau précédent, les bits sont représentés de gauche à droite dans l'ordre où ils sont envoyés (le bit de poids faible d'abord).

Si vous préférez l'ordre habituelllement adopté en informatique pour représenter les bits d'un octet, voici le tableau transposé :

Type de trame
8
7
6
5
4
3
2
1
I ( Information )
N(R)
P
N(S)
0
S (Supervision )
N(R)
P/F
S
S
0
1
U (Non numérotée )
M
M
M
P/F
M
M
1
1

Nous emploierons désormais cette dernière représentation.

Significations des variables. (Voir précisions dans la suite).

N(R)
Numéro de trame à l'émission (Send).
N(S)
Numéro dela prochaine trame attendue à la réception (Receive).
S
Code binaire caractérisant le type de commande ou de réponse dans une trame S.
M
Code binaire caractérisant le type de commande ou de réponse dans une trame U.
P
Caractérisant une commande.
F
Caractérisant une réponse à une commande.
TYPES DE TRAMES

HDLC et les versions ultérieures LAP-B etc. sont des protocoles établis entre machines
qui dialoguent de manière bi-directionnelle.
C'est à dire qu'elles s'envoient mutuellement et en continu
des trames transportant des commandes, des réponses à ces commandes et des données .

Ce mode bidirectionnel permet de gagner du temps
par rapport à au mode duplex
à l'alternat .

Voici les trois types de trames définies dans HDLC :
I Information : trames transportant les données numériques à transmettre.
Plus exactement, Il s'agit du paquet de niveau réseau comportant une entête et son contenu.
Ce contenu est à son tour un message de niveau transport contenant une entête et un contenu.
Et ainsi de suite jusqu'aux données numériques initiale à transporter : la charge utile en somme.
Ces trames doivent mentionner les numéros de trames en émission comme en réception.
Plus amples détails dans la suite.

S Supervision : trames transportant des consignes de service numérotées.
Il s'agit de commandes ou d'acquittements concernant une éventuelle indisponibilité à recevoir
momentanée d'une station, ou une demande de renvoi d'une trame suite à un problème, etc.
Toutes ces commandes ou réponses nécessitent que soit indiqué le numéro de la trame concernée.
Plus amples détails dans la suite.

U Non numérotées (Unnumbered) trames transportant des consignes de service ne nécessitant
aucun numéro de séquence. : demandes de connexion, de déconnexion, type de protocole, etc.
Plus amples détails dans la suite.

NUMÉROTATION DES TRAMES - Champs N(R) & N(S) -

Codage des champs N(S) et N(R)

N(S) numéro de trame émise sur 3 bits - donc de 0 à 7
N(R) numéro de trame que l'on s'attend à recevoir - sur 3 bits - donc de 0 à 7

Ces numéros permettent les acquittements par paquets des trames reçues non erronées.

Rappelons que le flux des données est bi-directionnel.

A chaque envoi de données, chaque machine informe l'autre :

non seulement du numéro de trame qu'elle envoie N(S), - S comme "Send"
mais aussi du numéro de trame qu'elle s'attend à recevoir N(R). - R comme "Receive"

Autrement dit : les trames de numéros inférieurs à N(R) ont toutes été corectement reçues.

La place réservée à ces numéros de trame est de trois bits ce qui limite de 0 à 7 le comptage.
Ce n'est pas le numéro de trame envoyée depuis le début de la communication qui est inscrit;
mais l'écart entre dernière envoyée et dernière confirmée.
Ceci selon un mécanisme précis et sans faille appelé la fenêtre d'anticipation.
et que nous analyserons plus loin.

Cela permet un contrôle précis de l'intégrité du message
ainsi qu'un contrôle de flux efficace.


RECAPITULATIF DES COMMANDES & REPONSES
Type de trame
 
8
7
6
5
4
3
2
1
 
Trames I : Information
Rép/Com
N(R)
P
N(S)
0
 
Trames S : Supervision
 
 
 
 
 
 
 
LAP
ou
LAP B
RR : Prêt à recevoir. - Receive Ready
Rép/Com
N(R)
P/F
0
0
0
1
RNR : Pas prêt à recevoir. - Receive Not Ready
Rép/Com
N(R)
P/F
0
1
0
1
REJ : Rejet - Rejected.
Rép/Com
N(R)
P/F
1
0
0
1
Trames U (Unnumbered) Non numérotées.
 
SNRM : Connexion LAP - Réinitialisation LAP
Com
0
0
0
P
1
1
1
1
LAP
DM : Indication de mode déconnecté.
Rép
0
0
0
F
1
1
1
1
LAP B
SABM : Connexion LAP B - Réinitialisation LAP B
Com
0
0
1
P
1
1
1
1
LAP B
DISC : Déconnexion - Disconnection
Com
0
1
0
P
0
0
1
1
LAP/LAP B
UA : Accusé de réception - Unumbered Ack.
Rép
0
1
1
F
0
0
1
1
LAP/LAP B
CMDR : Rejet de commande. Command Rejected
Rép
1
0
0
F
0
0
1
1
LAP
FRMR : Rejet de trame. - Frame rejected
Rép
1
0
0
F
0
1
1
1
LAP B

Supplément de légende

Rép : Réponse - Com : Commande
SNRM : Set Normal Response Mode : initialisation d'une liaison en mode dissymétrique (voir page préc.).
SABM : Set Asynchronous Balanced Mode : initialisation d'une liaison en mode équilibré (voir page préc.).
DM : Disconnected Mode.
Remarque : SNRM et DM ont le même code mais SNRM est une commande HDLC - LAP dans l'ancien mode dissymétrique (voir page précédente) et DM une réponse HDLC - LAP B en mode équilibré plus récent.
UA : Unnumbered Acknowledge acquittement d'une trame non numérotée.

Les lignes correspondant exclusivement à l'ancien mode assymétrique ont été légèrement grisées.
Je suis désolé pour les daltoniens que je prie de lire la colonne de droite où est indiqué le protocole concerné :
LAP, LAP B, ou les deux LAP / LAP B.


Observez que la distinction entre les trois types de trames
se fait par les deux bits de plus faible poids du champ CONTROLE
(ceux qui sont envoyés en premier sur la ligne).

  • Les trames d'information sont les seules à avoir le bit 1 (bit 0 des informaticiens) à 0
  • Les trames de supervision ont toutes ce bit à 1,
    les trames numérotées ayant le bit 2 à 0, les non numérotées ayant le bit 2 à 1.

La suite ...
Il nous reste maintenant à voir comment s'articulent ces commandes et réponses dans le protocole.

Orientation

Avant :
HDLC Généralités
Parcours : "Couche 2 - Liaison"
Suite :
Protocole LAP
 
Page d'accueil

du Site