Vous êtes sur la page 1sur 37

CEG3585 -

INTRODUCTION AUX RÉSEAUX


D’ORDINATEURS

CHAPITRE 6 – DÉTECTION ET
CORRECTION D’ERREURS

Professeur: Mohamed Ali Ibrahim, ing., PhD

engineering.uOttawa.ca
Introduction, lectures et problèmes
• La coopération entre appareils de communication est nécessaire pour échanger
des données. La transmission en série, 1 bit à la fois, est typique, mais il est
aussi possible de transmettre 8 bits à la fois, i.e. la communication en parallèle.
La communication asynchrone et synchrone sont deux méthodes utilisées lors de
la transmission en série.
• Des normes ont été développées pour décrire les caractéristiques d'un support
physique. Elles spécifient les caractéristiques physiques et électriques de
l'interface (e.g. connecteur) et du support qui porte le signal (e.g. le câble) ainsi
que le signal qui passe par le support.
• Lecture: Chapitre 6
• Problèmes: 6.1, 6.2, 6.5, 6.6, 6.8, 6.9, 6.10, 6.12, 6.13, 6.14, 6.20

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 2


Objectifs

• À la fin de cette leçon, vous


– comprendrez les différentes techniques de communications de données;
– pourrez décrire les différentes normes pour la communication physique des
données.

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 3


Sujet de discussion
Réseau Communication entre deux nœuds du réseau

Liaison de données Communication entre deux nœuds adjacents

Physique Communication physique

• Techniques de communication de données


– Transmission asynchrone et synchrone
– Types d’erreurs
– Détection d’erreurs
– Correction d’erreurs
• Les normes de la couche physique
– Configuration
– Interfaces

4 CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón


Modes de transmission (numérique)

• Devons-nous envoyer les bits 1 à la fois ou en


groupes?

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 5


La transmission parallèle et série
• Dans la transmission parallèle, un octet à la fois
est transmis
– Chaque bit à son circuit
– Utilisée seulement dans la communication locale
– Exemple: un ordinateur peut communiquer avec son
imprimante avec une interface parallèle
– Utilisé dans les courtes distances
– Avantage?

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 6


La transmission parallèle et série
• Dans la transmission série, les données sont
transmises comme un train de bits
– Seuls deux circuits sont nécessaires - un pour transmettre
et un pour recevoir
– Utilisée dans la communication locale et à longue distance
– Exemple: un ordinateur peut communiquer avec un
terminal ou un autre ordinateur via le réseau téléphonique
par une interface série

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 7


En série: La transmission asynchrone et synchrone
• La transmission asynchrone
– Une synchronisation pour chaque octet est faite séparément
– Bit de départ, bits de données, bit de parité, bit d'arrêt
– Temps non déterminé entre la transmission des octets (caractères)
– Coûteuse en terme de temps de système
– Utilisée normalement pour la transmission à basse vitesse
• La transmission synchrone
– Le train d'octets est transmis dans un bloc sans temps de délai entre octets
– Les premiers quelques octets (avec un patron connu) permettent la synchronisation
– Utilisée dans la transmission à grande vitesse

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 8


La transmission asynchrone
• Une synchronisation pour chaque octet est faite
séparément
– Bit de départ signale le début du caractère
– Bits de données, bit de parité, bit d'arrêt (1, 1.5 ou 2 bits)
– Temps non déterminé entre la transmission des octets
(caractères)
– Demande un 20 % de temps de service
– Simple et peu couteux
– Appropriée pour communication de terminal (clavier)

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 9


La transmission asynchrone (suite)

 Exigences de
synchronisation
sont modestes
◦ Pour transmission
de 8
bits/caractère,
peut tolérer
jusqu’à 5% de
différence entre
horloges

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 10


Transmission synchrone

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 11


Transmission synchrone (suite)
• Transmission d’un bloc de bits
• Synchronisation
– Avec ligne qui porte le signal de synchronisation
• Bon pour de courtes distances
• Défaillances du support de transmission
– Inclure horloge dans le signal de transmission (Manchester
ou fréquence porteuse dans signale analogique)
• Début de la trame utilise séquences de bit pour
identifier début et fin d’une trame de données
– Caractère: SYN (hex 16)
– Patron de bits: délimiteurs HDLC, Préambule 802.3
• Plus efficace que la transmission asynchrone
– Transmission asynchrone demande 20% ou plus de temps
de service (overhead)
– Dans la trame asynchrone, bits d’en-tête, de fin de trame
et de synchronisation représente dans l’ordre de 100 bits.
Donc pour une trame portant 1000 caractères (donc 8000
bits), temps de service représente 1,25 %

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 12


Types d’erreurs

• Changements des bits (0 à 1 ou 1 à 0) représentent des erreurs


• Erreur d’un bit
– Bruit blanc qui affecte le signal
• Paquet d’erreurs
– Bruit d’impulsion qui affecte un groupe de bits
– Évanouissement de signal (fading) avec la communication sans fil
– Plus important aux débits plus élevés

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 13


Types d’erreurs

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 14


Détection d’erreur

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 15


Détection d’erreur
• Parité
– Valeur du bit de parité assure qu’une séquence de bits
ait une un nombre paire (parité paire) ou impaire (parité
impaire) de bits 1.
• CRC - Le code de redondance cyclique
– Divise la séquence de bits par un polynôme.
• Checksum: somme modulaire
– Divise la séquence de bits en plus petites sections et
faire la somme de sections.

Somme
modulaire

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 16


Parité transversale
• Détecte des erreurs simples dans un caractère - le nombre
de bits changés doit être impaire
– Ajoute un bit de parité et compte le nombre de bits 1 dans le
caractère transmis
– Définit le bit de parité pour que
le nombre de 1 est paire pour la parité paire
le nombre de 1 est impaire pour la parité impaire
(Notez: le compte comprend aussi le bit de parité)
– Exemples:
Lettre Code (parité paire) Code (parité impaire)
P P
A 0 1000001 1 1000001
E 1 1000101 0 1000101
V 0 1010110 1 1010110

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 17


Parité longitudinale

• Dispose en colonne les caractères à transmettre et calcule un bit


de parité par colonne
– Exemple: parité transversale impaire et longitudinale paire
A 1 1000001
E 0 1000101
V 1 1010110
0 1010010
– Nombre de bits changés dans une colonne doit être impaire pour détecter
l'erreur

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 18


Le code de redondance cyclique - CRC

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 19


CRC – Encodage

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 20


CRC - Décodage

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 21


CRC – Les polynômes

• Peut représenter des nombres binaires avec des polynômes :


expression algébrique de la variable X et des coefficients binaires
(bits du nombre binaire).
• Différentes versions de P sont représentées par:
– CRC-12 = X12 + X11 + X3 + X2 + X + 1
– CRC-16 = X16 + X15 + X2 + 1
– CRC-CCITT = X16 + X12 + X5 + 1
– CRC-32 = X32 + X26 + X23 + X22 + X16 + X12 + X11
+X10 + X8 + X7 + X5 + X4 + X2 + X + 1
• Voir Stallings (P 193) pour plus de détails au sujet de
l’arithmétique avec les polynômes

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 22


Choix multiple
Multiple Choice

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 24


CEG3585 - Miguel Garzón 23
Choix multiple
Multiple Choice

CEG3585CEG3585
– Mohamed Ali Ibrahim
- Miguel Garzónet Miguel Garzón 25 24
CRC – Les polynômes

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 25


Checksum: somme modulaire

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 26


Somme modulaire - Encodage
Supposons que le bloc de 16 bits sera transmit avec un
checksum de 8 bits.
10101001 00111001
Faire somme des valeurs de 8-bits et faire le complément-1 du
résultat
10101001
00111001
------------
Somme 11100010
Checksum 00011101
La séquence de bits transmise: 10101001 00111001 00011101
CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 27
Somme modulaire - Décodage
Le receveur reçoit la séquence de bits.
10101001 00111001 00011101
La somme modulaire donne un résultat de zéros qui indique pas
d’erreurs.
10101001
00111001
00011101
Somme 11111111
Somme modulaire 00000000 pas d’erreurs

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 28


Somme modulaire (cont’d)

Supposons un paquet d’erreurs long de 5 bits qui affecte 4 bits.


10101111 11111001 00011101
Le receveur fait la somme des trois sections:
10101111
11111001
00011101
Somme: 11000101
Somme modulaire 00111001 erreur détectée

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 29


Choix multiple
Multiple Choice

Distance Hamming
d(10101,11110) = 3
10101
11110
01011

CEG3585CEG3585
– Mohamed Ali Ibrahim
- Miguel Garzón et Miguel Garzón 32 30
CEG3585
CEG3585
CEG3585 ––Mohamed
–Mohame
Mohamed
Ali
AliAli
Ibrahim
Ibrahim
Ibrahim etetMiguel
et Miguel
Miguel Garzón
Garzón
Garzón
Correction d’erreurs

• L’utilisation de la détection d’erreurs demande une retransmission


de trames en erreur
• Dans certaines circonstances, cette approche n’est pas efficace
– Le taux d’erreurs sur les bits est si élevé, que plusieurs retransmissions serait
nécessaires pour recouvrir la trame en erreur, par exemple les liaisons sans
fil.
– Lorsque le temps de propagation est très long, par exemple le satellite
• Donc, la correction d’erreur permet au receveur de faire la
correction des erreurs dans la trame reçue sans avoir à demander
une retransmission

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 31


Correction d’erreurs (suite)

• Correction d’erreur sans circuit de retour (FEC – forward error


correction)
– Ajoute de la redondance dans le message, avec encodeur FEC.
– Bloc de bits k est traduit en un mot codé de n bits (n>k).
– Le receveur, avec un décodeur FEC, traduit les mots de code pour retrouver
le message original.
• Si le mot code est sans erreur, la traduction est simple.
• Pour certains mots code avec une erreur, il possible de recouvrir le bloc de bits
correspondant.
• Pour d’autres mots de code avec une erreur, le décodeur peut seulement rapporter
l’erreur sans la corriger.
• Pour des patrons rares, le décodeur fera une traduction erronée.

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 32


Correction d’erreurs - exemple
• Traduit 2 bits en 5 bits Bloc de Mot de
• Si un code reçu n’est pas valide,
calcule la distance Hamming au données code
codes valide (nombre de bits 00 00000
différent entre deux valeurs
binaires)
• Le code valide avec une distance 01 00111
minimale du code invalide est
considéré comme le bon code
• Exemple le code 00100 a une 10 11001
distance 1 de 00000, et sera
interprété comme le bloc 00
• Voir Stallings pour les détails 11 11110

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 33


Performance des techniques

• Distance Hamming permet de quantifier la différence entre


deux séquences de symboles à deux suites de symboles de
même longueur, elle associe le nombre de positions où les deux
suites diffèrent.

d(000,011) = ?

Solution
000 XOR 011 = 011 et on compte le nombre de 1, ici il y a = 2

Distance Hamming d(10101,11110) = ?

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 34


Performance des techniques (suite)

• La distance Hamming minimale dmin est le minimum de distance entre deux


mots du code.

• Ex. Calculez la distance minimale Hamming des paires suivantes?

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 35


Distance Hamming minimale dmin
Pour garantir la détection d’au plus s erreurs dans tous les cas, dmin doit être dmin = s+1.
Exemple
La distance minimale de Hamming d'un schéma de codage par blocs est de 7, combien d'erreurs
binaires ce code peut-il détecter?

Solution:
dmin = s+1 = 7 = s +1 => s = 7-1 = 6

Pour garantir la correction d’au plus t erreurs dans tous les cas, dmin doit être dmin = 2t+1.
Exemple
La distance minimale de Hamming d'un schéma de codage par blocs est de 9, combien d'erreurs
binaires ce code peut-il corriger?
Solution
dmin = 2t+1 = 9 => 2t = 9-1 = 8 => t = 8/2 = 4

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 36


Références:
• William Stallings, Data and Computer Communications, 10th
edition, Prentice-Hall, 2014.
• Data Communications and Networking Feb 17, 2012 by
Behrouz A. Forouzan
• Andrew S. Tanenbaum and David j. Wetherall, Computer
networks, fifth edition, 2011
• Fred Halsall, Data Communications, Computer Networks and
Open Systems, 4th edition, Addison-Wesley, 1998, ISBN: 0-
201-42293-X.
• Douglas Comer, Internetworking with TCP/IP: Principles,
Protocols, and Architectures, 4th edition, Prentice-Hall, 2000,
ISBN: 0-13-018380-6.

CEG3585 – Mohamed Ali Ibrahim et Miguel Garzón 40

Vous aimerez peut-être aussi