Protocole CSMA/CD

Publié le par kbit

CSMA/CD est un protocole réseau qui permet de faire communiquer plusieurs ordinateurs. La problématique est: comment faire communiquer plusieurs ordinateurs sur la même ligne en sachant qu'un seul ordinateur ne peut parler à la fois. Ramener à l'humain le problème devient: comment plusieurs personnes peuvent communiquer sans se couper la parole. La solution triviale est d'écouter chaque personne et dès que la parole est libre, on s'exprime. Si seulement c'était vrai chez les humains ...

Des dizaines d'ordinateurs sur une "voie" sans règles de prise de paroles entraîneraient des collisions à répétition, autant faire circuler des RER sur une seule voie. Le protocole est très simple chaque ordinateur qui a une donnée à transmettre écoute la ligne pour vérifier qu'aucun autre ordinateur n'est entrain d'émettre. Si elle est occupé l'ordinateur attend et tentera d'émettre plus tard (On reviendra après sur ce que veut dire plus tard). Si elle est libre, alors il émet les données et réécoute aussitôt la ligne pour vérifier que l'écho des données est bien le même. Si l'écho est le même, les données ont bien été transmis, si il est différent, alors un autre ordinateur à émis au même moment, il y a eu collision. Les données sont donc corrompu et les ordinateurs émettront plus tard. On peut très bien imaginer une personne entrain de parler et écouter l'écho de sa voix pour vérifier qu'elle n'a pas été coupée.

Le terme plus tard est assez vague, car si plus désignait une durée fixe (imaginons 1 seconde), cela voudrait dire que deux ordinateurs qui ont parlé en même temps attendraient tous les deux 1 seconde avant de ré émettre, et donc encore rentrer en collision. Par effet boule de neige, le réseau serait très vite saturé. La solution est de générer un temps d'attente aléatoire pour chaque machine en collision. En théorie, il y a toujours de rares cas ou ça ne marche pas, mais en pratique ça marche.

Moralité: pour que ça marche, prenez la parole quand personne ne parle.

Publié dans Général

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article