Les premiers réseaux Ethernet étaient basés sur le concept de média partagé avec une gestion CSMA/CD (Carrier Sense, Multiple-Access, Collision Detection). Le nombre grandissant de stations devant être connectées sur un même média et l’augmentation de la distance devant être couverte par un même réseau Ethernet a accéléré l’arrivée des commutateurs. Dans la mesure où chaque équipement possédait son propre segment, la gestion des collisions n’était plus une préoccupation.
Le commutateur gère une table dans laquelle est mémorisée une correspondance entre l’adresse MAC de l’équipement et le port sur lequel il est connecté. Si l’adresse MAC de destination n’est pas connue du commutateur, la donnée est diffusée sur tous ses ports. Cette fonction s’appelle le « Flooding » ou « Multi-port Bridging ». Un commutateur possède cinq fonctions importantes qui sont systématiquement implémentées :
- « Learning » : Le commutateur observe le champ SA (Source Address) de chaque trame et remplit sa table de correspondance entre les adresses MAC et les ports sur lesquels cette adresse est joignable. Cette table porte de nom de FIB (Forwarding Information Base). Les entrées de cette table possèdent une durée de vie (Aging Time) en cas de non utilisation de manière à éviter qu’elle ne devienne trop large et remplie d’information obsolète.
- « Forwarding » : Le commutateur se sert du champ DA (Destination Address) des trames pour ne transmettre la donnée qu’à l’équipement destinataire après analyse de la FIB.
- « Filtering » : Lorsque le commutateur voit que l’adresse MAC source et l’adresse MAC destinataire résident sur le même port, le filtrage se met en œuvre afin d’éviter que la donnée ne soit renvoyée sur le même segment que celui par lequel elle a été transmise. Le filtrage évite le « Forwarding » dans ce cas et se charge aussi de supprimer les trames mal formées ou incomplètes.
- « Flooding » : Si le commutateur voit une trame dont l’adresse MAC de destinataire n’est pas connue, il la transmet sur tous les ports hormis celui dont elle est issue. Cette fonction est également utilisée pour les trames de « Broadcast » et de « Multicast ».
- « Spanning Tree Protocol » : Le protocole STP a pour objectif d’éviter les boucles dans les réseaux Ethernet, lorsqu’il existe plus d’un chemin entre deux nœuds du réseau. Sans ce protocole, les trames circuleraient en boucle indéfiniment, rendant inopérantes les fonctions de « Bridging ». Le protocole STP bloque les chemins redondants de sorte à n’en laisser qu’un seul actif. En cas de perte du chemin actif, le protocole active un des liens qui était bloqué. Les premières versions de ce protocole avaient des temps de reconvergence très longs et des améliorations ont été apportées avec les versions RSTP (Rapid Spanning Tree Protocol) et MSTP (Multiple Spanning Tree Protocol).