Détection et correction d'erreurs (Couche Liaison)
La détection et la correction d'erreurs ajoutent des bits de redondance calculés avec soin aux données transmises afin qu'un récepteur puisse détecter, et parfois corriger, les erreurs de bit introduites par une liaison de communication bruyante.
Definition
La détection et la correction d'erreurs sont des techniques de codage qui ajoutent des bits de contrôle redondants, calculés à partir des données, afin qu'un récepteur puisse déterminer si des bits ont été corrompus pendant le transit (détection) et, avec des codes plus robustes, reconstruire les données originales (correction).
Scope
Ce sujet aborde les techniques de codage utilisées à la couche liaison pour gérer les erreurs de bit : les contrôles de parité simples, la parité bidimensionnelle, les sommes de contrôle Internet et les contrôles de redondance cyclique (CRC) pour la détection, ainsi que les codes correcteurs d'erreurs directs (forward error-correcting codes) tels que les codes de Hamming pour la correction. Il examine le compromis entre la surcharge de redondance et la robustesse de la détection ou de la correction, ainsi que les contextes d'utilisation de chaque technique. Il exclut la fiabilité basée sur la retransmission, construite aux couches supérieures, qui complète le codage plutôt que de le remplacer.
Core questions
- Comment les bits de contrôle redondants permettent-ils à un récepteur de détecter qu'une transmission a été corrompue ?
- En quoi la parité, les sommes de contrôle et les contrôles de redondance cyclique diffèrent-ils en termes de robustesse et de coût ?
- Comment les codes correcteurs d'erreurs directs (forward error-correcting codes) tels que les codes de Hamming corrigent-ils les erreurs sans retransmission ?
- Quel est le compromis entre la surcharge de codage et la capacité de gestion des erreurs ?
- Quand la correction d'erreurs est-elle préférable à la détection plus retransmission ?
Key concepts
- contrôle de parité
- parité bidimensionnelle
- somme de contrôle Internet
- contrôle de redondance cyclique (CRC)
- polynôme générateur
- correction d'erreurs directe
- codes de Hamming
- erreurs en rafale
- surcharge de codage
Key theories
- Redondance pour la détection d'erreurs
- En transmettant des bits supplémentaires calculés à partir des données — un bit de parité, une somme de contrôle ou un reste de CRC — un récepteur peut recalculer et comparer pour détecter la corruption ; les CRC basés sur l'arithmétique polynomiale détectent toutes les erreurs en rafale jusqu'au degré du polynôme générateur.
- Correction d'erreurs directe
- Les codes correcteurs d'erreurs tels que les codes de Hamming ajoutent suffisamment de redondance structurée pour que le récepteur puisse non seulement détecter mais aussi localiser et corriger un nombre limité d'erreurs de bit, évitant la retransmission au prix d'une surcharge plus importante.
- Capacité du canal et communication fiable
- La théorie de l'information établit que chaque canal bruyant possède une capacité en dessous de laquelle une communication arbitrairement fiable est possible avec un codage approprié, définissant les limites fondamentales que les codes de contrôle d'erreurs pratiques approchent.
Clinical relevance
Le contrôle d'erreurs est invisible mais omniprésent : les CRC protègent les trames Ethernet et Wi-Fi, les sommes de contrôle (checksums) protègent les en-têtes IP et de transport, et la correction d'erreurs directe (forward error correction) est essentielle là où la retransmission est coûteuse ou impossible, comme sur les liaisons spatiales lointaines, les supports de stockage et le streaming sur des réseaux sans fil sujets aux pertes. Le juste équilibre entre détection et correction détermine la fiabilité et l'efficacité des systèmes de communication et de stockage.
History
La théorie de l'information de Claude Shannon de 1948 a établi l'existence d'un codage fiable jusqu'à la capacité du canal, et les codes de Richard Hamming de 1950 ont fourni le premier schéma pratique de correction d'erreur simple. Les contrôles de redondance cyclique et des codes plus robustes ont suivi, devenant la norme dans le tramage de la couche liaison, et le domaine a depuis produit des codes puissants (tels que les codes turbo et LDPC) qui approchent la limite de Shannon.
Key figures
- Claude Shannon
- Richard Hamming
Related topics
Seminal works
- shannon1948
- hamming1950
- kurose2021
Frequently asked questions
- Quelle est la différence entre la détection d'erreurs et la correction d'erreurs ?
- La détection d'erreurs indique seulement au récepteur que les données ont été corrompues, après quoi il peut ignorer les données ou demander une retransmission. La correction d'erreurs ajoute suffisamment de redondance pour que le récepteur puisse également reconstruire les données originales sans les redemander, ce qui est précieux lorsque la retransmission est lente ou impossible.
- Pourquoi les réseaux utilisent-ils des CRC plutôt qu'une simple parité ?
- Un seul bit de parité ne détecte pas tout nombre pair d'erreurs de bit, tandis qu'un contrôle de redondance cyclique, basé sur la division polynomiale, détecte toutes les erreurs de bit uniques, toutes les erreurs de bit doubles et toutes les erreurs en rafale plus courtes que le contrôle, ce qui le rend bien plus robuste pour les types d'erreurs que les liaisons produisent réellement.