Académique Documents
Professionnel Documents
Culture Documents
Chapitre 3:
Couche liaison de
données
1
Sommaire
2
Contrôle d’erreur
Problème:
Les données peuvent être modifiées (ou perdues) pendant le transport
La détection d’erreur:
pas d’erreur sur le bit d’indice i du mot code et la valeur 1 dans le cas contraire.
Propriétés:
Capacité de détection: Un code de bloc est capable de détecter des
erreurs de poids x tels que x dm 1
où dm désigne la distance de Hamming minimale entre les différents mots codes
Exemples:
Si dm=1 xmax = 0 ( car une erreur portant sur ce bit transforme un mot
de code valide en un autre mot de code valide )
Si dm=2 xmax = 1
( Possibilité de détection d’une erreur unique )
y T x T GT avec GT Idm P
6
Au niveau réception:
S yT H
T
avec
P et
H Id r
yT le mot code reçu
7
Exemple:
Au niveau émission:
1 0 0 1 0 1
YT T
x 0 1 0 1 1 0
YT 1 1 0 0 1 1
Y =X
T T GT
0 0 1 0 1 1 Mot information Bits de redondance
Au niveau réception:
T
Le mot de code reçu Y 1 1 1 0 1 1 101
110
T 011
Calcule du vecteur syndrome ST S [ 1 1 1 0 1 1 ] 10 0[ 0 1 1 ]
010
001
8
Calcule de la distance de Hamming minimale dm
Mots informations Mots codes Poids de
x1 x 2 x 3 x1 x 2 x 3 a 1 a 2 a 3 Hamming dm = 3
000 000000 0
001
010
001011
010110
3
3
x1
011 011101 4
100 100101 3
101 101110 4 Dans cette exemple le code de bloc ne
110 110011 4 peut corriger qu’une seule erreur
111 111000 3
Idée de base
1x9+1x8+0x7+1x6+0x5+1x4+1x3+0x2+1x+1 =x9 + x8 + x6 + x4 + x3 + x + 1
10
Supposons que les données soient transmises par bloc de « k » bits
– Exemple pratique
1101011011 M(x) = x9 + x8 + x6 + x4 + x3 + x + 1
Au départ, un émetteur et un récepteur doivent choisir un polynôme
supérieure à 0.999
11
Détection d’erreurs par le code CRC
Codage à l’émission pour un bloc de « k » bits de données
1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1
1 0 0 1 1 1 1 0 0 0 0 1 0 1 0
0 1 0 0 1 1
1 0 0 1 1
0 0 0 0 0 1 0 1 1 0
1 0 0 1 1
0 0 1 0 1 0 0
1 0 0 1 1
0 0 1 1 1 0
1 1 0 1 0 1 1 0 1 1 1 1 1 0 Bits transmis
13
Exemple de décodage CRC ( Sans erreur de transmission )
1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1
1 0 0 1 1 1 1 0 0 0 0 1 0 1 0
0 1 0 0 1 1
1 0 0 1 1
0 0 0 0 0 1 0 1 1 1
1 0 0 1 1
0 0 1 0 0 1 1
1 0 0 1 1
0 0 0 0 0 0
14
Exemple de décodage CRC ( Avec erreur de transmission)
1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1
1 0 0 1 1 1 1 0 0 0 0 1 0 0 0
0 1 0 0 1 1
1 0 0 1 1
0 0 0 0 0 1 0 0 1 1
1 0 0 1 1
0 0 0 0 0 1 1 0
Erreur de transmission
car le reste n’est pas nul
15
Protocole HDLC
Le protocole normalisé le plus classique rencontré dans la couche liaison
de données est le protocole HDLC ( High-level Data Link Control).
Trois modes de fonctionnement spécifient la manière dont la
communication est gérée dans ce protocole:
Le mode de réponse normale (NRM): la station secondaire ne peut
émettre que si elle a reçu l’autorisation de la station primaire.
Le mode de réponse asynchrone (ARM): la station secondaire peut
émettre sans avoir reçu l’autorisation de la station primaire.
Le mode de réponse asynchrone équilibré (ABM): les stations
concernées sont tour à tour primaire et secondaire, donc chaque
station participante peut à son tour être responsable de la gestion de la
transmission.
16
Structure des trames HDLC
01111110 Adresse Commande Données FCS 01111110
Champs de la trame
• Fanions : délimiteurs de trame
• Adresse : identifie la ou les stations concernées par l’échange
• Commande : contient l’information nécessaire à l’interprétation de la trame (voir plus loin)
• Données : une suite de bits généralement groupée en octets (128 à 512 pour Transpac)
• FCS (Frame Check Sequence) : séquence de détection d’erreurs égale au reste de la division du polynôme
associé aux différents champs de la trame par X16 + x12 + x5 + 1.
Rq: Pour assurer l’unicité de la configuration binaire du fanion à l’intérieur de la trame, on doit réaliser le
traitement de la transparence, qui consiste à insérer lors de l’émission un 0 dés qu’on lit cinq 1 de suite. A
la réception on réalise l’opération inverse.
17
TRAMES I
Les trames d’informations (I) sont utilisées pour le transfert de données et pour
l’acquittement de l’information, c’est le seul type de trame pour le quel le champ
de données n’est pas vide. Son champ commande est structuré de la manière
suivante: 1 bit 3 bits 1bit 3bits
- P/F signifie
P=0 L’initiateur n’attend pas de réponse à cette trame
Trame provenant de
l’initiateur de l’échange P=1 L’initiateur attend une réponse à cette trame
Trame transmise à F=0 Le secondaire n’a pas terminé d’émettre des trames
l’initiateur de l’échange F=1 Le secondaire a terminé ses envois de trames
18
TRAMES S
Les trames de supervision (S) sont utilisées pour acquitter les trames
d’information, pour la gestion des erreurs et pour le contrôle de flux. Le champ
données est vide et le champ commande set structurée de la manière suivante:
1 bit 1 bit 2 bits 1 bit 3 bits
1 0 S1 S2 P/F N(R)
• Le champ S1 S2 possède 4 valeurs :
– 00 signifie RR (Received & Ready) : prêt à recevoir de nouvelles trames.
confirme la réception des trames de données de n°< N(R) et demande la réception
des trames suivantes (trame d’acquittement)
– 10 signifie RNR (Received & Not Ready) : pas prêt à recevoir de nouvelles trames.
confirme la réception des trames de données de n°< N(R) et interdit la transmission
des trames suivantes (trame de contrôle de flux)
– 01 signifie REJ (Reject) : rejet non sélectif
confirme la réception des trames de données de n°< N(R) et demande la
retransmission des trames de n°>= N(R) (trame de protection contre les erreurs)
– 11 signifie SREJ (Selctive Reject) :rejet sélectif
confirme la réception des trames de données de n°< N(R) et demande la
retransmission de la trame n°= N(R) (trame de protection contre les erreurs) 19
TRAMES U
Les trames non numérotées (U) ont pour rôle de gérer la mise en place et le
relâchement de la connexion. Elles sont sans champ N(S) ou N(R) et ne
permettent pas de faire un acquittement. Leur champ données est vide et leur
champ commande est structuré de la manière suivante:
1 bit 1 bit 2 bits 1 bit 3 bits
1 1 M1 M2 P/F M3 M4 M5
• La séquence M1M2M3M4M5 possède 32 valeurs possibles dont :
– 11100 signifie SABM (Set Asynchronous Balanced Mode) : établit une liaison en mode équilibré.
– 00001 signifie SNRM (Set Normal Response Mode) : établit une liaison en mode de réponse
normale.
– 11000 signifie SARM (Set Asynchronous Response Mode) : établit une liaison en mode de
réponse asynchrone.
– 00010 signifie DISC (Disconnected) : demande de déconnexion.
– 00110 signifie UA (Unnumbered Acknowledgement) : acquitte une trame non numérotée.
20