AccueilCCNACCNA coursLa méthode CSMA/CD... tout ça pour ca?

La méthode CSMA/CD… tout ça pour ca ?

Sou­vent, quand on dis­cute de CSMA/CD, les tech­ni­ciens ne savent pas de quoi on parle alors que c’est pri­mor­dial pour les com­mu­ni­ca­tions réseaux. Certes, comme c’est auto­ma­tique, per­sonne ne s’en occupe… mais c’est tout de même bien de com­prendre à quoi ça sert.

La méthode CSMA/CD per­met de défi­nir com­ment une machine (plus pré­ci­sé­ment une carte réseau) va uti­li­ser le média sur laquelle elle est connec­tée (c’est à dire une paire de cuivre tor­sa­dée, un câble coaxial,…).

En fai­sant une ana­lo­gie avec la trans­mis­sion audio, cela res­semble au fonc­tion­ne­ment du tal­kie-wal­kie. Si on veut com­mu­ni­quer, on appuie sur le bou­ton et on parle. Pen­dant ce temps, les autres nous écoutent et ne parlent pas, vous êtes le seul à uti­li­ser le canal, ce fameux « media » de com­mu­ni­ca­tion. C’est pareil avec la méthode CSMA/CD, quand une carte réseau envoi des don­nées, les autres cartes réseaux écoutent et se taisent !

Définition

  • CSMA pour Car­rier Sense Mul­tipe Access : La carte réseau va détec­ter une por­teuse élec­trique (Car­rier Sense) qui va lui per­mettre d’en­voyer des don­nées. Plu­sieurs cartes réseaux peuvent se trou­ver sur ce même média (par exemple, les cartes sont bran­chées sur un HUB), on dit que c’est en accès mul­tiples (Mul­tiple Access). L’a­cro­nyme est à connaitre pour le CCNA.
  • CSMA/CD pour Col­li­sion Detec­tion : La pro­ba­bi­li­té que deux cartes réseaux émettent en même temps n’est pas nulle, il faut alors acti­ver un méca­nisme de détec­tion de col­li­sion, c’est à dire détec­ter quand elles envoient des don­nées en même temps, ce qui va engen­drer une dété­rio­ra­tion du signal élec­trique. Rap­pe­lez vous le méca­nisme du Tal­kie-wal­kie, une seule enti­té peut par­ler à un ins­tant T. L’a­cro­nyme est aus­si à connaitre pour le CCNA.
  • BEB pour Bina­ry Expo­nen­tial Backoff : C’est l’al­go­rithme qui déter­mine le temps d’attente avant retrans­mis­sion de la trame erro­née. Logique ! Quand deux cartes réseaux ont envoyé des don­nées en même temps, il ne faut pas qu’elles retrans­mettent au même moment.

Sché­ma­ti­que­ment, voi­ci ce que ça donne :

Etape 1

La carte réseau A est en attente et écoute si une émis­sion est en cours

Etape 2

Si pas d’é­mis­sion en cours :
A trans­met les paquets à des­ti­na­tion de C. Pen­dant la trans­mis­sion, A écoute si autre
émis­sion simul­ta­née (pour détec­ter une éven­tuelle collision)

Etape 3

Si col­li­sion (exemple A et B émettent en même temps) …
… Alors détec­tion de la col­li­sion par A et B (et les autres)…

Etape 4

… et re-émis­sion de A et de B après un temps aléa­toire (grâce à l’al­go BEB), donc dif­fé­rent pour cha­cun d’eux

Conlusion

Tout ça pour ça ? Vous voyez bien que ce n’est pas com­pli­qué le CSMA/CD 🙂

Ca sert sur­tout pour les cartes réseaux bran­chées sur de vieux équi­pe­ments de type HUB.

Avec des switchs, le lien entre la carte réseau et le port du switch uti­lise une paire de cuivre pour l’aller et une paire de cuivre pour le retour donc il est impos­sible que la carte réseau et le port du switch émettent des don­nées en même temps et crée une col­li­sion, on passe par des che­mins phy­siques dif­fé­rents… c’est la notion de half-duplex et full-duplex.

Pour plus d’ex­pli­ca­tions sur le half-duplex et full-duplex, voir le cha­pitre correspondant.

Si vous sou­hai­tez appro­fon­dir le sujet , voi­ci un site qui détaille le prin­cipe (même si c’est inutile pour l’exa­men): www.guill.net

7 Commentaires

  1. Bon­soir,
    Juste une petite ques­tion : si il y a une col­li­sion entre 2 hôtes ( A et B ) par exemple.
    Après la col­li­sion, les deux hôtes qui l’ont pro­vo­qué sont-ils prio­ri­taires pour ren­voyer leur trames ? Ou l’hote C peut envoyer sans se sou­cier de cela ?

    • Bon­jour Jean-Guy,
      C’est une excel­lente ques­tion, on me l’a­vait jamais posée en toute franchise.
      Selon la « théo­rie » du CSMA/CD, il est dit que si une col­li­sion a lieu, les deux machines (hôtes A et B) inter­rompent leur com­mu­ni­ca­tion et attendent un délai aléa­toire (déter­mi­né par l’algorithme de backoff expo­nen­tiel), puis la pre­mière ayant pas­sé ce délai peut alors réémettre.
      Cepen­dant cela n’in­ter­dit pas les autres machines (hôte C) d’u­ti­li­ser le média pour com­mu­ni­quer. Mais je ne suis pas sur à 100%. Donc si quel­qu’un a la réponse, on est pre­neur tous les deux 🙂

      Cyril

      • Bon­jour Cyril, Bon­jour Jean-Guy,

        Les deux hôtes A et B qui ont pro­vo­qué la col­li­sion ne sont pas prio­ri­taires puisque :
        1 – pen­dant le délai d’at­tente déter­mi­né par l’al­go, les deux hôtes sont « silencieux »,
        2 – aucun délai n’est pré­vu pour qu’un autre sys­tème (par exemple, C) ne prenne le média : si C veut et émettre ET que le média est libre, alors il peut com­men­cer la trans­mis­sion ins­tan­ta­né­ment.

        Par contre, on peut rela­ti­vi­ser l’ef­fet puisque si c’est la pre­mière col­li­sion, sur un réseau 100Mbps, le temps aléa­toire choi­sit par A et B sera : soit 0 (ré-émis­sion ins­tan­ta­née), soit 5,12 microsecondes !

        Pour que C réus­sisse à émettre une trame, il fau­drait donc que A et B « choi­sissent » tous les deux un délai d’at­tente de 5,12 micro­se­conde ET que C com­mence l’é­mis­sion dans l’intervalle !
        On pour­ra accor­der que la pro­ba­bi­li­té est non nulle (ce qui rend le scé­na­rio pos­sible) mais très faible tout de même !

        Oswal­do

  2. Bon­jour,
    il me semble que lors­qu’une col­li­sion est détec­tée par des péri­phé­riques émet­teurs, ils émettent un signal de brouillage pour aver­tir les autres péri­phé­riques de la collision.
    Expli­ca­tions très claires comme d’ha­bi­tude, merci 😉

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Les plus populaires