Vous êtes sur la page 1sur 111

Réseaux Informatiques

Séance 3 :
Couche Liaison de données
Mme Gladys Diaz
L2TI – E218
E-mail : gladys.diaz@univ-paris13.fr

Formation : LE3 SPI


Couche Liaison

1. Rappel : transmission
2. Objectifs de la Couche Liaison
3. Causes d’erreurs sur un canal
4. Principe des codes
5. Gestion des Erreurs
6. Contrôle de flux
7. Protocole HDLC

Gladys Diaz 2
1. Transmission de données : rappel

Application Application
Présentation Présentation
Session Session
Transport Transport
Réseau Réseau Réseau Réseau
Liaison Liaison Liaison Liaison
Physique Physique Physique Physique
Hôte Relais Relais Hôte
Gladys Diaz 3
2. La couche Liaison de données
n La couche liaison, couche 2 du modèle OSI, fournit les
moyens fonctionnels et procéduraux nécessaires :
n à l’établissement,
n au maintien
n et à la libération des connexions entre entités réseaux,
n et au transfert des unités de données du service de liaison

Gladys Diaz 4
La couche Liaison de données
n Communication (fiable et efficace) entre deux
machines adjacentes
n deux machines physiquement connectées par un canal
de transmissionLa couche liaison récupère des
paquets de la couche réseau.
n Pour chaque paquet, elle construit une (ou plusieurs)
trame(s).
n La couche liaison envoie chaque trame à la couche
physique
n Liaisons de transmission ne sont pas parfaites :
n Débit binaire limité, le délai de propagation est non
nul, il peut y avoir des erreurs de transmission

Gladys Diaz 5
La couche Liaison de données
n Protocoles de la couche liaison doivent traiter ses problèmes :
n Traitement des erreurs de transmission
n Contrôle du flux de données
n Optimisation du transfert
n Cette couche doit assurer une transmission exempte d'erreurs sur un
canal de communication.
n Elle doit aussi assurer un délivrance ordonnée des informations

Gladys Diaz 6
Objectifs de la couche liaison

n Rendre des services pour la couche réseau :


n Offrir une interface à la couche réseau

n Découpage en trames :
n Déterminer la façon dont les bits venant de la couche
physique sont regroupés en trames

n Envoyer à la couche réseau les données dans le


même ordre qui elles ont été envoyées

Gladys Diaz 7
Objectifs de la couche liaison

n Gestion d’erreurs
n Contrôle d’erreurs
n Détection et correction des erreurs de
transmission

n Contrôle de flux
n Effectuer un contrôle de flux pour régulariser
le volume des données échangées entre
entités source et destination

Gladys Diaz 8
Services fournis à la couche réseau

n La couche Liaison offre trois catégories des


services de base :

n sans connexion - non acquitté


n sans connexion - acquitté
n avec connexion - acquitté

Gladys Diaz 9
Services fournis à la couche réseau
n Service sans connexion - non acquitté
n La machine source envoie des trames à la machine
destination sans recevoir d’accusé de réception de cette
dernière
n aucune connexion est établie au préalable, ni libérée après
l’envoie de données
n pas de récupération des erreurs

n Convient si le niveau physique a un taux d’erreur très


faible et si on suppose que les erreurs sont corrigées
par les niveaux supérieurs
n Il est utilisé pour transmettre la parole, des flots temps réel.
n C’est également le type de service utilisé sur les réseaux locaux

Gladys Diaz 10
Services fournis à la couche réseau
n Service sans connexion - acquitté
n Service plus fiable que le précèdent
n L’utilisateur sait si son message est ou non arrivé.
n Il n’y pas de connexion logique, mais chaque trame
envoyée est acquittée
n Si la trame n’a pu être transmise il peut l’émettre à
nouveau
n indication des pertes, permet des retransmissions rapides
n débit variable
n Exemple : environnement sans-fil

Gladys Diaz 11
Services fournis à la couche réseau
n avec connexion - acquitté
n Service plus élaboré
n Connexion préalable
n Chaque trame envoyée sur la connexion est
numérotée et la couche liaison garantit que chaque
trame envoyée est reçue
n garanties de réception ordonnée et unique
n correspond à flux de bits fiable

Gladys Diaz 12
Objectifs de la couche liaison

Ø Découpage en trames
n Gestion d’erreurs
n Contrôle de flux

Gladys Diaz 13
Découpage en trames
Découpage en trames
n Déterminer la façon dont les bits venant de la
couche physique sont regroupés en trames
n Structuration du flux de bits de la couche Physique

n Trames
n unité de données de la Couche Liaison
n suite de bits délimitée de taille fixe ou variable
n ATM : fixe (53 octets)
n Ethernet : variable (>64, <1524 octets)

Gladys Diaz 14
Notion de trame
n Pour atteindre ces objectifs, la couche liaison de
données prend les paquets qu’elle récupère de
la couche réseau et les encapsule dans des
trames de transmission.

n Chaque trame contient :


n un en-tête de trame (header)
n un champ de données pour héberger le paquet
n un en-queue de la trame (trailer)

Gladys Diaz 15
Notion de trame
n Relations entre les paquets et les trames

niveau 3 paquet paquet

trame

En-tête champ en-queue En-tête champ en-queue


de données de données

niveau 2

Gladys Diaz 16
Notion de trame
n Trame c’est le nom de l’unité d’échange
protocolaire pour le niveau 2 du modèle OSI.

n Une trame contient différentes types


d’informations :
n Type : indique si la trame contient ou non des
données à transmettre
n Séq : est utilisé pour la numérotation des trames
n Ack : est utilisé pour l’acquittement positif
n Info : contient un unique paquet. Dans une trame de
contrôle, le champ info n’est pas utilisé

Gladys Diaz 17
Découpage en trames

n Techniques de délimitation
n Notion de fanion
n Notion de transparence

Gladys Diaz 18
Techniques de délimitation de trames
§ But: fixer une unité pour le contrôle d’erreur.
§ Techniques de découpage en trame

1- Compter les caractères

2- Utiliser des marqueurs de début et


de fin de trame

3- Changer le codage utilisé dans la


couche physique

Gladys Diaz 19
Notion de fanion

n Chaque trame commence et finit par une


configuration binaire particulière
n utilisation d'un drapeau (flag) ou fanion de
signalisation
n Exemple : 0111 1110

n Plus souple et non associée à un codage

Gladys Diaz 20
Notion de transparence
n Confusion des délimiteurs de trame et des données
n Les données peuvent contenir les délimiteurs de trames

n Exemple 1 : caractères de délimitation


n Les caractères DLE STX et DLE ETX délimite le début et la fin des
trames.
n Pour assurer la transparence des données l’émetteur rajoute un DLE
devant tout DLE des données.

Gladys Diaz 21
Notion de transparence

n Exemple 2 : Utilisation de fanions


n HDLC (High-Level Data Link Control) est une
procédure de liaison de données et qui utilise
comme délimiteur de début et fin de trame la
séquence de bits : 01111110
n Pour assurer la transparence l’émetteur ajoute
systématiquement un 0 après toute séquence de 5
bits à 1 rencontrée dans la trame
n Le récepteur effectue l'opération inverse, c'est à
dire qu’il retire le 0 qui suit chaque séquence de 5
bits à 1.
Gladys Diaz 22
3. Causes d’erreurs sur un canal

n Rayonnement électromagnétique
n relais
n émetteurs
n câblage mal isolé
n Atténuation du signal
n Effet de distorsion
n Obstacles (réseaux mobiles) etc..

Gladys Diaz 23
Taux d’erreur sur un canal
Erreur de transmission :
Les problèmes d’éléments binaires perdus, modifiés ou
générés à tort

nombre de bits erronés


taux d' erreur =
nombre de bits émis
n 10-9 pour les réseaux locaux
n 10-5 pour le RTC
n Taux élevé et fortement variable pour les réseaux
sans fil (de 10-4 à 10-2)

Gladys Diaz 24
Types d’erreurs de transmission
n Erreurs isolées n Erreurs en rafales
n simples à détecter n difficiles à détecter
n simples à corriger n difficiles à corriger

n Exemple :
n taille des blocs échangés : 1000 bits
n taux d’erreur : 1/1000

n la plupart des blocs en n un bloc sur 100 en erreur


erreur en moyenne
n proportion élevée de blocs n proportion faible de blocs
affectés affectés

Gladys Diaz 25
Deux stratégies de base
La destination peut :
n Détecter et corriger les erreurs
n Codes correcteurs d’erreur

n Détecter les erreurs, puis demander une


retransmission
n Méthodes de retransmission, ACK

On peut combiner les deux stratégies


1. on détecte les erreurs
2. si on peut on corrige
3. sinon on demande une retransmission
Gladys Diaz 26
4. Principe des codes
n La couche liaison doit permettre n Chacune de ces techniques
de corriger les erreurs qui se occupe un secteur différent
sont produites sur le support
physique. n Codes détecteur d’erreurs
Technique utilisée sur des canaux
n Deux grandes possibilités n
fiables tels que la fibre optique ou
existent : il est moins lourd de réaliser des
n Soit utiliser uniquement un code retransmissions
détecteur d’erreur pour repérer n Codes correcteurs
les trames erronées et demander
leur retransmission n Technique utilisée dans des
systèmes tels que les canaux sans
n Soit envoyer de l’information en fils, où les erreurs sont courantes
redondance pour permettre dans n Il est préférable d’ajouter de
un même temps de détecter et redondances à chaque bloc pour
de corriger les erreurs permettre au récepteur de
(restitution des données trouver le bloc origine
originales à partir des données
reçues)
Gladys Diaz 27
Principe des codes
n Fonctionnement
n Code n A = mot à émettre
n ensemble de mot n B = Réception du mot A
susceptible d’être émis n Si B appartient au Code -> OK
n respectant une règle n Si B n ’appartient pas au code ->
connue de l ’émetteur et du erreur
récepteur n Erreur résiduelle : A <> B et B
appartient au code

n Principe n Détection
n ajout d’information n moins de bits de contrôle,
résiduelle qui permet de retransmission du mot erroné en cas
savoir si le mot reçu est de détection
correct (appartient au code) n Correction
n diminution du débit utile n plus de bits de contrôle,

n on ne peut pas éliminer n la moitié de l’information transportée

toutes les erreurs en plus


n correction en cas de détection
Gladys Diaz 28
Principe des codes

n Exploiter la redondance d’informations


Þ ajouter des bits de contrôle aux bits de données
n Mot de code
Þ d bits de données
Þ +

Þ c bits de contrôle

Þ =

Þ n bits d’information (à transmettre)

Gladys Diaz 29
Distance de Hamming d’un code

Distance de Hamming (dH)= nombre de bits


différents entre deux mots
somme des « 1 » après un XOR entre les mots
indique le nombre minimum d'erreurs simples pour passer
d'un code l’égal à un autre

Utilisation de redondances
mot de code (n bits) = données (m bits) + contrôle (r
bits) avec n=m+r
2m mots de code l’égaux parmi 2n mots possibles

Gladys Diaz 30
Distance de Hamming de 2 mots

Il s’agit du nombre de bits qui diffèrent


entre deux mots de code x et y.

1000 1001
Å1011 0001
= 0011 1000

Dist(x,y) = 3
Gladys Diaz 31
Distance de Hamming d’un code

Soit C un code (détecteur et/ou correcteur)

Dist(C) = min { Dist(x,y) ½ xÎC Ù y ÎC }

è Il s’agit de la distance minimale entre 2 mots du


code

Gladys Diaz 32
Capacité d’un code
n Pour qu’un code soit capable de détecter d
erreurs, sa distance de Hamming doit être égal à
d+1.
n Pour qu’un code soit capable de corriger d

erreurs, sa distance de Hamming doit être égal à


2*d+1.

n Détection et correction dépendent de la dH


n pour détecter x erreurs, dH = x+1
n pour corriger x erreurs, dH = 2x+1
Gladys Diaz 33
Exercice

Soit le code C = { 0000 0000, 0000 1111, 1111


0000, 1111 1111 }
n quel est sa distance ?
n si un récepteur reçoit 0000 0111, que peut-il en
conclure ?
n est-il certain de pouvoir reconnaître le mot original
?

Gladys Diaz 34
Exercice
Distance de Hamming
n soient 4 mots de code
n 00000000000, 0000011111, 1111100000, 1111111111
n dH = 5
n correction de 2 erreurs
n si réception de 0000000111 on récupère 0000011111
n si triple erreur : 0000000000 est changé par 0000000111 è
ambiguïté, le récepteur n’est pas capable de la corriger

Gladys Diaz 35
Différents codes

n Code de contrôle de parité

n Code de Hamming

n Codes polynomiaux

n …

Gladys Diaz 36
Code de contrôle de parité

Principe : un seul bit (dit de parité) est ajouté aux


bits de données.

n parité paire : le nombre de bits à 1 du mot


formé doit être pair.

n parité impaire : le nombre de bits à 1 du mot


formé doit être impair.

Gladys Diaz 37
Exemple

n parité paire
100 0001 : bits de données
+0 : bit de contrôle
= 0100 0001 : mot de code

n parité impaire
101 1001 : bits de données
+1 : bit de contrôle
= 1101 1001 : mot de code

Gladys Diaz 38
Code de contrôle de parité

Distance de Hamming = 2

n peut détecter une erreur simple


n ne peut détecter un nombre pair d’erreurs
n peut détecter un nombre impair d’erreurs
n ne peut corriger une erreur simple

Code détecteur
Gladys Diaz 39
Codage de Hamming
n Des bits de contrôle sont intercalés entre les bits de données,
chaque position correspondant à une puissance de 2.

n Chaque bit de contrôle est choisi de façon qu’une série de bits


(lui-même compris) ait une parité paire (ou impaire)

n Pour construire le code correcteur, on utilise le fait que tout


nombre entier se décompose de manière unique sous forme
d’une somme de puissances de deux

n Pour connaître les bits de contrôle qui utilisent le bit de données


de numéro k, il suffit d’écrire k comme la somme de puissances
de 2
n Exemple :

n 11 = 1+2+8,

n ainsi le bit 11 est vérifié par les bits 1, 2 et 8


Gladys Diaz 40
Codage de Hamming
n Quand un mot de code arrive, le récepteur initialise un
compteur à zéro.
n Il examine chaque bit de contrôle k (k=1,2,4,8,…)
pour vérifier s’il a une parité correcte
n Si ce n’est pas le cas, il ajoute k au compteur

n Lorsque tous les bits de contrôle ont été vérifiés et si


le compteur est nul (tous les bits de contrôle sont
corrects), le mot de code est considéré comme
autorisé

n Si le compteur est non nul, il contient le numéro du bit


erroné
Gladys Diaz 41
Codage de Hamming
Codage correcteur d’erreur simple

n Limite théorique : (m+r)<2r


n Méthode de Hamming :
n bits numérotés de 1 à n (en commençant par celui de
gauche que sera le bit 1)
n bits puissance de 2 sont les r bits de contrôle
(1,2,4,8...)
n les autres sont les m bits de données (3,5,6,7,9,10...)

Gladys Diaz 42
Codage de Hamming -Méthode
Code correcteur d’erreur simple

n bits de contrôle = calcul de parité sur certains


bits de données (ceux dont la décomposition
en puissance de 2 fait intervenir le bit de
contrôle concerné)
n 5=1+4
n 6 = 2 + 4 d'ou pour la parité de 4 = p (5 6 7)
n 7 = 1 + 2 + 4 qui correspondent au bits initiaux 2 3 4

Ø détection de l'erreur par somme des bits de


contrôle non conformes à la parité

Gladys Diaz 43
Codage de Hamming-Méthode
Codes correcteur d’erreur simple
Exemple
n Exemple
n Mot de code à transmettre : 1001000

n Calcul des bits de contrôle :


n Construire un nouveau mot en intercalant les bits
de contrôle (bits puissances de 2)
n 2021 22 23
n ??1?001?000

Gladys Diaz 44
Codage de Hamming-Méthode
Codes correcteur d’erreur simple
Exemple
n Numéroter les bits du nouveau mots de 1 à
n en commençant par le bit le plus à
gauche

n 1 2 3 4 5 6 7 8 9 10 11

n ??1?001?000

Gladys Diaz 45
Codage de Hamming-Méthode
Codes correcteur d’erreur simple
Exemple
n Décomposer chaque bit de données
en sa somme de puissances de 2

n 3 = 1 + 2
n 5 = 1 + 4
n 6 = 2 + 4
n 7 = 1 + 2+4

Gladys Diaz 46
Codage de Hamming-Méthode
Codes correcteur d’erreur simple
Exemple
n Calculer la valeur des bits de contrôle
n bits de contrôle = calcul de parité sur certains bits de
données (ceux dont la décomposition en puissance de
2 fait intervenir le bit de contrôle concerné)

n Exemple en Parité Paire = nb pair de bits à 1


n Parité du bit 1 = P (3,5,7) = (1,0,1) => 0
n Parité du bit 2 = P (3,6,7) = (1,0,1) => 0
n Parité du bit 4 = P (5,6,7) = (0,0,1) => 1

Gladys Diaz 47
Codage de Hamming-Méthode
Codes correcteur d’erreur simple
Exemple
n Ainsi pour cet exemple le nouveau
mot à transmettre après le codage est
:

n 00110010000

Gladys Diaz 48
Code polynomial
Codes de redondance cyclique
Principe : l’émetteur et le récepteur se mettent
d’accord sur le choix d’un polynôme dit
générateur G(x).

Le codage consiste à ajouter des bits de contrôle


appelés :
le total (ou somme) de contrôle
checksum

Gladys Diaz 49
Codes de redondance cyclique

n On considère que les bits d'information à


transmettre sont les coefficients d'un polynôme.
n Ces coefficients peuvent prendre la valeur 0 ou 1.
n rang des bits des chaînes correspond au degrés des
polynômes : (110001 : x5 + x4 + 1 )

n Pour vérifier la transmission correcte de


l'information, on divise ce polynôme modulo 2 par
un autre polynôme, dit polynôme générateur.

Gladys Diaz 50
Codes de redondance cyclique

nC'est le reste de la division binaire, appelé CRC


(cyclic redundancy check), qui est transmis à la
suite du bloc d'informations.

nEn réception, l'opération inverse est appliquée sur


les bits transmis.

n Si le CRC calculé est nul, on considère que


l'information a été transmise correctement.

Gladys Diaz 51
Codes de redondance cyclique
n Codes CRC (Cyclic Redundancy Code) = Codes
Polynomiaux
n Arithmétique modulo-2 (pas de retenu)
n A un code polynomial est associé un polynôme
générateur g(x) (par exemple : g(x) = x8 + 1)
n Le codage est le calcul du mot de code :
n on constitue M(x) le polynôme associé à la suite binaire à
transmettre ;
n on multiplie M(x) par xm , où m est le degré du polynôme
générateur g(x) ;
n on calcule R(x), le reste de la division du polynôme M(x)*xm
par g(x) ;
n on calcule le mot de code M(x)*xm + R(x) et on le transmet .
Gladys Diaz 52
Codes de redondance cyclique

n Le décodage est la vérification du mot de code


reçu :
n on constitue M’(x) le polynôme associé à la suite
binaire reçue
n on calcule R’(x), le reste de la division du polynôme
M’(x) par g(x)
n si R’(x) = 0, il n’y a pas d’erreur, la suite binaire reçue est un
mot de code valide ; on récupère alors l’information utile ;
n si R’(x) ≠ 0, il y a une erreur ; on demande alors la
retransmission du message

Gladys Diaz 53
Normalisation

Plusieurs polynômes ont fait l’objet d’une norme


car possédant de bonnes propriétés
CRC 12 = x12 + x11 + x3 + x2 + x +1
CRC 16 = x16 + x12 + x5 + 1
(X.25, Bluetooth, PPP, IrDA)

CRC 32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 +


x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1
(Ethernet)

Gladys Diaz 54
5. Contrôle d’erreurs
n Malgré la protection par les codes les pertes sont
toujours possibles:
n Congestion du lien ou du buffer du récepteur
n Liaisons rompues (e.g. satellites) Pertes complètes de
trames
n Contrôle d’erreurs
n Comment savoir que le récepteur a correctement reçu
toutes les trames émises, dans le bon ordre ?
n Divers techniques :
n Numérotation des trames
n Gestion des timers
n Acquittements
Gladys Diaz 55
Contrôle d’erreurs
n Assurer qu’une liaison est fiable en informant à
l’émetteur de ce qui passe de l’autre côté de la
liaison
Envoie d’une trame de contrôle, d’un ack positif ou
n

négatif
Ed R
n Si l’émetteur reçoit un ack positif sur une
onnée
s
trame précédemment envoyée, il sait
qu’elle a été correctement reçue NAK
donn
ées
n S’il reçoit un ack négatif, il sait qu’elle a
été mal transmise et qu’il doit de nouveau ACK
l’émettre
Gladys Diaz 56
Contrôle d’erreurs
n Dans le cas où une trame n’a pas été reçue, ou
que la trame d’ack est perdue
n Alors combien de temps il faudra attendre pour
l’ack ?
n L’emploi de timers (temporisateurs) permet d’éviter
une attente indéfinie
Ed R E R Ed R Edo R
onné donn onné nnée
es ées es s
T
retra
nsm.

Gladys Diaz 57
Contrôle d’erreurs
n Quand l’émetteur émet une trame il arme en même temps un
timer
n Durée du Timer = délai (temps d’aller vers le récepteur,

temps de traitement et le temps de retour vers l’émetteur)


n durée T du timer est supérieure au délai aller-retour (sur-
estimé d’une trame (RTT = Round-Trip Time en anglais) ;
n Si l’ack de la trame précédemment envoyée est reçu avant
que le temporisateur n’expire : le timer est désarmé

n Dans le cas contraire, si la trame ou l’ack sont perdus, le


délai du timer arrivera à expiration, et l’émetteur sera ainsi
informé de l’existence d’un problème
Gladys Diaz 58
Contrôle d’erreurs
n Pour pouvoir retransmettre une trame, sur réception d'un
acquittement négatif ou sur expiration de temporisateur,
il faut en avoir gardé une copie:
n rétention des trames nécessaire jusqu'à réception

d'un accusé de réception (positif).

n Ceci nécessite un tampon de mémorisation, ainsi qu’un


mécanisme de gestion de ce tampon.
n è En fonction du mécanisme de gestion du tampon, il faudra
allouer une place plus ou moins importante au tampon (problème
de dimensionnement du tampon)

Gladys Diaz 59
Contrôle d’erreurs
n Combien de fois faut-il continuer à essayer de
retransmettre une trame ?
n Pour éviter un nombre infini de retransmissions,
suite à un incident grave du circuit de données, le
nombre de transmissions pour une même trame est
limité à N
n Au bout de N essais infructueux, la liaison est
considérée hors service

Gladys Diaz 60
Comment traiter les trames dupliquées

n En fonction du mécanisme de
contrôle d’erreurs, la Ed R
duplication des informations onné
es
est possibles T
ACK
n Le récepteur doit être capable
de distinguer une trame émise retra
nsm
d'une trame retransmise .
duplication
n Idée : introduire dans la trame ACK d'information
de données un champ
véhiculant son numéro de
séquence
Gladys Diaz 61
6. Contrôle de flux
n Lorsqu'un récepteur ne peut pas traiter les
trames entrantes aussi vite que la source les
émet, il se produit un engorgement qui peut
entraîner des pertes de trames ;
n il faut donc asservir l'émetteur de façon à ce
qu'il émette à un taux inférieur au taux
d'absorption du récepteur.
n Le contrôle de flux comprend les mécanismes
pour éviter de saturer le destinataire
n Réguler le trafic de données entre le récepteur et
l’émetteur

Gladys Diaz 62
Système send and wait
Ordinateur 1 Ordinateur 2
n Système send and
wait Envoi d’un
paquet
n Forme plus simple du
contrôle de flux Envoi
d’un Ack
n Après l’envoi de chaque
Envoi d’un
paquet, l’émetteur paquet
s’arrête et attend que le
récepteur soit prêt Envoi
d’un Ack
(acquittement) à accepter
un autre paquet

Gladys Diaz 63
Système de fenêtres d’anticipation
(sliding window – fenêtre glissante)
Ordinateur 1 Ordinateur 2
n Système de fenêtres
Envoi de 4
d’anticipation (sliding paquets
window – fenêtre Envoi de
glissante) 4 Ack

n L’émetteur et le récepteur vont


utiliser une taille de fenêtre
(quantité maximale de
données qu’on peut envoyer
avant de recevoir un accusé
de réception)
n Fenêtres de taille fixe ou de fenêtre glissante

variable Gladys Diaz 64


Fenêtres d’anticipation
Fenêtre glissante (Sliding Window)
n Principe :
n envoi de plusieurs trames avant réception d'un
acquittement
n le nombre de trames autorisés à être envoyées est indiqué
par la fenêtre de l‘émetteur
n le nombre de trames acceptables par le destinataire est
indiqué par la fenêtre du récepteur
n Calcul de la relation entre les deux fenêtres selon le protocole
utilisé

Gladys Diaz 65
Protocoles avec fenêtres d’anticipation
n Gestion des Fenêtres

Gladys Diaz 66
Gestion des fenêtres
n l’émetteur :
n détient la liste des numéros de séquence de trames qu’il peut
envoyer (fenêtre d’émission)
n doit stocker les trames pour pouvoir éventuellement les
retransmettre (dans le cas de pertes, ou d’erreurs de
transmission)
n fenêtre de taille max = n è l’émetteur doit
disposer de n mémoires tampon pour stocker les
trames non acquittées

n La fenêtre d’émission est définie par la liste de


numéros de séquence de trames dont l’émission est
autorisée.
Gladys Diaz 67
Gestion des fenêtres

n Dans le récepteur :
n La fenêtre de réception est définie par la liste de
numéros de séquence des trames que l’on attend
en réception.
n La fenêtre du récepteur conserve toujours sa taille
initial (au contraire de la fenêtre de l’émetteur)
n La couche liaison de données accepte les trames se
trouvant à l’intérieur de la fenêtre de réception.
n Toute trame en dehors est rejetée.

Gladys Diaz 68
Gestion des fenêtres

n Il n’est pas nécessaire que les fenêtres


d’émission et réception aient les mêmes
bornes, ni la même largeur.

n Dans certaines protocoles elles sont de taille


fixe alors que dans d’autres elles grandissent
et diminuent en fonction du nombre de
trames à envoyer et à recevoir

Gladys Diaz 69
Gestion des fenêtres

n Il est nécessaire que les paquets soient


délivrés à la couche réseau destination dans
leur ordre d’émission.

n Quand le récepteur reçoit une trame dont le


numéro de séquence est égal à la borne
inférieur de la fenêtre, il la transmit à la
couche réseau, envoie un acquittement et fait
avancer sa fenêtre d’une unité.
Gladys Diaz 70
Protocole Avec Fenêtre de Largeur N
n Problème :
n Que se passe t-il si une trame, située au milieu de la
série de trames envoyées, est perdue ou erronée ?
n Comportement en cas de perte : traitement des trames
déjà reçues

n Deux solutions (bande passante/taille mémoire tampon):


n Go-back-N ou rejet total
n rejet sélectif

Gladys Diaz 71
Protocoles avec fenêtres d’anticipation

n Go-back-N : trames suivantes détruites


n Rejeter toutes les trames qui suivent la trame erronée
en n’envoyant pas d’accusé de réception pour ces
trames.
n peu efficace si la fenêtre est grande

n A la fin du temporisateur l’émetteur retransmettre


toutes les trames dans l’ordre, à partir de la trame
erronée
n Perte de bande passante si le taux d’erreur de la ligne est
élevé

Gladys Diaz 72
Protocoles avec fenêtres d’anticipation

n Rejet sélectif : Retransmission sélective


n Fenêtre de réception supérieure à 1
n Les trames déjà reçues sont stockées et seules les
trames endommagées sont retransmises
n plus efficace mais nécessite de la mémoire

Gladys Diaz 73
7. Mécanismes protocolaires

n Une liaison de données est constituée d'un canal


physique capable de transmettre des bits en
série, sur lequel sont raccordés un certain nombre
(2 ou plus) de stations qui doivent pouvoir
échanger de l'information.

n Cette information est structurée en trames.

Gladys Diaz 74
Mécanismes protocolaires
n Pour gérer la liaison, il faut pouvoir échanger
des trames de commande (ou de supervision)

n Le fonctionnement de la liaison est donc régi


par un certain nombre de règles :
n règles de codage des informations de commande ;
n règles pour séparer l'information proprement dite de
l'information de commande ;
n règles pour préciser les séquences valides d'échanges
de trames.

Gladys Diaz 75
Mécanismes protocolaires

n L'ensemble de ces règles constitue le protocole


(la procédure de commande) de la liaison de
données.

n Elles découlent des mécanismes de


communication de base à mettre en œuvre sur
la liaison pour atteindre l’objectif de fiabilité.

Gladys Diaz 76
Mécanismes protocolaires

n États des stations


n États permanents (Hiérarchique)
n Primaire : gestion de la liaison de données
n Secondaire : passif

n États temporaires (Symétrique)


n Maître : émission de données
n Esclave : réception de données

Gladys Diaz 77
Mécanismes protocolaires
n Gestion hiérarchique
n Dialogues entre une station primaire et une ou
plusieurs stations secondaires
n Invitation à émettre (polling)
n Tour de table (roll call polling)
n Invitation à recevoir (selecting)

commandes
primaire
données

secondaire secondaire secondaire


Gladys Diaz 78
Mécanismes protocolaires

n Invitation à émettre (polling)


n La station primaire invita la station secondaire à
émettre.
n La station secondaire répond en envoyant son
message si elle a quelque chose à émettre, sinon
elle répond négativement

n Tour de table (roll call polling)


n La station primaire demande à tour de rôle à
chaque station secondaire si elle souhaite émettre

Gladys Diaz 79
Mécanismes protocolaires
n Invitation à recevoir (selecting)
n La station primaire veut envoyer de données à la
station secondaire
n Elle envoie tout d’abord un message de sélection à la
station secondaire pour l’informer
n celle-ci devra répondre pour indique si elle peut ou
non recevoir
n Dans le cas positif, la station primaire envoie le
message qui sera acquitté ou refusé par la station
secondaire

Gladys Diaz 80
8. Protocole HDLC
High Level Data Link Control
n HDLC est né en 1976
n du besoin de faire de communiquer un terminal avec une machine
distante, tout en évitant un trop grand nombre d’erreurs lors de la
transmission
n Evolution : LAPB (X.25), LAPD(RNIS), LPADm(GPRS)..
n Protocoles similaires : PPP, LLC 2
n Avant HDLC :
n Protocoles simples du type envoyer et attendre :

n le terminal émettait une trame et se mettait en attente d’un ACK (+


ou -)
n Si Ack + alors on passait à la trame suivante SINON retransmission
n Avec HDLC :
n on procède par anticipation, l’attente d’un Ack n’empêche pas la
transmission des trames suivantes
Gladys Diaz 81
Protocole HDLC
Définitions
n Mode maître-esclave :
n une extrémité de la liaison dirige l’autre côté

n Liaison de données
n point à point :
n symétrique ou dissymétrique
n multipoint :
n dissymétrique (polling/ selecting)

Gladys Diaz 82
Protocole HDLC
Statut de stations
n Système à commande centralisée DISSYMETRIQUE
n Multipoint :

n Adresse = station secondaire


n Point à point :

Gladys Diaz 83
Protocole HDLC
Statut de stations
n Système à commande centralisée
SYMETRIQUE (point à point)

• Adresse : FONCTION SECONDAIRE


Gladys Diaz 84
Le mode normal ou synchrone
Les modes de HDLC
n NRM - Normal Response Mode ou LAP - Link
Access Protocol
n Liaison point-à-point ou multipoint ;
n Gestion hiérarchique avec un primaire et des
secondaires ;
n relation maître/esclave (sollicitation du primaire)
(dissymétrique)
n Exploitation par élection : le primaire est
chargé de l'initialisation et de la supervision de
la liaison, ainsi que de la reprise en cas de
défaut ; les secondaires ne peuvent émettre
qu'en réponse à une commande du primaire.
Gladys Diaz 85
Le mode asynchrone
n Dissymétrique Les modes de HDLC
n ARM - Asynchronous Response Mode
n Liaison point-à-point ou multipoint ;
n Gestion hiérachique avec un primaire et des secondaires ;
n Exploitation par compétition : le primaire est chargé de
l'initialisation et de la reprise en cas de défaut ; les
secondaires peuvent émettre librement, sans attendre
d'invitation à émettre du primaire ;
n Le secondaire peut émettre sans y être autorisé
n un seul secondaire actif à la fois
n Des collisions sont alors possibles lorsque le circuit
fonctionne à l'alternat ; ceci explique que le mode ARM soit
essentiellement utilisé en point-à-point avec un circuit
duplex.
n algorithme de résolution des collisions
Gladys Diaz 86
Le mode asynchrone
Les modes de HDLC
n Symétrique
n ABM - Asynchronous Balanced Mode
n liaison point à point uniquement
n full duplex (LAP Balanced - RNIS)
n Gestion symétrique avec deux stations identiques ;
n chaque extrémité est primaire en émission et
secondaire en réception (mode équilibré)
n Chaque station dispose des capacités d'initialisation,
de supervision et de reprise, et peut donc envoyer
aussi bien des commandes que des réponses ;
n Mode de gestion le plus largement utilisé.

Gladys Diaz 87
Protocole HDLC
Format de la trame
n Format de trame des protocoles orientés bits

1 octet 1 octet 1 ou 2 octets Variable 2 octets 1 octet

Total de
01111110 Adresse Contrôle Données Contrôle 01111110

fanion fanion

Gladys Diaz 88
Protocole HDLC
Fonctionnement
n L'unité de transfert est la trame (Frame)
n Chaque trame est délimitée par un fanion
n le seul caractère "spécial" utilisé par le protocole
n Le fanion est représenté par la séquence « 01111110 »
n La transparence est assurée par la technique du bit de
bourrage
n Après chaque 5 bits à 1 un bit à 0
n Le fanion de queue peut faire office de fanion de tête de la
trame suivante
n En l'absence de données, le fanion est envoyé pour
maintenir la synchronisation entre les trames
Gladys Diaz 89
Protocole HDLC
Structure de la trame HDLC
Champ « Adresse »
n Champ Adresse
n Un seul champ adresse (mode maître/esclave)
n Il stocke l'adresse du secondaire
n adresse du destinataire pour les trames de commande
n adresse de l'émetteur pour les trames de réponse

Gladys Diaz 90
Protocole HDLC
Structure de la trame HDLC

n Contrôle d'erreurs très efficace par CRC avec


reprise sur erreurs
n FCS = CRC relatif à Adresse/Commande/Infos
n Contrôle de flux avec anticipation et
piggybacking
n Champ commande sur 1 ou 2 octets selon que
les compteurs Ns/Nr sont stockés sur 3 ou 7 bit

Gladys Diaz 91
Protocole HDLC
Fonctionnement
n L'entité est dite primaire si elle initie la
communication
n 3 types de trames - signalisation dans la bande
n trame I - trame d'information (échange de données)
n trame S - trame de supervision (supervision de
l'échange)
n trame U - trame non numérotées (supervision de la
liaison)

Gladys Diaz 92
Protocole HDLC
Structure de la trame HDLC
n Trames I Types de trames HDLC
n Information : transfert de la SDU
n Trames U
n Supervision non séquencée - pas de champ
information
n Connexion, Libération
n Anomalies, Réinitialisation
n Test, Identification
n Données non séquencées (datagrammes)

Gladys Diaz 93
Protocole HDLC Le champ « commande »
Trames U
n Trames non numérotées de commande (primaire vers secondaire) è
Pour des fins de contrôle
n SNRM - Set Normal Response Mode
n Commande
n Permet à une machine remise en marche d’annoncer sa présence et de forcer les
numéros de séquence à Zéro
n Mode non équilibré (asymétrique) : relation maître/esclave (polling/ selecting)
n Longueur du champ/réponse :1 octets
n SNRME - Set Normal Response Mode Extended
n Commande
n idem SNRM mais mode étendu (compteurs sur 7 bits au lieu de 3)
n Longueur du champ/réponse : 2 octets

n SARM - Set Asynchronous Response Mode


n Commande
n le secondaire peut émettre sans invitation
Gladys Diaz 94
Protocole HDLC Le champ « commande »
Trames U
n SABM - Set Asynchronous Balanced Mode
n commande
n Mode de réponse équilibré : les deux entités qui communiquent sont
équivalentes
n chaque station peut émettre sans autorisation (primaire et
secondaire simultanément)
n Longueur du champ/réponse : 1 octet (compteurs sur 3 bits)

n SABME - Set Asynchronous Balanced Mode Extended


n commande
n idem SABM mais mode étendu (compteurs sur 7 bits au lieu de 3)
n Longueur du champ/réponse : 2 octets

n DISC – Disconnect - commande


n l'un des terminaux décide de rompre la connexion
Gladys Diaz 95
Protocole HDLC Le champ « commande »
Trames U
Trames non numérotées de réponse (du secondaire vers le
primaire)
n UA - Unnumbered Acknowledge - réponse
n acquittement d'une trame non numérotée (SABM/ SABME et DISC)

n FRMR - Frame Reject ou CMDR - Comand Reject - réponse


n une trame ou une commande vient d'être rejetée (indication de la raison dans
le champ information)
n Condition d’erreur ne pouvant pas être récupérée par la retransmission de la
trame identique

n DM - Disconnect Mode - réponse


n indique que le terminal est déconnecté

n RM - Request Disconnect – commande (secondaire)


n équivalent de DISC pour le secondaire
Gladys Diaz 96
Protocole HDLC
Structure de la trame HDLC
Types de trames HDLC
n Trames S
n Supervision séquencée - pas de champ information
n Contrôle de flux : RR, RNR
n Contrôle d'erreurs : REJ (Go-Back-N), SREJ (Rejet
sélective)

Gladys Diaz 97
Protocole HDLC
Principales commandes
Trame I

Trame S

Trame U

Gladys Diaz 98
Protocole HDLC Structure de la trame HDLC
Le champ « commande »
n Ns - compteur des trames I émises (séq)
n Numéro d’ordre à l’émission des trames I transmises

n Nr - compteur des trames I reçues (suivante)


n Trames I et S
n Nr contient le numéro de la prochaine trame attendue
n Le numéro d’ordre Ns de la prochaine trame I attendue
n Exception de la trame S de Rejet sélectif (SREJ)
n Nr = x è acquitte les (x-1) trames précédentes

Gladys Diaz 99
Protocole HDLC
Le champ « commande »

n Le bit P/F - bit de contrôle (invitation à émettre/fin)


n il est appelé P dans une trame de commande, et
n F dans une trame de réponse
n P (Poll) = demande de réponse explicite ou non émise par une
station primaire
n F (Final) = indication de réponse explicite émise par une station
secondaire, suite à une demande explicite émise par un primaire
n P = 1 - sollicite une réponse explicite du secondaire
n Réponse à P=1 par F=1 - le secondaire répond par un acquittement

n Une station qui reçoit une trame de commande avec le bit P/F=1 doit
répondre avec P/F=1

Gladys Diaz 100


Protocole HDLC Le champ « commande »
Trames S
n Trames de supervision
n RR - Receive Ready (type 0 : ack)
n commande et réponse
n Prêt à recevoir
n ou accusé de réception si pas de trame I à envoyer par le
récepteur (Nr-1)
n REJ – Reject (type 1)
n Rejet simple ; demande la retransmission à partir de Nr
n RNR - Receive Not Ready (type 2)
n commande et réponse
n Non prêt à recevoir ; le récepteur demande à l'émetteur d'arrêter
les émissions et acquitte les trames jusqu'à Nr-1
n SREJ - Selective Reject (type 3)
n Rejet sélectif ; demande la retransmission de Nr
Gladys Diaz 101
Règles de reprise
n Débordement (contrôle de flux)
n la station qui ne peut plus recevoir de trames I émet
un RNR dont le Nr indique la première trame non
acceptée
n elle émet une trame RR quand elle est de nouveau
prête à recevoir de nouvelles trames

n Erreur de transmission
n toute trame dont l'analyse du FCS indique une erreur
de transmission est ignorée
n aucune autre action n'est entreprise
Gladys Diaz 102
Règles de reprise
n Erreur de numéro de séquence Ns (version 1 : rejet
global)
n la trame dont le Ns n'est pas celui attendu est ignorée ainsi que
les suivantes ( V(R) est différent de Ns )
n la station recevant cette trame émet une trame REJ dont le
numéro Nr indique la trame attendue
n Erreur de numéro de séquence Ns (version 2 : rejet
sélectif)
n la trame dont le Ns n'est pas celui attendu est conservée
n la station recevant cette trame émet une trame SREJ pour
demander la retransmission de la trame Nr
n Rejet de commande
n à la réception d'une trame CMDR/FRMR, la liaison est considérée
comme rompue
Gladys Diaz 103
Règles de reprise
n Deux temporisateurs
n temporisateur de retransmission (T1) initialisé par l'émetteur à
chaque trame émise
n temporisateur d'acquittement (T2) correspondant au délai
maximum au bout duquel le récepteur doit, s'il n'a pas de
données à émettre, envoyer un acquittement

n Reprise sur time-out


n la station qui ne reçoit aucun acquittement des trames
d'information émises au bout d'un temps T1 reprend l'émission
de la première trame non acquittée en positionnant le bit P/F à
1
n la station peut poursuivre normalement l'émission des autres
trames I dès la réception d'un acquittement portant le bit P/F à
1
Gladys Diaz 104
Exemple d’échange de données
n Trames : I et S
n Numéros d’ordre = 0 à module-1
n Module = 8 ou 128 (1 ou 2 octets)
n Module - 1 = 7 pour les exemples suivantes

n Variables :
n V(S) : variable d’état à l’émission
n Maintenu par chaque station de façon indépendante

n V(R) : variable d’état à la réception


n Pour les trames I qu’elle transmet et reçoit d’une autre station

Gladys Diaz 105


Exemple d’échange de données

n V(S) : variable d’état à l’émission


n Désigne le numéro d’ordre de la trame I suivante à
transmettre
n Valeurs entre 0 et module-1
n Cette variable est incrémenté d’un pour chaque
trame I consécutive transmise
n Ne doit pas dépasser la valeur N(R) de la dernière
trame reçue de plus de module-1

Gladys Diaz 106


Exemple d’échange de données

n V(R) : variable d’état à la réception


n Désigne le numéro d’ordre de la prochaine trame I
à recevoir en séquence
n Valeurs entre 0 et module-1
n Cette variable est incrémenté d’un pour chacune
des trames I reçues sans erreur et en séquence
n N(S) = V(R)
n le numéro d’ordre à l’émission, doit être égal à la variable
d’état à la réception V(R)

Gladys Diaz 107


Echange de données

Gladys Diaz 108


Gestion d’erreurs

Gladys Diaz 109


Gestion du contrôle de flux

RR avec P=1
Demander l’état du
récepteur distant

Gladys Diaz 110


Gestion de la fenêtre glissante
n Exemple W=3
n on peut émettre 0, 1, 2
n on reçoit trame RR
n demandant 3
n on peut émettre 3, 4, 5
n on reçoit trame RR
n demandant 6
n on peut émettre 6, 7,0
n on reçoit trame RR
n demandant 1
n on peut émettre 1,2,3
n etc ...
Gladys Diaz 111

Vous aimerez peut-être aussi