(Translated by https://www.hiragana.jp/)
Carrier Sense Multiple Access with Collision Avoidance — Wikipédia Aller au contenu

Carrier Sense Multiple Access with Collision Avoidance

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis CSMA/CA)

Dans les réseaux sans fil, en particulier les réseaux Wi-Fi, la méthode d'accès CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) est un algorithme distribué qui permet le partage du média (le spectre) entre plusieurs stations tout en réduisant la probabilité de collisions entre trames et le risque de brouillage. Elle est notamment utilisée par Localtalk ou par la norme 802.11 dite Wi-Fi.

La couche liaison de données

[modifier | modifier le code]

La couche Liaison de données de la norme 802.11 est composée de deux sous-couches : la couche de contrôle de la liaison logique (Logical Link Control, notée LLC) et la couche de contrôle d’accès au support (Media Access Control, ou MAC).

La couche MAC définit deux méthodes d'accès différentes :

La méthode d'accès CSMA/CA

[modifier | modifier le code]

Dans un réseau local Ethernet en bus, maillé ou plus généralement filaire où plusieurs hôtes se trouvent sur un même segment de réseau, la méthode d'accès utilisée par les machines est le CSMA/CD (Carrier Sense Multiple Access with Collision Detection), pour lequel chaque machine est libre de communiquer lorsque le réseau est libre (aucun signal en cours). Chaque machine envoyant un message vérifie qu'aucun autre message n'a été envoyé en même temps par une autre machine. Si c'est le cas, les deux machines patientent pendant un temps aléatoire avant de recommencer à émettre.

Dans un environnement sans fil ce procédé n'est pas utilisable car il est complexe d'écouter le medium lors de sa propre transmission pour détecter des collisions. Par ailleurs, dans la mesure où deux stations voulant communiquer avec un récepteur commun peuvent être situées à l'opposé l'une de l'autre et ne s'entendent pas forcément mutuellement en raison du rayon de portée du signal radio[1], problème connu sous le nom du « problème du nœud caché », un mécanisme d'évitement de collisions entre leurs trames est nécessaire.

Le déroulement simplifié du protocole CSMA/CA pour les réseaux Wi-Fi est le suivant :

  1. Chaque station écoute le medium (Carrier Sensing) afin de déterminer si une autre station est en train d'émettre
  2. Lorsque l'une trame doit être transmise:
    1. Si le canal a été libre pendant une durée égale au DIFS (Distributed Inter Frame Space), alors cette trame est transmise.
    2. Sinon, la station attend que le medium soit libre pendant une durée égale au DIFS, puis engage une procédure de backoff aléatoire. Pour ce faire, elle tire aléatoirement la valeur d'un compteur (sous la forme d'un entier) dans une fenêtre appelée la fenêtre de contention (Contention Window). Si le compteur est égal à zéro, elle transmet immédiatement. Sinon, elle diminue la valeur de ce compteur d'une unité pour chaque période pendant laquelle le medium est entièrement libre, et transmet lorsque le compteur atteint zéro.

La valeur de est dynamiquement choisie en fonction du nombre de retransmissions observées avec le destinataire des trames dans une fenêtre . Les valeurs de , et dépendent de la couche physique utilisée mais aussi de la bande de fréquence dans laquelle la station opère[2].

Notes et références

[modifier | modifier le code]
  1. (en) [PDF] [url=https://arxiv.org/ftp/arxiv/papers/1003/1003.4070.pdf Comparative study of hidden node problem and solution using different techniques and protocols, Journal of Computing ] arxiv.org, mars 2010
  2. « IEEE Standard for Information Technology–Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Networks–Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications », IEEE Std 802.11-2020 (Revision of IEEE Std 802.11-2016),‎ , p. 1–4379 (DOI 10.1109/IEEESTD.2021.9363693, lire en ligne, consulté le )

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]