ASR4 - Mars 2006Notions de codes1 Détection et correction derreurs… … au sein de la couche 2 : liaison de données.

Slides:



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

de l’algorithme de Viterbi
Chapitre IV Protection contre les erreurs
Chapitre IV Protection contre les erreurs
L’électronique numérique
Architecture de machines Codage des informations
La Couche Liaison Modèle OSI : couche 2.
Couche liaison de données
Introduction à l’Algorithmique
Le codage de l ’information
Samedi 6 septembre 2008matériel informatique1 Codage de linformation.
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.
Présentation Unité de codage
Transmission fiable et codes correcteurs
Télégrammes Evènement Télégramme t1 Paquet de données t2 Ack t3
INF L14 Initiation aux statistiques
LA TRANSMISSION DE DONNEES
Prof : M.Trannoy - Professeur d'électrotechnique.
Le modèle O.S.I..
TP math-G-101.
TRAVAIL 3 : PRODUCTION MULTIMÉDIA
TRANSMISSION PAR COURANT PORTEUR
Ingénierie des réseaux - Chapitre 3: La couche transport 2 Master 1 SIGLIS Contrôler le débit démission La couche application passe un bloc de données.
Codes Correcteurs d’Erreurs
Nature, numération, code
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.
Et l'énergie dans tout çà ….
TRANSMISSION DES DONNEES.
Théorie dinformation ELG3575 Introduction aux systèmes de télécommunication.
Transmission Séries des Données
Fonction COMMUNIQUER les liaisons série
LIAISON MODBUS.
Implémentation analogique de décodeurs correcteurs d’erreurs
Chapitre 4 L’information
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
Sections sélectionnées du Chapitre 11
Arithmétique des “computers”
Analogique-numérique
Les fichiers indexés (Les B-arbres)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
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
Communication Juillet 2014.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Représentation et opérations.
AGIR : Défis du XXIème Siècle.
Chapitre 3 :Algèbre de Boole
Le codage des nombres binaires
Tutorat 7 - Introduction au Routage et OSPF
Les Codes Spatio-Temporels Correcteurs d’Erreurs
Cours n° 2 Liaison de données et trames
Le but de ma présentation
Généralités sur les réseaux de transmission de données numériques
Représentation des entiers
Sif Cours 9 n 7. Communication série u Concepts généraux u Programmation des ports séries n Le matériel u Chapitre 10 CSA u Article dans MSDN: F.
Concepts fondamentaux
1. Introduction Le traitement informatisé de données requiert un dialogue, une communication entre l’homme et la machine, et parfois, entre plusieurs.
Codes cycliques Hypothèse sur V = vocabulaire source Code linéaire - caractérisation Codage et décodage d’un code linéaire Code cyclique – caractérisation.
Cours 8 La transmission.
17/04/2017.
PARTIE II Chapitre I La Liaison de Données.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Chapitre 4 La représentation des nombres.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Département Informatique Codage de l’information Laurent JEANPIERRE IUT de CAEN – Campus 3.
Chapitre IV Protection contre les erreurs
Chapitre IV Chapitre IV Protection contre les erreurs Les Réseaux Informatiques 1.
Transcription de la présentation:

ASR4 - Mars 2006Notions de codes1 Détection et correction derreurs… … au sein de la couche 2 : liaison de données

ASR4 - Mars 2006Notions de codes2 Introduction Les erreurs de transmission sont : rares sur des supports numériques (fibre optique), beaucoup plus fréquentes sur les boucles locales du RTC (paires torsadées analogiques) ou les réseaux sans fil. Ces erreurs se produisent la plupart du temps en rafale : Avantage (par rapport aux erreurs isolées, ie 1 seul bit) : en moyenne, moins de blocs de bits sont affectés. Exemple : Soit la taille des blocs = 1000 bits, le taux derreur = 1/1000 Erreurs isolées : la plupart des blocs contiennent 1 erreur Erreurs en rafale de 100 ou plus : 1 ou 2 blocs sur 100 seulement Inconvénient : beaucoup plus difficiles à détecter et à corriger

ASR4 - Mars 2006Notions de codes3 Il faut donc apprendre à vivre avec les erreurs… Deux stratégies ont été développées. Lémetteur inclut dans le bloc de données : 1. suffisamment de redondance pour que le récepteur puisse reconstituer les données originales. utilise des codes correcteurs derreur plutôt pour des canaux non fiables comme le sans fil 2. juste assez de redondance pour que le récepteur puisse détecter les erreurs et demander une retransmission. utilise des codes détecteurs derreur plutôt pour des canaux fiables comme la fibre optique

ASR4 - Mars 2006Notions de codes4 Principe On souhaite envoyer m bits de données. On y rajoute r bits de redondance selon un certain « algorithme » ou « codage ». Ainsi, la longueur de la trame envoyée est n = m + r. (cette séquence de n bits un mot du code) A la réception, en fonction du « codage », on pourra détecter (2.) et/ou corriger (1.) des erreurs. En général, lapproche (1.) induit davantage de redondance, ce qui diminue le débit utile du canal…

ASR4 - Mars 2006Notions de codes5 Généralités sur les codes Un code C de longueur n est un ensemble de mots (séquences) de n bits. Ex : n = 3, C = { 110, 101, 011 } Parmi toutes les séquences possibles de n bits (2 n ) : celles qui appartiennent à C sont valides. celles qui nappartiennent pas à C sont invalides. Ex :111 est invalide 101 est valide

ASR4 - Mars 2006Notions de codes6 A la réception dune séquence S de n bits… Soit S est invalide (nappartient pas au code C). Il y a forcément eu une (ou plusieurs) erreur de transmission. Le récepteur corrige (1.) ou demande une retransmission (2.). Soit S est valide (appartient au code C). La séquence S est « considérée » comme correcte et acceptée par le récepteur. Remarque : « considérée » seulement, car… si lémetteur envoie 011 et le récepteur reçoit 101, aucun moyen de détecter quil y a eu des erreurs (2 ici)… car 101 est valide !

ASR4 - Mars 2006Notions de codes7 Distance de Hamming dun code Cest le critère qui permet dévaluer le pouvoir détecteur dun code ainsi que son pouvoir correcteur. Distance de Hamming entre 2 mots (noté d h ) = nbre de positions qui ont des valeurs distinctes. Ex : d h ( , ) = 3 (Astuce = nbre de 1 du OU exclusif) Distance de Hamming dun code C (noté D H (C)) = le minimum des distances entre 2 mots du code Ex : D H ( {110, 101, 011} ) = 2 D H ( {0011, 0101, 1001, 0110, 1010, 1100 } ) = 2

ASR4 - Mars 2006Notions de codes8 Représentation graphique Sommets : ts les mots de n bits Liens : entre les mots tq d h = 1 D H (C) = longueur du plus court chemin entre 2 mots valides

ASR4 - Mars 2006Notions de codes9 Pouvoir détecteur dun code Déf : On parle derreur dordre k lorsquun mot émis u diffère par k bits du mot reçu v, ie d h (u,v) = k. Pour détecter une erreur dordre 1, quelle doit être la distance de Hamming du code ? Réponse : D H (C) = 2 en effet, dans ce cas, 1 erreur simple ne peut pas changer un mot du code en un autre mot du code. Même question pour une erreur dordre k ? Réponse : D H (C) = k+1

ASR4 - Mars 2006Notions de codes10 Pouvoir correcteur dun code M Code transmis = S un point en M dimensions S (point transmis) S (code reçu avec 1 erreur) mot de code valide point dans lespace Au décodeur: S est toujours le mot de code le plus près du mot reçu S on décode sans erreur … Distance = 1 bit

ASR4 - Mars 2006Notions de codes11 Pouvoir correcteur dun code Pour pouvoir corriger une erreur dordre 1, une distance de Hamming D H (C) = 2 est-elle suffisante ? Réponse : non… il faut D H (C) = 3 en effet, si D H (C) = 2, 1 erreur simple peut nous produire un mot exactement « au milieu » de 2 mots du code, à distance 1 de chacun ! si D H (C) = 3, 1 erreur simple produit un mot qui reste le plus proche du mot transmis : on peut donc le retrouver ! Pour corriger une erreur dordre k, il faut D H (C) = 2k+1.

ASR4 - Mars 2006Notions de codes12 Résumé pouvoir détecteur et correcteur Un code C peut détecter des erreurs dordre D H (C) – 1 corriger des erreurs dordre (D H (C) – 1)/2 (partie entière) Distance de Hamming du code Ordre maximal des erreurs détectables Ordre maximal des erreurs corrigibles

ASR4 - Mars 2006Notions de codes13 Exemples de codes détecteurs

ASR4 - Mars 2006Notions de codes14 Détection des erreurs Permet de vérifier lintégrité dune trame au récepteur Retransmission des trames corrompues Plus efficace que la correction requiert moins de bits de redondance Parité Verticale Parité Horizontale Parité Verticale et Horizontale CRC : Cyclic Redundancy Code codes de détection couramment utilisés

ASR4 - Mars 2006Notions de codes15 Parité Verticale (Exo 2.1) Exemple : envoi de 7 caractères de longueur 3 (m=3). Info utile : Info envoyée : Propriétés : distance de Hamming est 2 : détecte les erreurs simples détecte les erreurs qui sont d'ordre impair ignore les erreurs doubles et toutes celles qui sont d'ordre pair

ASR4 - Mars 2006Notions de codes16 Parité Horizontale (Exo 2.2) Exemple : envoi de 7 caractères de longueur 3 (m=3). Info utile : Info envoyée :

ASR4 - Mars 2006Notions de codes17 Parité Verticale et Horizontale (Exo 2.3) Exemple : envoi de 7 caractères de longueur 3 (m=3). Info utile : Info envoyée : Propriétés : détecte les erreurs dordre 3 et corrige les erreurs simples détecte les erreurs qui sont d'ordre impair

ASR4 - Mars 2006Notions de codes18 Codes Polynomiaux : CRC Codes de blocs particuliers Facilement implémentables de façon matérielle Excellents résultats Principe : Toute séquence de n bits peut être représentée par un polynôme à coefficients binaires. Opérations d'addition et de multiplication modulo 2. G(X) un polynôme de degré r appelé polynôme générateur. Code polynomial C G,n : Ensemble des séquences de longueur n, dont le polynôme associé est multiple de G(X).

ASR4 - Mars 2006Notions de codes19 CRC: Propriétés Peut détecter 1 erreur isolée si G contient au moins 2 termes Peut détecter 2 erreurs (si G ne divise pas x k +1, avec k=fenêtre) Peut détecter tous les patrons derreurs impairs si (x + 1) est un facteur de G(x) Peut détecter r erreurs consécutives sil est dordre r (bursts) Trois polynômes standards : CRC-12: x 12 + x 11 + x 3 + x 2 + x + 1 CRC-16: x 16 + x 15 + x CRC-CCITT: x 16 + x 12 + x 5 + 1

ASR4 - Mars 2006Notions de codes20 Anciennes non utilisées

ASR4 - Mars 2006Notions de codes21 Technique de détection/correction derreur Code de longueur N exemples 2 parmi 3 Distance de Hamming = 2 Parité verticale/horizontale Distance de Hamming = 4 Contrôle de flux Pb: perte à la réception Solution… Sol1:réception bufferisée Sol2:évenement Xon/Xoff

ASR4 - Mars 2006Notions de codes22 CODES : VERSION PF

ASR4 - Mars 2006Notions de codes23 Technique de détection/correction derreur Stratégies : Détection (et demande de retransmission) : code détecteur derreurs Détection + correction : code correcteur derreurs Code de longueur N Ensemble de séquences (mots) binaires de N bits Séquences valides / invalides Exemple: M bits utiles, R bits de redondance 2 M séquences valides (2 N séquences possibles) Distance de Hamming entre 2 mots de code Nombre de différences : si u= et v= , alors d h (u,v)=3 Distance de Hamming dun code C Le minimum des distances entre 2 séquences du code C ( D H (C).

ASR4 - Mars 2006Notions de codes24 Un exemple de code : 2 Parmi 3 Configurations valides : mots de longueur 3 avec exactement 2 bits à 1. Code de longueur 3 Distance de Hamming = 2 Propriétés Pouvoir détecteur : oui (erreur simple) Pouvoir correcteur : non Plus généralement : La distance de Hamming d'un code permet d'évaluer son pouvoir détecteur d'erreur ainsi que son pouvoir correcteur. un code C peut détecter des erreurs d'ordre (D H (C) -1), un code C peut corriger des erreurs d'ordre PartieEntière((D H (C)-1)/2).

ASR4 - Mars 2006Notions de codes25 Code de bloc On découpe l'information utile en tronçon de m bits auquel on rajoute r bits de redondance. Code de longueur n=m+r. Sur 2 n combinaisons possibles, seules 2 m combinaisons sont valides. Exemple 1 : Parité verticale (VRC:Vertical Redundancy Checking) m~8 (caractère) et r=1 (parité paire ou impaire) Exemple : envoi de 4 caractères de longueur 3 (m=3). Information utile : Information envoyée : Propriétés : distance de Hamming est 2 : détecte les erreurs simples détecte les erreurs qui sont d'ordre impair ignore les erreurs doubles et toutes celles qui sont d'ordre pair

ASR4 - Mars 2006Notions de codes26 Code de bloc (suite) Exemple 2 : Parité verticale/horinzontale (LRC/VRC pour Vertical Redundancy Checking / Longitudinal Redundancy Checking) Principe : les caractères munis de leur bit de parité transversale sont regroupés en blocs, et on ajoute à la fin de chaque bloc un caractère supplémentaire pour la parité longitudinale Exemple : envoi dun bloc de 4 caractères de longueur 3 (m=3). Information utile : Information envoyée : Propriétés : distance de Hamming est 4 : détecte les erreurs dordre 3 et corrige les erreurs simples détecte les erreurs qui sont d'ordre impair

ASR4 - Mars 2006Notions de codes27 Codes polynomiaux Codes de blocs particuliers Facilement implémentables de façon matérielle Excellents résultats. Principe: Toute séquence de i bits peut être représentée par un polynôme à coefficients binaires Par exemple, la séquence "001101" peut être représentée par le polynôme x 3 +x opérations d'addition et de multiplication modulo 2 G(X) un polynôme de degré r appelé polynôme générateur Code polynomial C G,n Ensemble des séquences de longueur n, dont le polynôme associé est multiple de G(X).

ASR4 - Mars 2006Notions de codes28 Codes polynomiaux (suite) Exemple n=4, G(X)=X 2. Les multiples de G(X) de degré au plus égal à n-1 : 0.G(X)=0, 1.G(X)=X2, X.G(X)=X3, (X+1).G(X)=X3+X2. Les séquences valides du code C G,4 : 0000, 0100, 1000, Application à la détection d'erreur : G(X) (degré r) connu de l'émetteur et du récepteur La taille des informations utiles : m. On utilise le code C G,m+r

ASR4 - Mars 2006Notions de codes29 Codes polynomiaux (suite) Côté émetteur 1 b m-1 b m-2... b 2 b 1 b 0 :l'information utile de longueur m 2 M(X) le polynôme associé à l'information utile. 3 On divise le polynôme M(X).X r par G(X) M(X).X r = G(X).Q(X) + R(X) (R(X) de degré r-1) 4 On envoie la séquence de bits de longueur n=m+r associée au polynôme : N(X)=M(X).Xr + R(X). Remarquons que ce polynôme N(X) est divisible par G(X) : M(X).X r + R(X) = G(X).Q(X) + R(X) + R(X) = G(X).Q(X). Côté récepteur Détection d'erreur : vérifier que le polynôme associé à la séquence binaire reçue, est divisible par G(X). Information utile : supprimer les r derniers bits de la séquence reçue.

ASR4 - Mars 2006Notions de codes30 Contrôle de flux Problème : Un émetteur émet plus de messages que le récepteur peut accepter perte à la réception couches concernées : 2, 3 et 4 Solution : éviter cette situation (prévention). Deux approches : 1. Lémetteur német que sur autorisation du récepteur 2. Le débit est adapté au capacité du récepteur Exemple : Transmission asynchrone Réception bufferisée + évenement Xon/Xoff