Détection
des erreurs
de transmission
Sommaire

du site

  
Avant : Codes Synchrones
Suite : Accès Multiple

Détection des erreurs de transmission

Les perturbateurs agissant sur les lignes de transmission
peuvent produire des erreurs sur le flot de bits s'écoulant sur les lignes de transmission.

La détection d'erreurs est particulièrement cruciale
lorsque les informations sont envoyées par flots ininterrompus de longues suites de bits
(en mode synchrone par exemple).


Il existe plusieurs méthodes pour détecter ces erreurs à l'arrivée :

Le contrôle de parité - utilisé dans la jonction RS 232 (PC-Modem , PC-souris, etc.) - déjà vu ici -
Les contrôles de redondance cycliques ou CRC ou FCS. Voir suite.
Les codes auto-correcteurs : codes de Hamming

FCS ou CRC


Le niveau OSI confronté tout spécialement à ce problème est le niveau 2 : "Liaison".

Son unité de transmissin est la TRAME.
Dont la structure classique est :

Délimiteur
EN-TÊTE
DONNÉES
FCS
Délimiteur

Le champ FCS de cette trame porte un code de détection d'erreurs diversement appelé :

  • CTRL : Termé général qui ne précise pas la type de contôle effectué.
  • FCS : Frame Check Sequence - Séquence de contrôle de trame -
    Terme fonctionnel qui n'en précise pas non plus le type.
  • CRC : Cyclic Redundancy Check - Contrôle de Redondance Cyclique

Ces champs permettent, par un moyen mathématique, de détecter et non de corriger une - ou des - erreurs ayant éventuellement entâché une trame de données : généralement par suite de perturbations sur la ligne de transmission.

CHECKSUM
Le plus simple de ce type de procédés est de prendre tous les octets constituant une trame
et de les additionner tous en limitant le format de la somme à 1 octet (ou 2 ou plus), sans tenir compte des dépassements qui auront lieu inévitablement.
On obtient ce que l'on appelle un "checksum" - somme de vérification -
On transmet cet octet (ou ensemble d'octets) dans le champ FCS à la suite du champ des DONNÉES.

Si on fait la même opération à l'arrivée et que l'on compare le "checksum" obtenu au "checksum" reçu de l'émetteur,
le résultat doit être le même sans quoi il est certain qu'une erreur s'est introduite dans la transmission.

Si le résultat est le même cela ne veut pas dire qu'il n'y a pas d'erreur, mais les mathématiques montrent que la probabilité d'erreur dans ce cas est "faible".

CRC : Contrôle de Redondance Cyclique

En utilisant la "théorie des polynômes cycliques", les mathématiciens sont parvenus à un taux d'erreurs non décelées particulièrement faible.
D'autant plus faible que la méthode mathématique pour calculer le FCS est sophistiquée.
Les CRC ont généralement une longueur de , 1, 2 ou 4 octets..

Le principe est le même :

  • Effectuer au départ de la trame une cetaine opération sur la totalité des bits à transmettre.
  • Copier le résultat dans le champ CRC en fin de trame avant l'envoi de l'ensemble.
  • Refaire les calculs à l'arrivée.
  • Comparer le résultat du calcul au CRC en fin de trame.

Les FCS ne portent que sur les données, pas sur les délimiteurs

Ce mécanisme ne corrige pas les erreurs !
Il ne peut que permettre de détecter qu'il y en a eu, s'il y en a eu !
La suite à donner dépend du type de
protocole de liaison utilisé.

Codes de Hamming


Comme nous le verrons, en cas d'erreur décelée à l'aide de la séquence de contrôle d'erreur,
il faut établir un échange de données entre les machines en cours de dialogue
afin de pouvoir rétablir la trame correcte.

Dans certains cas ce dialogue peut prendre du temps :
imaginez cet échange entre la Terre et une machine posée sur la planète Mars !

Dans ce cas, il vaut mieux que la machine réceptrice puisse se "débrouiller" toute seule
pour rétablir les données exactes.

Il existe pour cela des codes binaires dont l'une des caractéristiques
est de comporter beaucoup plus de bits que nécessaire pour représenter les nombres
et qui permettent, en cas d'erreur sur un ou plusieurs bits,
de rétablir mathématiquement le code initial.

Ce sont notamment les codes dits de Hamming - mathématicien anglais -

Nous n'irons pas plus loin dans cette analyse.




  
Avant : Codes Synchrones
Suite : Accès Multiple
Sommaire

du site
Sommaire Couche Physique
Sommaire Réseaux