Le contrôle d’accès au média
Dans un réseau informatique, quand plusieurs appareils utilisent le même canal de communication, on doit s’assurer que chacun puisse transmettre et recevoir des données sans problème. Cette question se traite au niveau de la couche liaison de données du modèle OSI, sous le terme de « contrôle d’accès au média». Ce concept englobe les règles et les mécanismes qui permettent à divers nœuds de partager un moyen de transmission de manière organisée. Sans ces règles, ce serait le chaos, un peu comme plusieurs personnes parlant en même temps lors d’une réunion virtuelle. En réseau, ce bazar est appelé collision.
La « collision » désigne le moment où deux ou plusieurs paquets de données se chevauchent sur le même canal, causant une distorsion des informations. Cela perturbe la transmission et peut causer des retards, puisque les paquets affectés doivent être renvoyés. Pour gérer ce partage du canal et éviter les collisions, plusieurs méthodes ont été développées pour déterminer comment les nœuds utilisent le canal de communication.
Dans ce contexte, deux protocoles particulièrement utilisés : CSMA et ses variantes CSMA/CD pour Ethernet et CSMA/CA utilisé dans les réseaux Wi-Fi. Ces protocoles permettent non seulement de minimiser les chances de collision, mais également d’encadrer efficacement le partage du média entre multiples utilisateurs.
Il est à noter que les problèmes de collisions touchent principalement les systèmes de communication en half-duplex, où les données ne peuvent pas être envoyées et reçues simultanément, ce qui augmente les chances de collision. À l’opposé, les systèmes en full-duplex permettent des échanges bidirectionnels simultanés grâce à des canaux dédiés, ce qui élimine le risque de collisions. Cette distinction est importante car la plupart des réseaux modernes, y compris ceux qui utilisent le Gigabit Ethernet et les commutateurs, fonctionnent en full-duplex. Dans ces cas, les protocoles traditionnels de contrôle d’accès au média deviennent moins nécessaires.
Toutefois, dans les anciens environnements où le half-duplex est encore utilisé, ou dans les technologies sans fil comme le Wi-Fi qui peuvent être affectées par d’autres types d’interférences, ces protocoles sont encore très utiles.
CSMA
Le protocole CSMA est une des réponses à la problématique du contrôle d’accès au média. Il s’agit d’une technique relativement simple, mais qui a fait ses preuves en matière de régulation du trafic réseau. CSMA est basé sur un principe clair : écouter avant de parler. Autrement dit, un nœud doit vérifier l’état du canal de communication avant d’y transmettre des données.
Dans un fonctionnement CSMA, chaque station qui souhaite envoyer des données commence par « écouter » le média pour voir s’il est libre. Si le canal est effectivement libre, la station procède à l’envoi de ses données. Dans le cas contraire, elle attend un certain délai avant de retenter l’opération. Ce mécanisme d’écoute peut sembler basique, mais il contribue de manière significative à réduire le nombre de collisions sur le réseau.
Pourtant, CSMA n’élimine pas complètement le risque de collision. En effet, il peut y avoir une situation où deux stations écoutent le média, constatent qu’il est libre et décident simultanément d’envoyer leurs paquets. Ce phénomène est appelé “collision cachée” et représente une des limitations du protocole CSMA.
CSMA/CD
Le phénomène de collision cachée survient lorsque deux stations aux extrémités opposées du réseau tentent d’envoyer des données simultanément. Chacune d’entre elles pense que le média est libre, car elles ne détectent pas l’activité de l’autre. Une station située entre les deux peut alors recevoir des paquets superposés, ce qui conduit à une collision. Ce genre de situation survient souvent quand le réseau est saturé et est d’autant plus problématique puisque les stations concernées ne sont pas toujours conscientes de la collision.
C’est là qu’intervient le CSMA/CD (collision detection), spécialement conçu pour les réseaux Ethernet. Ce protocole reprend les principes originels du CSMA, mais ajoute une étape décisive : la détection de collision pendant la transmission. Plus précisément, lorsqu’une station commence à transmettre des données, elle continue de « surveiller » le niveau de tension sur le câble pour voir s’il correspond à ce qu’elle s’attend à trouver. En conditions normales, lorsque la station est la seule à transmettre, le profil de tension sur le câble devrait être une réplique du signal qu’elle est en train d’émettre. Cependant, si une autre station commence à transmettre simultanément, les signaux se superposent et créent une altération notable du profil de tension. Cette altération est détectée par la station comme une collision.
Une fois que la collision est détectée, la station arrête immédiatement la transmission du paquet, envoie un signal de « brouillage » pour s’assurer que toutes les autres stations sur le réseau sont également informées de la collision. Après avoir détecté une collision, la station attend pendant un intervalle de temps aléatoire avant de retenter la transmission. Cette attente aléatoire est calculée selon une formule exponentiel, qui augmente le temps d’attente après chaque collision successive pour réduire la probabilité d’une nouvelle collision.
Le CSMA/CD a donc deux avantages clés:
- Il minimise le temps et les ressources gaspillées en détectant rapidement les collisions et en arrêtant la transmission.
- Il utilise un algorithme d’attente aléatoire pour minimiser la probabilité de collisions futures.
Bien sûr, avec l’adoption croissante de commutateurs Ethernet et de topologies en étoile, les collisions sont devenues moins courantes, rendant le CSMA/CD moins critique dans les réseaux modernes. Néanmoins, comprendre son fonctionnement et ses avantages peut fournir des aperçus précieux sur les défis et les solutions associés au contrôle d’accès au média dans les réseaux Ethernet.
CSMA/CA
Le protocole CSMA, aussi robuste soit-il, possède des limites lorsqu’il est question de réseaux sans fil, tels que le Wi-Fi. Deux problématiques majeures se posent en particulier dans ce type de réseau : la détection du bruit dans l’air et le problème de la portée. Contrairement à un réseau filaire où le média de transmission est plus ou moins contrôlé, l’air est un média bien plus capricieux. Il est imprégné de divers types de bruits, comme ceux provenant d’autres appareils électroniques, qui peuvent masquer un signal faible et rendre la détection de l’état du canal difficile.
En réalité, le problème de la portée vient complexifier davantage la situation. Dans un réseau sans fil, tous les nœuds ne sont pas nécessairement à portée les uns des autres. Il est donc possible que deux nœuds qui ne se « voient » pas mutuellement envoient des données simultanément, provoquant une collision au niveau du routeur qui est à portée de ces deux nœuds. Ce phénomène est connu sous le nom de “problème du nœud caché”.
Pour répondre à ces défis, le protocole CSMA/CA (collision avoidance) a été développé spécifiquement pour les réseaux sans fil. Comme son nom l’indique, ce protocole ajoute une composante d’évitement de collision à la méthode de base CSMA. Dans CSMA/CA, une station n’envoie pas simplement des données après avoir détecté un canal libre. Elle attend également un délai aléatoire supplémentaire pour réduire encore plus les risques de collision. Ce délai permet de minimiser les chances que deux stations, ayant toutes deux repéré un canal libre, n’émettent leurs données en même temps.
Après ce délai, la station envoie une très courte trame spéciale, appelée RTS (Request to Send), au point d’accès pour réserver le canal. En recevant ce paquet, le point d’accès répond avec une autre trame courte, appelée CTS (Clear to Send), autorisant la station à transmettre ses données. Ce mécanisme de “poignée de main” garantit que le canal sera libre pendant la transmission de la station, minimisant ainsi les risques de collision.
Il est à noter que cette séquence RTS/CTS n’est pas seulement une formalité. Elle sert également à résoudre le problème du nœud caché. En effet, la trame CTS informe toutes les autres stations à portée du point d’accès que celui-ci est en train de recevoir des données d’une station spécifique. Ainsi, les stations qui entendent cette trame CTS savent qu’elles doivent s’abstenir d’émettre pendant une durée spécifiée, laissant le canal libre pour la station qui a obtenu l’autorisation.
2 Comments
“Ce délai permet de minimiser les chances que deux stations, ayant toutes deux repéré un canal libre, n’émettent pas leurs données en même temps.” ce ne serait pas plutôt “… émettent leurs données en même temps” ?
faute de frappe : “le point d’accès répond avec un autre courte trame, appelée CTS”
corrigé 🙂