Contrôle d`erreurs: Détection et Correction

Transcription

Contrôle d`erreurs: Détection et Correction
Contrôle d’erreurs: Détection et
Correction
Luc Trudeau
L’ÉTS est une constituante du réseau
de l'Université du Québec
Département de génie logiciel
et des technologies de
l’information
Montréal, Québec, Canada
Faute, erreur et défaillance
Objectifs d’apprentissage
L Trudeau
•  En fonction d’un énoncé de problème, choisir
le bon type de redondance
•  Appliquer les formules pour détecter et
corriger des erreurs avec les codes de
Hamming
2
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
Redondance
L Trudeau
•  La redondance permet la tolérance aux
défaillances
•  Plusieurs formes de redondance :
§  Matérielle
§  D’information
§  Temporelle
3
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
Redondance matérielle (spatiale)
L Trudeau
•  Duplication physique d'un élément essentiel au fonctionnement normal du
système
•  Exemples: pneu de secours, alimentation sans coupure (UPS), disque dur
RAID (Redundant Array of Inexpensive Disks), Réseau FDDI (Fiber
Distributed Data Interconnect)
http://www.erareplicas.com/427/
spare.jpg
http://
www.interticket.com/
images/UPS.jpg
http://www.servright.com/images/Raid.gif
4
http://kewl.phear.org/
support-net/
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
Redondance d’information
L Trudeau
•  Existence de plus d'éléments que nécessaire pour représenter
l'information
•  Ex : copie de sauvegarde d’un dossier, système RAID, Code
de Hamming, CRC (bit de parité), autres…
‘A’ (ASCII) = 65 dec
1000001 0
http://www.servright.com/images/Raid.gif
5
CRC (bit de parité)
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Redondance temporelle
•  Relancer une opération afin de pallier une erreur détectée –
cela prend plus de temps
•  Ex: lecture de disque erronée, recomposition de numéro
après ligne téléphonique occupée, renvoi d’un message après
un dépassement de temps…
T
A(s)
6
...
http://www.ntt-west.co.jp/
service_guide/
image/graph/701_2.gif
retransmission
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Redondance pour détecter les erreurs dans les messages
•  Information rajoutée (redondante) dans un message pour
détecter des erreurs.
§  Codage pour la détection d’erreurs.
‘A’ (ASCII) = 65 dec
1000001 0
CRC (bit de parité)
7
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Redondance pour corriger les erreurs dans les messages
•  Une fois une erreur est détectée, il faut la corriger
•  Deux façons de la corriger :
§  Retransmission (redondance temporelle)
§  Forward Error Correction (correction d'erreurs sans voie de retour)
(redondance d’information)
8
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Correction d’erreur par retransmission
•  Demander une retransmission de l’information erronée :
§  Soit explicitement, en renvoyant un message « nack »
§  Soit implicitement, en supprimant (ignorant) le message et en
attendant que ce dernier soit renvoyé automatiquement après un
délai
•  Redondance temporelle – simple et pratique
•  Moins bien pour le temps réel :
§  La transmission de voix ou du flux vidéo en mode courant, etc
9
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Correction d’erreur par « Forward Error Correction »
•  On ajoute davantage de redondance d’information dans le
message, afin de corriger l’erreur à la réception :
§  Pas besoin d’effectuer des retransmissions de message
§  Les algorithmes de codage et de correction sont plus
complexes
§  Message est plus long
10
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Choisir la méthode de contrôle d’erreur
•  But = diminuer le taux d’erreur (p) pour un canal
•  Impossible de détecter toutes les erreurs :
§  Méthode pourra en détecter une fraction (f)
•  Étant donné un p et un f, le taux d’erreur « résiduelle » est
r = p.(1 - f)
•  Si r ≈ 10-9, on peut dire que la méthode est convaincante au
niveau de la fiabilité
•  Considérer le prix à payer en redondance :
§  Temporelle,
§  d’information
11
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Codage en bloc : contrôle de parité
•  Utile si la probabilité de plusieurs erreurs dans le même
message est faible
•  Un bit de parité est ajouté à chaque message
•  Par exemple, la donnée : 0110010, bit de parité : 1.
•  Sa valeur est la somme modulo 2 de tous les autres bits :
§  1 si la somme est impaire,
§  0 si elle est paire
•  On peut détecter l’occurrence d’un bit modifié, n’importe
lequel (même le bit de parité)
12
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
Correction d’erreur avec FEC
L Trudeau
•  La méthode de Forward Error Correction (FEC) utilise
davantage d’information dans le codage.
•  Stratégie : cela prendra un nombre relativement important
d’erreurs dans le même message pour tromper la méthode
de codage donc, pour changer l’information originale.
§  Lorsqu’un message reçu contient des erreurs, on le constate parce
que ce n’est pas un mot codé valable.
§  On essaie de corriger les erreurs en choisissant le bon mot codé, celui
qui ressemble le plus au message erroné.
13
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Exemple simple
•  Codage avec 4 mots codés valides représentant les
caractères A, B, C, D :
A:0000000000, B:0000011111, C:1111100000, D:1111111111
•  Envoi d’un message avec la lettre A:0000000000, mais il
arrive deux erreurs lors de la transmission, ce qui donne à la
réception un message 0011000000.
•  Récepteur sait que le message original devait être
0000000000 puisque le message y ressemble le plus.
14
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
Codage en bloc : Hamming
L Trudeau
•  Le nombre de bits qui sont différents entre deux
mots codés
10001001
10110001 XOR
00111000 <- nombre de 1
•  Distance de Hamming : d
•  Il faudrait d erreurs binaires indépendantes pour
transformer un mot codé en un autre
15
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Détection vs Correction avec le code de Hamming
•  Quel que soit le code, on calcule la distance de Hamming d
•  Pour détecter b erreurs, il faut un code avec une distance
§  d = b + 1
•  Pour corriger b erreurs, il faut un code avec une distance
§  d = 2b + 1
16
Département de génie logiciel et des technologies de l’informa5on Faute, erreur et défaillance
L Trudeau
Exemple simple
•  0000000000, 0000011111, 1111100000,
1111111111
•  Distance de Hamming d = 5, puisque chaque mot
codé diffère par un minimum de 5 bits.
§  Peut détecter (d = b + 1) jusqu'à 5 - 1 = 4 erreurs
indépendantes dans le même message
§  Peut corriger (d = 2b + 1) jusqu'à (5 - 1)/2 = 2 erreurs
indépendantes dans le même message
17
Département de génie logiciel et des technologies de l’informa5on 

Documents pareils