# Commutateur réseau

Dans un réseau informatique ou de télécommunication, un commutateur (ou switch en anglais) est un équipement qui permet de créer des circuits virtuels entre deux périphériques (tels que des ordinateurs, des serveurs, des imprimantes, d'autres commutateurs, etc.) à l'aide de liens (câbles ou fibres) qui les relient à ces périphériques.
Dans les réseaux locaux (LAN), il s'agit le plus souvent d'un boîtier disposant de plusieurs ports RJ45 (d'une poignée à presque 400 pour les plus gros), il a donc la même apparence qu'un concentrateur (hub). Il existe aussi des commutateurs pour tous les types de réseau en mode point à point comme pour les réseaux ATM, relais de trames, etc.

## Comparaison par rapport aux concentrateurs et aux routeurs

Contrairement à un concentrateur, un commutateur ne reproduit pas sur tous les ports chaque trame qu'il reçoit : il sait déterminer sur quel port il doit envoyer une trame, en fonction de l'adresse de destination de cette trame. Les commutateurs sont souvent utilisés pour remplacer des concentrateurs car ils encombrent moins le réseau.
Dans le cas d'un réseau IP/Ethernet, un commutateur ne s'intéresse pas à la même couche OSI que le routeur, ils utilisent respectivement les adresses MAC et les adresses IP pour diriger les données. Concrètement, pour une adresse qui peut être partiellement connue, une trame est toujours émise sur le même port, quel que soit l'état du trafic, une fois ses tables de routage et de communication remplies. Le routeur, lui, cherche à déterminer la meilleure route, il est susceptible de générer moins de trafic pour des grands réseaux.
Le commutateur est parfois présenté, d'une manière un peu réductrice, comme un pont multiport, et tout comme pour ces appareils, susceptibles de créer des boucles dans un réseau, le Spanning Tree Protocol y est fréquemment intégré.

## Fonctionnement

Le commutateur établit et met à jour une table, dans le cas du commutateur pour un réseau Ethernet il s'agit de la table d'adresses MAC, qui lui indique sur quels ports diriger les trames destinées à une adresse MAC donnée, en fonction des adresses MAC source des trames reçues sur chaque port. Le commutateur construit donc dynamiquement une table qui associe numéro de port et adresses MAC.
Lorsqu'il reçoit une trame destinée à une adresse présente dans cette table, le commutateur renvoie la trame sur le port correspondant. Si le port de destination est le même que celui de l'émetteur, la trame n'est pas transmise. Si l'adresse du destinataire est inconnue dans la table, alors la trame est traitée comme un broadcast, c'est-à-dire qu'elle est transmise à tous les ports du commutateur à l'exception du port d'émission.
Un commutateur de niveau 2 est similaire à un concentrateur dans le sens où il fournit un seul domaine de diffusion. En revanche, chaque port a son propre domaine de collision. Le commutateur utilise la micro-segmentation pour diviser les domaines de collision, un par segment connecté. Ainsi, seules les interfaces réseau directement connectées par un lien point à point sollicitent le medium. Si le commutateur auquel il est connecté prend en charge le full-duplex, le domaine de collision est éliminé.

## Méthodes de transmission

La transmission des trames peut s'opérer selon quatre méthodes :
* mode direct (cut through) : le commutateur lit juste l'adresse du matériel et la transmet telle quelle. Aucune détection d'erreur n'est réalisée avec cette méthode ;
* mode différé (store and forward) : le commutateur met en tampon, et le plus souvent, réalise une opération en somme de contrôle sur chaque trame avant de l'envoyer ;
* fragment free : les paquets sont passés à un débit fixé, permettant de réaliser une détection d'erreur simplifiée. C'est un compromis entre les précédentes méthodes ;
* commutation automatique (en) (adaptive switching) : en fonction des erreurs constatées, le commutateur choisit automatiquement un des trois modes précédents.
Ces quatre méthodes de transmission sont utilisées selon des critères précis.

## Fonctions supplémentaires

* Simple Network Management Protocol (SNMP) : permet d'interroger un équipement réseau à distance. C'est un protocole de supervision du réseau qui permet seulement l'interrogation des équipements réseaux pour récupérer les mesures que cet équipement aura effectuées au préalable ;
* SMON : Switch Monitoring ou surveillance de commutateur, décrit par le RFC 2613, protocole pour contrôler les opérations comme la réplication de port ;
* Shortest Path Bridging (SPB) : spécifié par la norme IEEE 802.1aq ;
* Spanning Tree Protocol (STP) : évite les boucles dans un réseau de commutateurs interconnectés ;
* Réseaux locaux virtuels (VLAN) configurables ;
* dot1q : passage de plusieurs VLAN sur un même lien ;
* Agrégation de liens pour augmenter le débit entre deux points ;
* Link Aggregation Control Protocol (LACP) : agrégation des liens dynamique ;
* IGMP snooping et MLD snooping : optimisation de la diffusion multicast ;
* IGMP querying : identification des groupes multicast actifs ;
* dot1x : authentification des postes ;
* QoS : traitement différencié des trames ;
* Miroir de port (port mirroring) : réplication du trafic d'un port ou d'un VLAN sur un autre port ;
* Jumbo frame qui porte la taille des trames à 9 000 octets et plus ;
* Contrôle de flux : permettant d'éviter la saturation d'un équipement susceptible de recevoir un trop grand flux d'informations ;
* Secure ports : ports sécurisés pour lesquels on liste les équipements autorisés à communiquer via ces ports. Le commutateur ne laissera passer via le port sécurisé que les paquets destinés aux adresses autorisées ;
* Filtrage par adresse MAC : n'autorise l'accès qu'aux équipements identifiés par leur adresse MAC ;
* Commutateur empilable (stackable switch) : commutateur pouvant être associé à un autre commutateur pour ne former qu'un seul commutateur logique.

## Problèmes de sécurité

Plusieurs méthodes permettent d'espionner sur un autre ordinateur le réseau sans la coopération du commutateur :
* ARP spoofing : trompe l'ordinateur ciblé de l'utilisateur en utilisant votre propre adresse MAC au lieu de celle de la passerelle de réseau ou en utilisant le mode d'émission broadcast.
* MAC flooding (inondation d'adresses MAC) : surcharge le commutateur avec des milliers adresses MAC pour qu'il tombe dans un mode failopen. Ce dernier se comporte alors comme un simple concentrateur et diffuse les trames à tous les postes du réseau. Ce problème a été détecté et corrigé dans la majorité des commutateurs récents. Pour les plus anciens, une mise à jour du firmware devrait permettre d'éviter ce comportement chaotique.

## Types de commutateurs

Un commutateur connecte des canaux Ethernet, Token Ring, ATM, Frame Relay ou d'autres types de segments réseaux à paquets de la couche 2 du modèle OSI. On distingue les catégories suivantes :
* commutateur Ethernet ;
* commutateur de niveau 3 ou routeur ;
* commutateur X.25 ;
* commutateur FR ;
* commutateur ATM ;
* commutateur téléphonique (autocommutateur, PABX, PBX) ;
* commutateur frontal (FEP, contrôleur de communication) ;
* commutateur FC en environnement Storage Area Network (SAN).