Académique Documents
Professionnel Documents
Culture Documents
Page 60
Chapitre 4 : LIAISON DE DONNEES
1. Présentation
La couche liaison de données fournit les moyens fonctionnels et procéduraux nécessaires à
l'établissement, au maintien et à la libération des connexions de liaison de données entre
entités du réseau. Elle détecte et corrige, si possible, les erreurs dues au support physique et
signale à la couche réseau les erreurs irrécupérables. Elle supervise le fonctionnement de la
transmission et définit la structure syntaxique des messages, la manière d'enchaîner les
échanges selon un protocole normalisé ou non (voir Fig.4.1.).
• Elle est responsable des transfert sans erreurs des trames, ce qui nécessite l’implantation
de code de détection et/ou de correction d’erreurs.
• Elle est responsable du contrôle de flux de protocole en proche (entre deux voisins
directs).
• Elle assure le séquencement des informations (numérotation des trames).
La fonction de cette couche est alors de transmettre des données entre les entités homologues
d’un système source et d’un système destinataire adjacents de manière fiable et efficace (voir
Fig.4.2.).
Page 61
Chapitre 4 : LIAISON DE DONNEES
Fig.4.2. : Transmission des données entre les couches liaison de données homologues à
travers un chemin virtuel
Cette couche établit une liaison de données entre systèmes adjacents primitivement reliés par
un circuit de données. Généralement au sein de chaque système (ETTD), les fonctions de la
couche Liaison de données sont réalisées par une carte spécifique appelée contrôleur de
communication. Par exemple : carte HDLC, carte Ethernet, etc.
Ø L’ack par anticipation avec rejet sélectif : la trame j est incorrecte, seule la
trame j doit être réémise.
Le protocole de niveau 2 définit dans quel ordre les trames doivent être échangées : on parle
aussi de gestion de tour de parole.
Définitions :
Page 62
Chapitre 4 : LIAISON DE DONNEES
Pour le transfert de texte, la station primaire ou secondaire qui est en possession du tour de
parole prend l’état de temporaire maître et l’autre devient esclave. Par convention le texte
circule de la station source à la station puits. La figure 4.3. représente le dialogue entre la
station primaire et secondaire.
Texte
Source Puits
Ack
3. La trame
C’est l’unité de données du protocole de niveau Liaison de données (L- PDU).
La trame (voir Fig4.5.) est une suite de bits d’une longueur variable mais bornée. Le début et
la fin de trame sont souvent identifiés par des délimiteurs.
La trame est composée d’un certain nombre de champs ayant chacun une signification
précise.
On distingue souvent 3 ensembles : l’entête (header), le champ de données et la terminaison
(tailer).
Page 63
Chapitre 4 : LIAISON DE DONNEES
Remarques :
• Suivant le rôle qui lui est attribué : une trame peut ne pas comporter de champ
information. Par exemple : un simple acquittement
4. Techniques de contrôle
4.1. Utilité
“S’assurer que le récepteur a reçu correctement, en un seul exemplaire, et dans l ordre les
trames émises”.
Dans ces conditions, la suite binaire reçue ne sera pas identique à la suite émise.
Page 64
Chapitre 4 : LIAISON DE DONNEES
§Détection d’erreurs :
* Le message envoyé est constitué du double du message initial.
* Envoyer 10010011001001 au lieu de 1001001.
* Le récepteur détecte une erreur si les exemplaires ne sont pas identiques.
§Auto- correction :
* Le message envoyé est constitué du triple du message initial.
* Envoyer 100100110010011001001 au lieu de 1001001
* Le message correct correspond aux 2 exemples identiques.
Remarque :
• Code de parité
La parité ajoute à chaque bloc de i bits (i=7 ou 8) émis un bit de parité de telle sorte que
parmi les (i+1) bits émis le nombre de bits à 1 soit toujours pair (ou impair). À la réception, le
décodeur calcule le nombre de bits à 1 et dans le cas d'une parité paire si ce nombre de bits est
pair on suppose qu'il n'y a pas eu d'erreur. Sinon, on sait alors qu'il y a eu une erreur de
transmission mais on ne sait pas la localiser et il faut alors demander la réémission du bloc
(voir Fig.4.7.).
Page 65
Chapitre 4 : LIAISON DE DONNEES
La technique de parité est simple à mettre en uvre cependant elle ne permet pas de détecter
2n erreurs dans le même bloc de bits transmis, car dans ce cas la parité ne sera pas changée.
• Code polynomial
Un code polynômial est un code linéaire systématique dont chacun des mots du code est un
multiple du polynôme générateur (noté g(x)).
Les lignes de la matrice génératrice sont engendrées par le polynôme générateur.
Le degré du polynôme définit la longueur du champ de contrôle d’erreur.
A toute séquence de bits on associe un polynôme U = <u 0 , u 1 , u 2 ,..., u n > .
U( x) = u 0 +u 1 x + u 2 x2 +...+ u n x n
Ex. : 1001001 ⇔ X 6 +X 3 +1
Les séquences envoyées (codées) doivent être un multiple d’un polynôme g(x) dit polynôme
générateur. Le polynôme g(x) est connu à l’avance par l’émetteur et le récepteur.
Procédure de codage :
Procédure de décodage :
Page 66
Chapitre 4 : LIAISON DE DONNEES
Exemple :
Deux approches :
• Utilisation de code auto- correcteurs
Exemple : code de Hamming
• Correction par retransmission
Si détection d’une erreur alors demander à l’émetteur de renvoyer le même message.
La figure 4.8. présente les différents problèmes rencontrés lors d’une transmission et les
approches pour les corriger.
Dans le cas d’un acquittement négatif, l’émetteur doit renvoyer le paquet erroné.
Page 67
Chapitre 4 : LIAISON DE DONNEES
Un temporisateur bornant la durée d’attente des acquittements est nécessaire pour assurer la
correction du mécanisme lors des pertes de paquets de données.
L’identification des paquets (de données et d’acquittements) est nécessaire pour assurer la
correction du mécanisme lors des pertes d’acquittements.
1
0 0
1
2
3
1
4
Page 68
Chapitre 4 : LIAISON DE DONNEES
Au cours d’une même connexion le même numéro va être réutilisé pour identifier plusieurs
trames différentes.
L’identification permet :
- de détecter la perte des trames.
- de détecter la duplication de trames.
- le reséquensement des trames n’arrivant pas en ordre
Page 69
Chapitre 4 : LIAISON DE DONNEES
Les erreurs sont donc détectées et corrigées par demande de répétition. La gestion des
échanges se fait grâce à l'ensemble de caractères de commandes du tableau suivant.
D'autres caractères spécifiques ont été ajoutés par des constructeurs mais ils ne sont pas
détaillés ici.
Le rôle du caractère DLE est primordial car il permet d'obtenir une transmission transparente
au code. En effet, si les données peuvent contenir des caractères de commande des confusions
deviennent possibles. Pour éviter cela, tous les caractères de commande sont précédés de DLE
lorsque l'alphabet est tel que les codes de commande sont susceptibles d'apparaître dans les
données transmises. De plus, si l'on doit transmettre dans les données le caractère DLE lui-
même, il sera alors lui-même précédé de DLE de manière à ce que le caractère qui le suit ne
soit pas pris à tort pour une commande.
Les messages (données de taille quelconque) émis selon le protocole BSC sont émis sous
forme de blocs de taille appropriée aux possibilités de la ligne. Ainsi un message constitué
d'une en-tête et d'un texte de données, le tout ne constituant qu'un seul bloc sera émis de la
manière suivante :
SYN SYN SYN SYN SOH ...en-tête... STX ...texte... ETX BCC EOT BCC (Block Check
Character) est en fait un ensemble de caractères de contrôle pour détecter les
erreurs de transmission.
Page 70
Chapitre 4 : LIAISON DE DONNEES
• le mode SNRM (Set Normal Response Mode) est utilisé sur une liaison half duplex et ici
le secondaire ne peut transmettre que sur invitation du primaire.
• le mode SARM (Set Asynchronous Response Mode, connu également sous le nom LAP)
est utilisé sur une liaison half duplex également, mais le secondaire peut émettre sans que
le primaire l'ait sollicité. Ceci peut alors provoquer des problèmes si primaire et
secondaire veulent simultanément émettre des données.
• le mode SABM (Set Asynchronous Balanced Mode, connu aussi sous le nom LAP-B) est
un mode de réponse asynchrone équilibré utilisé sur une liaison full duplex entre 2
machines uniquement (liaison point à point) qui ont chacune le statut de primaire et de
secondaire. Le secondaire peut émettre sans avoir reçu de permission du primaire.
- Le fanion est égal à 01111110 et pour que la transparence au code soit possible, c'est-à-dire
pour que la présence d'une suite de 6 bits à 1 dans les données ne soit pas interprétée comme
un fanion, l'émetteur insère un 0 après chaque suite de 5 bits à 1, appelé bit de transparence.
Le récepteur supprime ce 0 supplémentaire après 5 bits à 1 consécutifs de manière à restaurer
le caractère réellement émis.
- FCS : Frame Check Sequence. Le contrôle est assuré par la technique du polynôme
générateur. Lorsque l'utilisateur cesse d'émettre des données vers le coupleur, celui-ci envoie
le FCS (qu'il calcule au fur et à mesure) puis le fanion de fermeture.
Une séquence de contrôle de trame (FCS) contient un code de redondance cyclique (CRC)
créé par l’unité émettrice et recalculé par l’unité réceptrice afin de s’assurer qu’aucune trame
n’a été endommagée. La corruption d’un seul bit, où que ce soit entre le début de l’adresse de
destination et la fin du champ FCS, entraînera une différence dans la somme de contrôle.
- L’adresse : utilisée lorsque la communication est de type maître-esclave. En
communication point à point, elle n’est pas utilisée.
- Identification de la station à laquelle la commande est destinée
- commande de l’ETCD vers l’ETTD : @stationA = 11000000
- commande de l’ETTD vers l’ETCD : @stationB = 10000000
- Identification de la station qui émet la réponse à la commande
- réponse de l’ETCD vers l’ETTD : @B
- réponse de l’ETTD vers l’ETCD : @A
Adresse fictive : 00000000
Adresse de diffusion totale (“ broadcast”): 1111111
Le champ d’adresse étendu est une suite quelconque d’octets dont le premier bit est = 0, sauf
pour le dernier octet de la suite.
Page 71
Chapitre 4 : LIAISON DE DONNEES
Il existe trois types de trames qui se distinguent notamment par leur champ Commande (voir
Fig.4.12) :
Note :
Deux formats du champ Commande existent :
- le format normal (8 bits)
- le format étendu (16 bits) : négocié lors de l’établissement de la connexion pour avoir un
champ de commande plus grand et ainsi effectuer la numérotation modulo 128.
Ø N( R) :
- numéro de la prochaine trame d’information attendue sur 3 bits, donc la numérotation est
modulo 8.
- acquitte toutes les trames de numéros strictement inférieurs à N( R)
- la perte d’un acquittement peut ainsi être compensée par le prochain acquittement.
Ø Le bit P/ F (“ Poll/ Final”) :
- Dans le mode équilibré du protocole : LAP- B
Ä dans une commande, il vaut P : demande de réponse immédiate
Ä dans une réponse, il vaut F : réponse à la demande de réponse immédiate
- Dans le mode normal (historique) du protocole : LAP
Ä code le passage de l’alternance du droit d’émission (maître/ esclave)
Page 72
Chapitre 4 : LIAISON DE DONNEES
Page 73
Chapitre 4 : LIAISON DE DONNEES
Page 74
Chapitre 4 : LIAISON DE DONNEES
Page 75