Chapitre IV Protection contre les erreurs

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

Chapitre IV Protection contre les erreurs
La recherche de chemin optimal
Architecture de machines Codage des informations
Couche liaison de données
Dans l'ouvrage PHONO qui vise le développement des compétences phonologiques des élèves de GS et CP, GOIGOUX - CEBE - PAOUR ont mis en oeuvre les principes.
Calculs de complexité d'algorithmes
En quoi consiste la modulation d’amplitude ?
ASR4 - Mars 2006Notions de codes1 Détection et correction derreurs… … au sein de la couche 2 : liaison de données.
Architecture de réseaux
Les éléments de mémorisation
Le codage de l ’information
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.
LES TRANSMISSIONS DE DONNEES DANS LE SECTEUR INDUSTRIEL. ZOBRIST Julien TS1 ETA.
1 cours réseaux chapitre 3 la couche liaison. 2 La couche liaison Objectifs, la détection et la correction d'erreurs, le contrôle de flux, les protocoles.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Tests et Validation du logiciel
LES CAPTEURS INDUSTRIELS
Présentation Unité de codage
Transmission fiable et codes correcteurs
Le codage des nombres en informatique
Anouar Abtoy Yasser El Khamlichi 1.
Améliorer les performances du chiffrage à flot SYND
L’expérience de Young Sur une plage de Tel Aviv, (Israël), on peut très bien voir le phénomène de diffraction.
Prof : M.Trannoy - Professeur d'électrotechnique.
Le modèle O.S.I..
Gestion des Périphériques
TRANSMISSION PAR COURANT PORTEUR
Cours de physique générale I Ph 11
1.2 COMPOSANTES DES VECTEURS
Codage et Protection contre les Erreurs
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
Le Langage Binaire.
TRANSMISSION DES DONNEES.
Le codage des nombres en informatique
Théorie dinformation ELG3575 Introduction aux systèmes de télécommunication.
Projet d’électronique numérique
Fonction COMMUNIQUER les liaisons série
LIAISON MODBUS.
LES RESEAUX DE CAPTEURS SANS-FIL
Sections sélectionnées du Chapitre 11
1.3 COORDONNÉES DES POINTS
Analogique-numérique
1.1 LES VECTEURS GÉOMÉTRIQUES
Chapitre 3 La cinématique à une dimension
Institut Supérieur des Etudes Technologiques de Djerba Exposé du Traitement de Données Réalisé par: Khalifa Marwa Magroun Amira Jawadi Souad L2MDW.
Résoudre une équation du 1er degré à une inconnue
La théorie de la communication de C. Shannon
Atelier de formation : MAT optimisation II (les graphes).
Sous-espaces vectoriels engendrés
ASI 3 Méthodes numériques pour l’ingénieur
Mise en forme en Mathématiques
Communication Juillet 2014.
Equation différentielle
Le Système Binaire Introduction Les bases à connaitre Conversions
Chapitre 3 :Algèbre de Boole
Cours n° 2 Liaison de données et trames
Le but de ma présentation
User Datagram Protocol
Concepts fondamentaux
Chapitre 3: Translation et Vecteurs
MODULATION I - Définitions et généralités s(t)
Cours 8 La transmission.
17/04/2017.
PARTIE II Chapitre I La Liaison de Données.
Chapitre 4 La représentation des nombres.
Département Informatique Codage de l’information Laurent JEANPIERRE IUT de CAEN – Campus 3.
Détection et correction des erreurs
Chapitre IV Protection contre les erreurs
Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques 1.
Transcription de la présentation:

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

3. Détection d’erreur par clé calculée Sommaire Les Réseaux Informatiques 1. Introduction 2. taux d’erreur 3. 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)

Protection contre les erreurs

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

Indépendamment des supports de communication et des techniques de transmission utilisés, des perturbations vont se produire entraînant des erreurs. Dans ses conditions, la suite binaire reçue ne sera pas identique à la suite émise. Mise en oeuvre de techniques de protection contre les erreurs de transmission Un codeur est introduit avant la transmission sur le canal et un décodeur est placé en sortie du canal.

Détection par répétition: chaque message émis est suivi de sa réplique 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 par clé calculée: 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)

Conséquences des distorsions introduites par le canal • A la réception, le signal reçu est différent du signal émis. • Si la différence est minime, il est possible de différencier les 0 des 1 sans ambiguïté. • Sinon, le récepteur va décider qu’il reçoit 1 (resp. 0) alors que c’est un 0 (resp.1) qui a été émis : le récepteur commet une erreur.

Mesure du TEB dans la phase de Conception du système • Envoi d’une séquence de bits connue du récepteur. • Le récepteur traite la séquence de bits émise en aveugle, puis la compare avec la séquence qu’il a en mémoire.

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

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

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.

Définition générale Un 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.

Principe des codes Mot de code 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

Code de contrôle de parité 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 (impair: parité impaire), 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 œuvre ne peut pas détecter un nombre pair d’ erreurs.

Exemple parité paire parité impaire 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

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 oui 01001001 non 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 oui 01000001 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 oui 01010011 Effet de modification du bit parité Données originales Parité de l’émetteur Information transmise Parité récepteur concordance 0100110 1 01001101 oui 01001100 Non

Methode LRC : Longitudinal Redundancy Check (Technique à bit de parité à deux dimension) H E L O LRC Bit0 1 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 VRC 0001001 1010001 1 0011001 1111001 0100001 H E L O LRC

Methode CRC : Cyclic Redundancy Check Les 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 CRC On 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

Domaine binaire : ce domaine a deux opérations, addition et multiplication de telle sorte que les résultats de toutes les opérations soient binaire («0 » ou «1 ») Addition binaire: Multiplication binaire: Les valeurs transmises sont vues comme des polynômes manipulés avec une arithmétique modulo 2 :

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

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.

Codes autocorrecteurs

Code de Hamming: correcteur d'erreurs Le 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) = … = 1 dH(000,110) = dH(110,101) = … = 2 dH(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

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. Détecter toute erreur portant sur (dmin-1) bits Pour qu’un code soit capable de corriger d erreurs, sa distance de Hamming minimale doit être égal à ou supérieur 2*d+1. Corriger toute erreur portant sur (dmin-1)/2 bits 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

Exemple : Code de Hamming 1_correcteur pour 4 symboles Soit S un alphabet de 4 symboles avec S = { 00000, 00111, 11100 , 11011 } dmin(x,y) = 3 Code 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 :

Un code de Hamming (R. W. Hamming, années 1950) 0000000 0100111 1000101 1100010 0001011 0101100 1001110 1101001 0010110 0110001 1010011 1110100 0011101 0111010 1011000 1111111 Dans 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 + a4 Ces 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.

Détection d'erreur - correction Dans 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.