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