Les réseaux informatiques/Le matériel des couches 1 et 2 (physique et liaison)

Un livre de Wikilivres.

Dans ce chapitre, nous allons parler plus en détail du fonctionnement du matériel réseau. Plus précisément, nous allons parler des concentrateurs, des commutateurs, des cartes réseau et des répéteurs. Ces équipements ont la particularité d'être liés de près ou de loin avec les chapitres précédents. Ce sont des matériels qui prennent en charge tout ce qui a trait aux couches physique et liaison du modèle OSI, mais qui n'ont rien à voir avec les couches plus hautes. En clair, ils ne s'occupent pas de routage, privilège dédié aux routeurs.

Le répéteur[modifier | modifier le wikicode]

Quand un signal électrique est transmis sur un support de communication, il a tendance à s'atténuer rapidement avec la distance. Cela vaut aussi bien pour les transmissions sans-fils, que pour les signaux guidés par un câble en cuivre ou une fibre optique. L'atténuation est surtout un problème sur les connexions sans-fils, dont la portée ne dépasse pas quelques mètres pour les technologies domestiques. Mais elle pose problème pour les câbles réseaux si la distance parcourue devient assez grande. Par exemple, les grands câbles téléphoniques qui parcourent les villes et les campagnes subissent une atténuation non-négligeable.

Exemple d'un répéteur pour les technologies sans-fils.

Pour éviter les problèmes liés à l'atténuation des signaux, les ingénieurs ont inventé le répéteur. Il s'agit ni plus ni moins que d'un matériel qui régénère le signal perçu en entrée. Il reçoit sur son entrée le signal transmis, et produit en sortie le même signal amplifié, similaire au signal non-atténué. En plus de recopier le signal transmis, l'atténuation en moins, il peut aussi connecter deux câbles qui ont des caractéristiques électriques différentes. En somme, il peut servir d'interface entre deux supports de transmission différents, de convertisseur. Précisons cependant que tous les répéteurs ne sont pas dans ce cas : la plupart ne peut pas faire cette conversion et se limite à un rôle d'amplificateur.

Les répéteurs sont surtout utilisés pour les câbles réseaux, les supports de transmission guidés, mais pas pour les technologies sans-fils. Il faut dire que les technologies sans-fils sont quasi-exclusivement utilisées pour les réseaux domestiques, éventuellement les réseaux LAN. Leur faible portée ne les rend pas assez intéressants pour les réseaux étendus, et l'existence de répéteurs pour technologies sans-fils n'y change pas grand chose. La seule exception est celle des télécommunications radio, la télévision et pour les téléphones portables. Outre les antennes d'émission, le pays est maillé par un système de répéteurs radio et téléphoniques qui amplifient les signaux transmis sur les diverses fréquences radio ou télé.

Le concentrateur[modifier | modifier le wikicode]

Le concentrateur est une version multi-port du répéteur : quand il reçoit un flux de bits sur un port, il recopie celui-ci sur tous les autres ports. Ce faisant, chaque donnée envoyée par un ordinateur est redistribuée à tous les autres. Quand il est placé au centre d'un réseau en étoile, il permet de simuler un réseau en bus.

Pour mieux comprendre ce que fait un concentrateur, il est intéressant de parler du domaine de collision. Le domaine de collision comprend l'ensemble des ordinateurs connectés à un même bus logique et/ou physique. Deux ordinateurs dans un même domaine de collision ne peuvent pas envoyer des données sur le bus en même temps : s'ils le font, cela entraîne une collision. Tous les ordinateurs/équipements connectés à un même concentrateurs font partie du même domaine de collision. Si on connecte des concentrateurs entre eux, tous les ordinateurs reliés aux différents concentrateurs (eux-même connectés) forment le domaine de collisions.

Petite précision : il ne faut pas confondre le domaine de collision avec le domaine de diffusion vu il y a quelques chapitres. Pour rappel, le domaine de diffusion est l'ensemble d'ordinateurs qui peut être atteint par une transmission de type broadcast (envoyée à tous les ordinateurs d'un réseau). La différence entre les deux est subtile, surtout que les deux sont confondus dans les réseaux en bus. Mais il y a une différence entre domaine de diffusion et de collision dans les réseaux qui utilisent des commutateurs et/ou des routeurs. Par exemple, si on relie des ordinateurs avec un commutateur, ceux-ci ne font pas partie du même domaine de collision, mais partagent le même domaine de diffusion (le commutateur peut parfaitement envoyer une trame à tous les ordinateurs d'un réseau). Avec un commutateur, il y a un domaine de collision par port, contre un domaine de collision unique pour le concentrateur.

On peut résumer cela avec les deux affirmations suivantes :

  • Les transmissions en broadcast traversent à la fois les concentrateurs et les commutateurs.
  • Les collisions traversent les concentrateurs, mais ne passent pas à travers les commutateurs.
Domaines de diffusion et de collision avec plusieurs concentrateurs connectés. Domaines de diffusion et de collision avec plusieurs concentrateurs connectés à des commutateurs.

Les commutateurs[modifier | modifier le wikicode]

Pour rappel, le commutateur est un équipement de couche liaison, qui est utilisé dans les réseaux locaux en étoile, au même titre que les concentrateurs. La différence avec le concentrateur est qu'il redirige les trames reçues vers l'ordinateur de destination uniquement, il ne diffuse pas la trame à tous les ordinateurs du réseau local comme le ferait un concentrateur. Lorsqu'il reçoit une trame, il la renvoie sur le port qui est associée à l'ordinateur de destination.

L'intérieur d'un commutateur[modifier | modifier le wikicode]

Pour faire ce travail, le commutateur dispose de plusieurs sous-circuits :

  • Un circuit extrait l'adresse MAC de destination des trames reçues (l'analyseur de trames).
  • Un circuit qui décide, en fonction de l'adresse MAC de destination, sur quel port l'envoyer (le forwarding engine).
  • Un circuit d'interconnexion, équivalent à un ensemble de liaisons point-à-point qui relie chaque port à tous les autres.
Micro-architecture d'un switch

Pour faire le lien entre adresse MAC de destination et le port qui correspond, le commutateur a juste besoin de maintenir une table de correspondance entre adresse MAC et numéro de port, appelée la table CAM.

Une fois que le port de destination est connu, le commutateur en déduit quels ports connecter entre eux. Pour cela, il a juste à configurer un circuit d'interconnexion, qui relie les ports entre eux et qui est équivalent à un ensemble de connexions point à point configurables. Ce circuit d'interconnexion porte un nom : c'est la switch fabric. Il suffit de lui envoyer le numéro du port d'entrée et du port de sortie et le circuit d'interconnexion connecte ces deux ports (les autres ports restent déconnectés, en principe et sauf optimisation).

Switch Fabric.
Switch Fabric.

Pour ceux qui veulent en savoir plus, je conseille la lecture de mon cours sur le fonctionnement d'un ordinateur, et plus précisément du chapitre sur le matériel réseau.

La détection de la topologie par le commutateur[modifier | modifier le wikicode]

Un commutateur doit découvrir par lui-même les adresses MAC des composants qu'on branche sur ses ports : il ne peut pas les connaitre à l'avance. Pour cela, le commutateur utilise plusieurs méthodes assez simples. Premièrement, si un ordinateur lui envoie une trame sur un port, il met à jour la table CAM avec l'adresse de l'émetteur de la trame : cela fait un port de connu. Même chose avec les accusés de réception des trames, qui contient l'adresse MAC du destinataire : cela fait une autre adresse de connue. Une fois que tous les ordinateurs ont envoyé quelque chose sur le réseau, il connait tous les ports. Si aucun port n'est associé à une adresse de destination, le commutateur envoie le paquet à tous les ports, à tous les ordinateurs du réseau. Le destinataire répondra alors avec un accusé de réception, qui permettra de déterminer son adresse MAC. Ces trois méthodes permettent de remplir progressivement la table CAM. Au tout début, celle-ci est vide. Le commutateur recevra alors des trames qu'il ne saura pas envoyer à destination et devra les envoyer à tous les ordinateurs du réseau. Progressivement, les accusés de réception permettront de remplir la table CAM, de même que les trames envoyées.

Il faut noter que le contenu de la table CAM a une durée de péremption, appelée le Time To Live, ou TTL, qui vaut entre 0 et 255 secondes[1].. Cela permet de mettre à jour un réseau local sans avoir à redémarrer le commutateur. On peut changer le composant branché sur un commutateur, celui-ci ne restera pas bloqué sur l'ancien composant et finira par repérer le nouveau au bout d'un certain temps.

Les modes de transfert d'une trame[modifier | modifier le wikicode]

Un commutateur peut transmettre les trames de plusieurs manières différentes, les deux principales étant appelées le Store-and-Forward et le Cut-through. Le premier mode (Store-and-Forward) correspond au cas où le commutateur met en mémoire la trame reçue, l'analyse et la renvoie sur le port adéquat. Ce faisant, le commutateur attend d'avoir reçu l'intégralité de la trame avant de la renvoyer vers sa destination. À l'opposé, le mode Cut-through retransmet la trame dès que possible, sans attendre qu'elle soit reçue dans son entièreté. Le commutateur attend juste de recevoir le début de l'en-tête, juste de quoi recevoir l'adresse MAC de destination, ce qui suffit pour déterminer le port de destination.

En somme, les deux modes ne sont pas vraiment différents, mais ils ont chacun des avantages et désavantages par rapport à l'autre. Dans le mode Store-and-Forward, la mise en attente de la trame ajoute un petit temps de latence, ce qui ralentit la communication. Par contre, le commutateur a accès à l'intégralité de la trame, octets de détection/correction d'erreur compris. Il peut alors vérifier l'intégrité de la trame et envoyer un message d'erreur à l'émetteur. De la même manière, des trames incomplètes, liées à des collisions, peuvent être relayés. Dans le mode Cut-through, c'est l'inverse. Le temps de latence avant retransmission est minimal, mais le commutateur retransmet des trames incorrectes (fragments de collisions ou trames avec des erreurs).

La carte réseau[modifier | modifier le wikicode]

Sur un ordinateur tous les traitements des couches liaison et physique sont pris en charge par la carte réseau. Celle-ci est le composant qui permet à un ordinateur de communiquer sur un réseau (local ou internet). D'ordinaire, elle permet d'envoyer ou de recevoir des informations sur un câble réseau ou une connexion WIFI. Elle communique avec le reste de l'ordinateur via le bus de la carte mère. Les données échangées sont mémorisées temporairement dans une mémoire tampon. Celle-ci permet de mettre en attente les données à envoyer tant que le réseau n'est pas disponible, ou d'accumuler les données reçues en attendant de les recevoir complètement. Ces données sont ensuite gérées par un circuit qui s'occupe de gérer l'encapsulation (ajout/retrait des adresses MAC, calcul de la somme de contrôle). La gestion de la fenêtre glissante, si elle existe, est prise en charge par un circuit spécialisé juste après. La carte réseau contient ensuite un circuit qui transforme les données à transmettre en ondes WIFI ou en signaux électriques (pour les câbles réseau). Dans tous les cas, les transferts d'informations se font en série (le câble est l'équivalent d'un bus série). L'interface de transfert contient donc deux registres à décalage : un pour faire la conversion parallèle -> série, et un autre pour la conversion série -> parallèle.

Architecture matérielle d'une carte réseau.


  1. https://slideplayer.fr/slide/1631716/