Techniques de détection d’erreur
Les données communiquées sur n’importe quel support sont sujettes aux interférences et à la corruption, de sorte que les données d’origine envoyées peuvent ne pas être les données reçues. Cette interférence peut prendre de nombreuses formes, notamment le bruit électronique et la diaphonie entre les fils.
Les signaux numériques se composent uniquement des uns et de zéros. Par conséquent, toute erreur peut avoir deux conséquences: un est remplacé par un zéro ou un zéro par un. En fonction de la durée de l’interférence, cela peut changer un bit ou plusieurs.
Le problème avec les erreurs de transmission de données est que le destinataire peut ne pas être en mesure de distinguer les données incorrectes des données correctes, car les données incorrectes peuvent ne pas être distinguées des données correctes. Par conséquent, il est essentiel qu’un système de détection d’erreur soit intégré au système de transmission. De cette façon, le destinataire sera en mesure de trouver une erreur et de demander à l’expéditeur de retransmettre les données correctes.
Une technique simple de détection des erreurs est appelée contrôle de parité. Il existe deux types de contrôle de parité: paire et impaire.
Une vérification plus sophistiquée que la parité peut être effectuée en attachant la somme de contrôle ou checksum à la fin de chaque bloc de données transmis.
Contrôle de parité paire
Les caractères ASCII sont composés de 7 bits, par exemple: 1001001 est un ‘I’ majuscule. Pourtant, chaque caractère ASCII est généralement stocké sous forme d’octet, c’est-à-dire: 8 bits. La 8ème position est donc inutilisée. Pourtant, ce 8ème bit peut être utilisé pour stocker un bit de parité.
Dans le système de parité paire, le bit de parité est utilisé pour s’assurer que le nombre total de 1 une fois additionnés est égal à un nombre pair. Même la parité fonctionne en comptant le nombre de 1 et si le total est pair, le bit de parité est mis à zéro et s’il est impair, le bit de parité est mis à un. Ainsi, le nombre total de 1 dans l’octet est toujours pair.
L’expéditeur définit le bit de parité avant la transmission et le destinataire le vérifie à la réception et le supprime si nécessaire. Si le bit de parité est incorrect, le caractère a été corrompu pendant la transmission.
Contrôle de parité impaire
Dans le système de parité impaire, le bit de parité est utilisé pour s’assurer que le nombre total de 1 une fois additionnés est égal à un nombre impair. La parité impaire fonctionne en comptant le nombre de 1 et si le total est impair, le bit de parité est mis à zéro et s’il est pair, le bit de parité est mis à un.
Somme de contrôle(Checksum)
Une vérification plus sophistiquée que la parité peut être effectuée en associant des informations de contrôle supplémentaires à la fin de chaque bloc de données transmis. Cette information supplémentaire est appelée somme de contrôle. Elle est calculée initialement par l’expéditeur et vérifiée par le destinataire. Bien que le calcul d’une somme de contrôle soit complexe, la détection d’erreur permet de détecter 99,99% des erreurs.
Exemple :
Supposons que le bloc suivant de 16 bits doit être envoyé en utilisant la somme de contrôle(Checksum) de 8 bits. 10101001 00111001 Les nombres sont ajoutés en utilisant le complément à un. 10101001 + 00111001 -------- Somme = 11100010 Checksum = 00011101 Le modèle envoyé est 10101001 00111001 00011101
L’une des méthodes standard de calcul d’une somme de contrôle est appelée Contrôle de Redondance Cyclique (CRC).
Remarque: Les techniques décrites ci-dessus peuvent uniquement détecter l’occurrence d’une erreur, elles ne peuvent pas la corriger.