Passer au contenu principal
Réseau

Switch de couche 2 : le videur du réseau local

On parle souvent du switch Ethernet comme d’un simple passe-plats du réseau : une boîte grise, quelques ports RJ45, des LED qui clignotent avec la sérénité de gens qui savent quelque chose que vous ignorez.

En réalité, sous cette coque généralement peu inspirée travaille une mécanique extrêmement disciplinée. Le switch apprend, classe, filtre, transmet et oublie. Il ne demande pas pourquoi votre imprimante envoie encore du trafic à trois heures du matin. Il constate les faits et met à jour ses tables.

Un switch de couche 2 ne parle ni d’amour ni de justice. Il parle surtout de trames Ethernet, d’adresses MAC, de ports et de VLAN. Et lorsque les files d’attente débordent, il peut abandonner des trames avec la sérénité administrative d’un formulaire rejeté pour absence de case cochée.

En résumé : le switch est le videur du réseau local. Il sait généralement par quelle porte vous êtes entré, vers quelle porte envoyer vos trames et quand oublier votre existence.

Avant le switch : le hub et la grande époque du chaos

Avant que les switches ne deviennent la norme dans les réseaux Ethernet, on utilisait largement des hubs.

Techniquement, un hub Ethernet est essentiellement un répéteur multiport de couche 1. Lorsqu’un signal arrive sur un port, il le répète vers les autres ports sans se demander quelle machine est réellement concernée.

Une sorte de mégaphone numérique :

« QUELQU’UN A DEMANDÉ CETTE TRAME ? JE LA DONNE À TOUT LE MONDE, VOUS VOUS DÉBROUILLEZ. »

Toutes les machines partageaient alors le même domaine de collision et, dans l’Ethernet traditionnel en half-duplex, devaient composer avec les collisions et le mécanisme CSMA/CD.

Niveau élégance : discutable.
Niveau confidentialité : ne comptons pas trop dessus.
Niveau simplicité : difficile de faire mieux sans distribuer directement les bits au mégaphone dans le couloir.

Le switch a profondément amélioré cette situation. Chaque port constitue normalement son propre segment Ethernet et les liaisons modernes fonctionnent généralement en full-duplex : émission et réception peuvent avoir lieu simultanément, sans les collisions caractéristiques de l’ancien Ethernet partagé.

Le réseau local a donc progressivement cessé de hurler pour commencer à parler à la bonne personne.

Couche 2 : de la trame, rien que de la trame

Dans le modèle OSI, un switch Ethernet classique opère principalement à la couche 2, la couche liaison de données.

Son unité de travail est donc la trame Ethernet, et non le paquet IP.

Pour effectuer sa commutation de base, il s’intéresse notamment à deux informations :

  • l’adresse MAC source : qui a envoyé la trame ;
  • l’adresse MAC destination : à qui elle est destinée.

Il n’a pas besoin de comprendre l’adresse IP contenue à l’intérieur pour prendre sa décision de commutation classique.

Cela ne signifie pas qu’un switch moderne soit physiquement incapable de regarder plus loin. Certains modèles inspectent également des informations de couches supérieures pour appliquer des ACL, de la QoS, du DHCP snooping ou diverses fonctions de sécurité.

Mais pour la fonction fondamentale de couche 2, la décision repose sur les adresses MAC et le VLAN.

Comment un switch apprend votre existence

Le switch maintient une table appelée selon les constructeurs table MAC, forwarding table ou parfois table CAM.

Son principe est simple :

Information Exemple
VLAN VLAN 20
Adresse MAC 00:11:22:33:44:55
Port associé Gi1/0/7

Et surtout, le switch apprend à partir de l’adresse MAC source.

Lorsqu’une trame arrive sur le port 7 avec l’adresse source 00:11:22:33:44:55, le switch peut en déduire :

« Très bien. Cette MAC se trouve actuellement derrière le port 7 dans ce VLAN. Je prends note. »

Il ne lui a fallu ni inscription, ni formulaire Cerfa, ni appel au support.

1. Destination connue : transmission ciblée

Si la MAC destination figure déjà dans sa table et se trouve sur un autre port, le switch transmet la trame uniquement vers le port approprié.

C’est toute la différence avec le hub : les autres machines n’ont aucune raison de recevoir cette trame.

2. Destination sur le même port : inutile de la renvoyer

Si le switch sait que la destination se trouve derrière le même port que celui par lequel la trame est arrivée, il ne la retransmet pas vers les autres ports.

Il filtre donc un trafic qui n’a aucune raison de traverser le switch.

3. Destination inconnue : tout le monde regarde

Si la MAC destination n’existe pas dans sa table, le switch ne sait pas encore où l’envoyer.

Il effectue alors un unknown unicast flooding : il transmet la trame sur les ports appropriés du même VLAN, à l’exception du port d’entrée.

Ce n’est donc pas exactement :

« J’envoie ça absolument partout et que Dieu reconnaisse les siens. »

C’est plutôt :

« Je l’envoie partout où cette destination pourrait raisonnablement se trouver dans ce domaine de couche 2. »

Ce qui, pour un équipement réseau, constitue déjà une forme remarquable de retenue.

4. Broadcast : là, oui, tout le VLAN est convié

Une trame destinée à l’adresse MAC de broadcast FF:FF:FF:FF:FF:FF doit être diffusée à l’ensemble du domaine de broadcast concerné.

Le switch la transmet donc aux ports du VLAN approprié, sauf celui par lequel elle est arrivée.

ARP en fait notamment un usage régulier.

5. Multicast : cela dépend

Le multicast est plus subtil. Sans mécanisme particulier, certaines trames multicast peuvent être floodées dans le VLAN.

Avec des fonctions comme IGMP snooping, un switch peut apprendre quels ports sont réellement intéressés par certains groupes multicast et éviter de distribuer inutilement le trafic à tout le monde.

Même au royaume du multicast, l’administration finit donc par découvrir les listes d’invités.

La table MAC n’est pas un registre d’état civil

Les entrées apprises dynamiquement ne restent pas nécessairement éternellement dans la table MAC.

Elles possèdent généralement un temporisateur d’expiration — ou aging timer. Si le switch ne voit plus de trafic provenant d’une adresse MAC pendant suffisamment longtemps, il finit par oublier son association avec le port.

C’est indispensable : les machines changent de prise, les téléphones se déplacent, les hyperviseurs déplacent des machines virtuelles et certains collègues considèrent toujours le brassage réseau comme une activité créative.

Lorsqu’une MAC oubliée doit de nouveau être jointe, elle redevient temporairement une destination inconnue et le processus de flooding puis d’apprentissage recommence.

Le VLAN : construire plusieurs réseaux dans la même boîte

L’un des pouvoirs essentiels d’un switch administrable est la gestion des VLAN — Virtual LAN.

Un VLAN permet de découper un même équipement physique en plusieurs domaines de broadcast logiques distincts.

Imaginez un immeuble dont les habitants utilisent les mêmes couloirs et les mêmes ascenseurs, mais vivent dans des appartements dont les murs restent heureusement en place.

On peut ainsi créer, par exemple :

  • un VLAN pour les utilisateurs ;
  • un VLAN pour les serveurs ;
  • un VLAN pour la téléphonie IP ;
  • un VLAN pour les caméras ;
  • un VLAN invité ;
  • un VLAN réservé à l’administration ;
  • et, dans les organisations prévoyantes, un VLAN suffisamment éloigné du stagiaire ayant découvert Nmap ce matin.

Ports access et trunks : une nuance importante

Dire que « les VLAN utilisent un tag 802.1Q dans les trames » est correct, mais incomplet.

Un poste de travail connecté à un port access reçoit et envoie généralement des trames Ethernet non taguées. C’est le switch qui associe ce port au VLAN configuré.

Le marquage IEEE 802.1Q devient particulièrement important lorsqu’une même liaison doit transporter plusieurs VLAN, par exemple :

  • entre deux switches ;
  • entre un switch et un routeur ;
  • entre un switch et un hyperviseur ;
  • entre certains switches et points d’accès Wi-Fi.

Cette liaison est généralement appelée trunk.

Les trames y portent alors un identifiant VLAN 802.1Q, à l’exception possible du VLAN natif, selon la configuration.

Le VLAN ne crée donc pas plusieurs câbles. Il crée plusieurs réalités administratives à l’intérieur des mêmes câbles. L’informatique adore faire de la métaphysique dès qu’on lui donne douze bits de champ supplémentaire.

À quoi servent réellement les VLAN ?

  • Isoler les domaines de broadcast et limiter la propagation de certains trafics.
  • Séparer logiquement les usages indépendamment de la localisation physique des machines.
  • Appliquer des politiques différentes selon les populations ou les services.
  • Améliorer la sécurité, à condition que le routage et les règles entre VLAN soient correctement maîtrisés.
  • Éviter que tout le réseau ressemble à une grande colocation Ethernet où chacun entend les casseroles tomber dans la cuisine.

Un VLAN constitue toutefois une séparation de couche 2, pas une frontière de sécurité magique. Si deux VLAN doivent communiquer, cette communication passera normalement par un équipement de couche 3, où elle pourra être routée et éventuellement filtrée.

PoE : données et électricité dans le même câble

Avec le Power over Ethernet, un switch compatible peut transporter à la fois les données et l’alimentation électrique sur le câblage Ethernet.

Le PoE est particulièrement pratique pour alimenter :

  • des téléphones VoIP ;
  • des caméras IP ;
  • des points d’accès Wi-Fi ;
  • des interphones ;
  • des capteurs et équipements IoT ;
  • divers appareils qu’un architecte a décidé d’installer précisément là où aucune prise électrique n’existe.

On évite ainsi de multiplier les adaptateurs secteur, prises et transformateurs dissimulés au-dessus des faux plafonds dans des conditions que les pompiers préféreraient probablement ne jamais découvrir.

PoE, PoE+ et PoE++

Plusieurs générations de PoE existent :

Appellation courante Norme Type Puissance maximale fournie par le port
PoE IEEE 802.3af Type 1 15,4 W
PoE+ IEEE 802.3at Type 2 30 W
PoE++ IEEE 802.3bt Type 3 jusqu’à 60 W
PoE++ / 4PPoE IEEE 802.3bt Type 4 jusqu’à 90 W

Le switch PoE gère également un budget de puissance global. Un modèle doté de 48 ports ne peut pas nécessairement fournir la puissance maximale à 48 équipements simultanément.

Il détecte les équipements compatibles, alloue la puissance disponible et peut refuser ou interrompre l’alimentation dans certaines situations : budget insuffisant, défaut électrique, surconsommation ou décision administrative.

Le switch devient donc simultanément facteur, standardiste et tableau électrique.

Une excellente manière de concentrer les responsabilités sur un appareil qu’on oubliera ensuite dans une baie pendant huit ans.

STP : empêcher le réseau de se manger lui-même

La redondance est une bonne chose.

Deux chemins entre deux switches permettent de survivre à la perte d’un lien.

Mais en Ethernet de couche 2, deux chemins actifs peuvent également former une boucle. Et une boucle Ethernet est l’une de ces expériences pédagogiques qu’il est préférable d’étudier dans un livre plutôt qu’en production.

Pourquoi une boucle est-elle aussi dangereuse ?

Prenons une trame de broadcast.

Un switch la reçoit et la diffuse. Le switch voisin la reçoit à son tour et la diffuse. Elle revient au premier switch. Puis repart.

Contrairement à un paquet IP, une trame Ethernet classique ne possède pas de champ TTL — Time To Live qui diminuerait à chaque passage jusqu’à provoquer sa disparition.

Une trame prise dans une boucle peut donc continuer à circuler et être dupliquée.

Les conséquences peuvent inclure :

  • des broadcast storms ;
  • la saturation des liens ;
  • une forte charge sur les équipements ;
  • des adresses MAC qui semblent se déplacer constamment entre plusieurs ports — MAC flapping ;
  • et, dans les cas les plus élégants, un réseau entier transformé en chauffage électrique.

Spanning Tree remet de l’ordre

Le Spanning Tree Protocol construit une topologie logique sans boucle tout en permettant de conserver des liens physiques redondants.

De manière simplifiée, STP :

  1. élit un root bridge ;
  2. calcule les meilleurs chemins vers cette racine ;
  3. détermine quels ports doivent transporter le trafic ;
  4. place les chemins redondants appropriés dans un état empêchant la boucle ;
  5. réagit aux changements de topologie lorsqu’un lien disparaît ou revient.

Le lien redondant n’est donc pas nécessairement inutilisable : il attend son heure.

Si le chemin actif disparaît, la topologie peut reconverger et utiliser un autre chemin.

Les variantes modernes comme RSTP améliorent notamment la vitesse de convergence, tandis que MSTP permet de gérer plusieurs instances de spanning tree de façon plus structurée.

STP est le moine bouddhiste du réseau : il observe les chemins, condamne ceux qui conduisent à l’éternel retour de la même trame et tente de préserver la paix dans le VLAN.

LACP : plusieurs câbles, un seul lien logique

Le Link Aggregation Control Protocol — LACP permet de regrouper plusieurs liaisons Ethernet physiques compatibles dans une interface logique unique.

On obtient ainsi deux avantages principaux :

  • davantage de capacité agrégée ;
  • de la redondance si l’un des liens membres tombe.

Deux liens à 1 Gbit/s peuvent donc constituer un agrégat disposant d’une capacité totale théorique de 2 Gbit/s.

Mais il y a une nuance importante.

Un seul flux réseau ne bénéficie généralement pas à lui seul de toute la somme des débits.

Les switches répartissent habituellement les flux sur les différents liens à l’aide d’un algorithme de hachage utilisant, selon les équipements et la configuration, les adresses MAC, les adresses IP, les ports TCP/UDP ou une combinaison de ces éléments.

Cette méthode permet de garder les paquets d’un même flux sur le même chemin afin d’éviter de les réordonner.

Avec deux liens à 1 Gbit/s :

  • plusieurs communications simultanées peuvent exploiter ensemble jusqu’à environ 2 Gbit/s de capacité agrégée ;
  • un unique transfert restera généralement limité à la capacité d’un seul lien membre.

C’est donc moins « deux autoroutes fusionnées pour votre voiture » que « deux autoroutes entre lesquelles le trafic est intelligemment réparti ».

Votre Fiat Panda ne gagne toujours pas deux voies à elle seule. Mais le réseau entier respire mieux.

Le switch peut aussi devenir votre ennemi

Un switch réduit naturellement l’exposition du trafic par rapport à un hub, mais cela ne signifie pas qu’un réseau commuté soit automatiquement sécurisé.

Plusieurs attaques ou mauvaises configurations peuvent exploiter les mécanismes de couche 2.

MAC flooding : remplir la table jusqu’au plafond

Une attaque de MAC flooding consiste à envoyer un très grand nombre de trames utilisant de nombreuses adresses MAC source différentes afin d’épuiser les capacités de la table MAC du switch.

Lorsqu’un switch ne peut plus apprendre certaines destinations, davantage de trafic unicast inconnu peut être floodé.

On dit parfois que « le switch se transforme alors en hub ». C’est une simplification : il ne devient pas littéralement un hub et le flooding reste notamment limité par les VLAN et le comportement du matériel.

Mais la conséquence recherchée est bien d’augmenter la quantité de trafic transmise sur des ports qui ne l’auraient normalement pas reçue.

VLAN hopping : traverser une cloison mal fermée

Le VLAN hopping regroupe des techniques permettant, dans certaines configurations vulnérables, d’envoyer du trafic vers un VLAN auquel l’attaquant ne devrait pas avoir accès.

Historiquement, cela peut notamment impliquer :

  • la négociation abusive d’un trunk ;
  • certaines attaques dites de double tagging ;
  • des configurations incohérentes du VLAN natif ;
  • ou, plus simplement, une configuration tellement mauvaise qu’elle n’a plus besoin d’attaquant pour devenir dangereuse.

Configurer explicitement les ports d’accès et trunks, limiter les VLAN autorisés et éviter les réglages implicites inutiles réduit fortement ce type de risque.

DHCP spoofing : « le serveur DHCP, c’est moi »

Un attaquant peut tenter de lancer un faux serveur DHCP afin de fournir aux clients des paramètres réseau malveillants : passerelle contrôlée par l’attaquant, DNS indésirable, etc.

Le DHCP snooping permet à un switch compatible de distinguer les ports de confiance des ports utilisateurs et de bloquer les réponses DHCP provenant d’endroits où aucun serveur légitime ne devrait se trouver.

Le switch devient alors ce collègue légèrement pénible qui demande :

« Vous êtes serveur DHCP ? Très bien. Votre badge, s’il vous plaît. »

ARP poisoning : mentir avec beaucoup d’assurance

ARP permet aux machines IPv4 d’associer des adresses IP à des adresses MAC dans le réseau local.

Comme le protocole repose historiquement sur une confiance assez généreuse, un attaquant peut tenter d’envoyer de fausses informations ARP afin de détourner du trafic.

La fonction Dynamic ARP Inspection — DAI, disponible sur certains switches administrables, peut vérifier les associations IP/MAC et rejeter des messages ARP invalides, notamment en s’appuyant sur les informations construites par DHCP snooping.

Le switch paranoïaque : finalement, ce n’est pas plus mal

Selon leur gamme et leur système d’exploitation, les switches administrables peuvent proposer de nombreux mécanismes de défense :

Fonction Rôle
Port Security Limite ou contrôle les adresses MAC autorisées sur un port.
DHCP Snooping Filtre les messages DHCP provenant de sources non autorisées.
Dynamic ARP Inspection Contrôle la cohérence de certaines associations IP/MAC utilisées par ARP.
IP Source Guard Limite l’usurpation d’adresses IP sur les ports utilisateurs.
ACL Autorise ou bloque certains trafics selon des règles définies.
802.1X Authentifie un équipement ou un utilisateur avant de lui ouvrir l’accès au réseau.
BPDU Guard Protège certains ports contre la connexion inattendue d’équipements participant à STP.
Storm Control Limite certains volumes anormaux de broadcast, multicast ou unicast.

Toutes ces fonctions ne sont évidemment pas disponibles sur tous les switches.

Le petit modèle non administrable à huit ports posé derrière la télévision n’a généralement pas vocation à devenir le SOC de votre entreprise.

Switch administrable ou non administrable ?

C’est une distinction importante, car le mot « switch » recouvre des équipements très différents.

Le switch non administrable

Il est conçu pour être simple :

  • vous le branchez ;
  • vous connectez les câbles ;
  • il commute les trames ;
  • vous retournez à une existence normale.

Il apprend les MAC et assure sa fonction de commutation, mais offre peu ou pas de possibilités de configuration.

Le switch administrable

Il peut ajouter, selon le modèle :

  • VLAN ;
  • STP, RSTP ou MSTP ;
  • LACP ;
  • QoS ;
  • PoE administrable ;
  • SNMP et télémétrie ;
  • ACL ;
  • 802.1X ;
  • port mirroring ;
  • DHCP snooping ;
  • Dynamic ARP Inspection ;
  • journalisation ;
  • et suffisamment d’options pour transformer une panne de trois minutes en investigation de quatre heures.

La frontière avec la couche 3 : le switch apprend à router

Un switch purement couche 2 sait très bien faire communiquer les machines appartenant au même VLAN.

Mais si une machine du VLAN 10 doit parler à une machine du VLAN 20, il faut franchir une frontière de couche 3.

C’est là qu’intervient le routage.

Traditionnellement, cette tâche appartient au routeur. Mais de nombreux switches professionnels sont des switches multilayers ou switches de couche 3.

Ils combinent la commutation Ethernet et le routage IP, souvent directement dans du matériel spécialisé capable d’effectuer ces opérations à très haute vitesse.

Le routage inter-VLAN

Un switch de couche 3 peut généralement créer des interfaces virtuelles associées aux VLAN — souvent appelées SVI, Switched Virtual Interfaces.

Par exemple :

VLAN Réseau Passerelle
10 — Utilisateurs 192.168.10.0/24 192.168.10.1
20 — Serveurs 192.168.20.0/24 192.168.20.1
30 — Invités 192.168.30.0/24 192.168.30.1

Le switch peut alors router les paquets entre ces sous-réseaux, sous réserve des règles de sécurité configurées.

Et même des protocoles de routage

Selon le modèle, la licence et le système utilisé, certains switches de couche 3 savent également gérer :

  • des routes statiques ;
  • OSPF ;
  • et parfois des fonctions de routage beaucoup plus avancées.

Il ne faut toutefois pas conclure que tous les switches estampillés « Layer 3 » possèdent exactement les mêmes capacités qu’un routeur spécialisé.

Comme souvent en informatique, deux appareils capables de faire « du routage » peuvent différer légèrement. Par « légèrement », les constructeurs entendent parfois plusieurs milliers d’euros et huit cents pages de documentation.

Switch couche 2 ou couche 3 : la différence en un tableau

Fonction Switch couche 2 Switch couche 3
Commutation par adresse MAC Oui Oui
VLAN Souvent, si administrable Oui
Routage entre sous-réseaux Non, dans son rôle strict de couche 2 Oui
Routage inter-VLAN Nécessite un équipement de couche 3 Généralement oui
Table MAC Oui Oui
Table de routage Non pour la commutation pure Oui
Protocoles comme OSPF Non Selon modèle et licence

Ce que fait réellement votre switch toute la journée

Finalement, la vie d’un switch est assez bien remplie pour un appareil dont l’interface principale consiste souvent en une rangée de LED vertes.

Il peut :

  • recevoir des trames Ethernet ;
  • apprendre les adresses MAC source ;
  • maintenir une table associant MAC, VLAN et ports ;
  • transmettre les unicasts connus uniquement là où ils doivent aller ;
  • flooder les destinations inconnues lorsque c’est nécessaire ;
  • diffuser les broadcasts dans leur VLAN ;
  • séparer le réseau en VLAN ;
  • éviter les boucles avec STP ;
  • agréger plusieurs liens avec LACP ;
  • alimenter certains équipements grâce au PoE ;
  • appliquer diverses politiques de sécurité ;
  • et, s’il possède des fonctions de couche 3, router le trafic entre plusieurs réseaux.

Tout cela sans écran, sans clavier et, la plupart du temps, sans recevoir la moindre reconnaissance tant que le réseau fonctionne.

Le jour où il tombe en panne, en revanche, toute l’entreprise apprend immédiatement son prénom.

Conclusion : le cerveau discret du réseau local

Le switch est l’une des pièces fondamentales du réseau local moderne.

Il apprend, trie, filtre, transmet et oublie. Il sépare les domaines de broadcast, maintient des chemins redondants sans laisser les trames tourner éternellement, distribue éventuellement de l’électricité et peut même contrôler ce qui a le droit de se passer sur ses ports.

Il n’est donc pas un simple répartiteur de câbles.

C’est un système de décision extrêmement rapide dont le travail consiste essentiellement à répondre, plusieurs millions de fois par seconde, à trois questions :

Qui vient de parler ?
Où se trouve le destinataire ?
Et sur quel port dois-je envoyer cette chose ?

La prochaine fois que vous branchez un câble Ethernet, rappelez-vous qu’un switch est probablement quelque part derrière.

Il ne vous regarde pas vraiment.

Il fait pire : il apprend votre adresse MAC, note votre port, votre VLAN, puis vous oublie dès que son aging timer estime que vous n’êtes plus intéressant.

Finalement, c’est peut-être la relation professionnelle la plus saine de toute l’informatique.