25
Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Embed Size (px)

Citation preview

Page 1: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Chapitre IVChapitre IVProtection contre les

erreurs

Les Réseaux Informatiques

Page 2: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Les Réseaux InformatiquesSommaire

1. Introduction2. taux d’erreur3. Détection d’erreur par clé calculée a. VRC (Vertical Redundancy Check) b. LRC (Longitudinal Redundancy Check) c. CRC (Cyclic Redundancy Check)4. code autocorrecteur (Hamming)

Page 3: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Protection contre les erreurs

Page 4: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Transmission d’information

canal

émetteur récepteur

bruit

Causes d’erreurs sur un canal rayonnement électromagnétique Les éclairs câblage mal isolé …………………..

Page 5: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Indépendamment des supports de communication et des techniques de transmission utilisés, des perturbations vont se produire entraînant des erreurs.

Mise en oeuvre de techniques de protection contre les erreurs de transmission

Dans ses conditions, la suite binaire reçue ne sera pas identique à la suite émise.

Un codeur est introduit avant la transmission sur le canal et un décodeur est placé en sortie du canal.

Page 6: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Stratégies de protection contre les erreurs de transmission

Détection par écho: le récepteur renvoie en écho le message reçu à l’émetteur

Détection par répétition: chaque message émis est suivi de sa réplique

Détection d’erreur: détecter les erreurs, puis demander une retransmission

Détection et correction d’erreur par code: substituer aux caractères à transmettre , une combinaison binaire différente du codage de base (code autocorrecteur)

Page 7: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Taux d’erreur sur un canal

10-9 pour les réseaux locaux (paire torsadée)

10-5 pour le RTC 10-10 à 10-12 sur une fibre optique. 10-7 à 10-8 sur un coaxial taux élevé pour le téléphone sans fil

émis bits de nombre

erronés bits de nombreerreurd'taux

Page 8: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Détection d’erreur par clé calculée

Page 9: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Principe général pour la détection des erreurs de transmission

un émetteur veut transmettre un message (suite binaire quelconque) à un récepteur

l’émetteur transforme le message initial à l’aide d’un procédé de calcul spécifique qui génère une certaine redondance des informations au sein du message codé.

La plupart des systèmes de détection d’erreurs ajoute des informations à chaque trame avant de la transmettre sur le support

De façon générale pour transmettre k bits, on ajoute r bits, soit au total k + r = n bits transmis. On parle de code(n, k) ou de mot de code.

le récepteur vérifie à l’aide du même procédé de calcul que le message reçu est bien le message envoyé grâce à ces redondances.

En cas d’erreur le récepteur demande à l’émetteur de retransmettre à nouveau les données.

• Exemple : Technique de bit de parité et codes cycliques ou détection par clé calculée.

Page 10: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Définition généraleUn code (n, k) transforme (code) tout bloc initial de k bits d’information en un bloc codé de n bits. Le code introduit une redondance puisque n > k. Alors les r (r=n-k) derniers bits forment un champ de contrôle d’erreur.

On appelle mot du code, la suite de n bits obtenue après un codage (n, k). Le nombre n de bits qui composent un mot du code est appelé la longueur du code. La dimension k étant la longueur initiale des mots.

Page 11: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Principe des codes Exploiter la redondance d’informations

ajouter des bits de contrôle aux bits de données

Corriger est plus difficile que détecter plus de bits de contrôle

Mot de code

k bits de données+r bits de contrôle= n bits d’information (à transmettre)

Un tel mot de n bits est appelé un mot de code

Page 12: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Methode VRC : Vertical Redundancy Check(Technique à bit de parité simple)

C'est la méthode de la parité verticale.A chaque caractère, on ajoute un bit de parité (1 ou 0) de façon a ce que le nombre total de 1 soit paire ou impaire. parité paire lorsque le nombre de 1 est paire parité impaire lorsque le nombre de 1 est impaire.

À la réception :

Si le nombre de bits 1 est pair, on suppose qu'il n'y a pas eu d'erreur.Sinon, on sait alors qu'il y a eu une erreur de transmission (mais on ne sait pas la localiser) Technique simple à mettre en oeuvre Détection de 2n erreurs impossible.

Code de contrôle de parité

Page 13: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Exemple

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

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

Page 14: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Données originales

Parité de l’émetteur

Information transmise

Parité récepteur

concordance

0100110

1 01001101 1 oui

0100110

1 01001001 0 non

Effet de modification d’un bit avec parité paire

Données originales

Parité de l’émetteur

Information transmise

Parité récepteur

concordance

0100110

1 01001101 1 oui

0100110

1 01000001 1 oui

Effet de modification de deux bits avec parité paire

Données originales

Parité de l’émetteur

Information transmise

Parité récepteur

concordance

0100110

1 01001101 1 oui

0100110

1 01010011 1 oui

Effet de modification de quatre bit avec parité paire

Données originales

Parité de l’émetteur

Information transmise

Parité récepteur

concordance

0100110

1 01001101 1 oui

0100110

1 01001100 1 Non

Effet de modification du bit parité

Page 15: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Methode LRC : Longitudinal Redundancy Check(Technique à bit de parité à deux dimension)

H E L L O LRC

Bit0 0 1 0 0 1 0

Bit1 0 0 0 0 1 1

Bit2 0 1 1 1 1 0

Bit3 1 0 1 1 1 0

Bit4 0 0 0 0 0 0

Bit5 0 0 0 0 0 0

Bit6 1 1 1 1 1 1

VRC 0 1 1 1 1 0

1001000

0 1000101

1 1001100

1 1001100

1 1001111 1 1000010

0

H E L L O LRC

Page 16: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Methode CRC : Cyclic Redundancy CheckLes codes cycliques

Le principe consiste à l'émission :diviser les bits du message a émettre considéré comme un polynôme de degré k-1 P(x) par un autre polynôme (dit générateur) G(x). Le reste de la division R(x) constitue le CRC parfois appelé aussi FCS(Frame check sequence).émettre le message avec le CRCOn transmet une séquence binaire M’ construite à partir du message binaire M concaténé avec un CRC de r bits construit de tel sorte que M’(x)/G(x) = 0.

A la réception Recalculer le CRC de la même façon.Les deux interlocuteurs (l’émetteur et le récepteur du signal) conviennent d’un : « polynôme générateur » noté G(x) le CRC transmis est comparés avec celui calculé à la réception.Si les valeurs diffèrent une erreur est signalée

Page 17: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Les valeurs transmises sont vues comme des polynômes manipulés avec une arithmétique modulo 2 :

Page 18: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Comment construire le CRC ?Avec un messageM = 1101011011Et une fonction génératriceG(x) = x4 + x + 1On construit un messageM’’ = 1101011011 0000(4 zéro car G de degré 4).

Le reste de

M’’

G

=1110

M’ = 1101011011 1110

Page 19: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Exemples de codes polynomiaux :(i) L’avis V41 du CCITT conseille l’utilisation de codes polynomiaux (de longueurs n =260, 500, 980 ou 3860 bits) avec le polynôme générateur G(x) = x16 + x12 + x5 + 1.(ii) Le polynôme CRC-16 est utilisé par le protocole HDLC : G(x) = x16 + x15 + x2+ 1.(iii) Le polynôme suivant est utilisé par Ethernet :G(x)= x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+1.

Page 20: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Codes autocorrecteurs

Page 21: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Code de Hamming: correcteur d'erreursLe poids de Hamming d’un mot est le nombre de bits à 1

qu’il contient. La distance de Hamming entre deux mots de même longueur est définie par le nombre de positions binaires qui diffèrent entre ces deux mots. On l’obtient par le poids de Hamming de la somme binaire des 2 mots. Distance minimale: la distance minimale dmin d’un code C est le plus petit poids de Hamming d’un mot non nul.

dH(000,010) = dH(000,001) = … = 1dH(000,110) = dH(110,101) = … = 2dH(000,111) = dH(100,011) = … = 3

1 0 0 0 1 0 0 1

1 0 1 1 0 0 0 1

= 0 0 1 1 1 0 0 0

Dist(x,y) = 3

Page 22: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Capacité d’un code Pour qu’un code soit capable de détecter

d erreurs, sa distance de Hamming minimale doit être égal ou supérieur à d+1.

Pour qu’un code soit capable de corriger d erreurs, sa distance de Hamming minimale doit être égal à ou supérieur 2*d+1.EXEMPLE: Le code (0 = 000,1 = 111) est :

• 2_detecteur car il détecte jusqu’à 2 erreurs dans le symbole transmis ;• 1_correcteur car il permet de corriger une erreur par symbole

Page 23: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Exemple : Code de Hamming1_correcteur pour 4 symboles

Soit S un alphabet de 4 symboles avec S = { 00000, 00111, 11100 , 11011 }dmin(x,y) = 3Code 2_détecteur et 1_correcteur.Corriger: 00101 : dH(00101,00000) = 2 donc 00101 n’est pas le premier symbole.dH(00101,00111) = 1 donc 00101 est le second symbole(avec 1 erreur)

S nous permet de coder 4 valeurs binaires différentes soit 2 bits :

Page 24: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Un code de Hamming (R. W. Hamming, années 1950)

0000000 0100111 1000101 11000100001011 0101100 1001110 11010010010110 0110001 1010011 11101000011101 0111010 1011000 1111111Dans le code correcteur ci-dessus, les mots de départ a1a2a3a4 ont quatre bits (il y a donc 24 = 16 mots distincts).On rajoute à chaque mot trois bits de contrôle a5, a6, a7 dont la valeur est déterminée par les quatre premiers bits :a5 = a1 + a2 + a3,a6 = a2 + a3 + a4,a7 = a1 + a2 + a4Ces relations étant calculées "modulo 2", c'est-à-dire en ne retenant que le reste dans la division par 2 (par exemple, 1 + 1 + 1 = 1, 1 + 0 + 1 = 0).La distance minimale entre deux mots de ce code vaut 3, ce qui permet de détecter et corriger une erreur sur l'un des sept bits d'un mot.

Page 25: Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques

Détection d'erreur - correctionDans tous les cas de détection d'erreur,lorsqu'une erreur est détectée, il faut la corriger.L'émetteur et le récepteur amorce un dialogue (a l'initiative du récepteur) pour effectuer la correction de l'erreur.