Les commutateurs utilisent des adresses MAC pour diriger les communications réseau vers la destination, via le port approprié. Un commutateur est constitué de circuits intégrés et du logiciel associé qui contrôle les chemins de données dans le commutateur. Pour qu'un commutateur sache vers quel port transférer une trame, il doit tout d'abord apprendre quels périphériques existent sur chaque port. À mesure que le commutateur découvre la relation entre les ports et les périphériques, il remplit une table appelée table d'adresses MAC ou table CAM (Content Addressable Memory, mémoire adressable par contenu). La mémoire adressable par contenu est un type particulier de mémoire utilisé dans des applications de recherche haut débit.
Les commutateurs LAN déterminent comment traiter les trames de données entrantes en gérant la table d'adresses MAC. Un commutateur établit sa table d'adresses MAC en enregistrant l'adresse MAC de chaque périphérique connecté à chacun de ses ports. Le commutateur utilise les informations de la table d'adresses MAC pour envoyer des trames destinées à un périphérique donné au port qui a été attribué à ce périphérique.
Un commutateur renseigne la table d'adresses MAC sur la base des adresses MAC source. Lorsqu'un commutateur reçoit une trame entrante avec une adresse MAC de destination qui ne figure pas dans la table d'adresses MAC, il transfère la trame à tous les ports (inondation) sauf au port d'entrée de la trame. Lorsque le périphérique de destination répond, le commutateur ajoute dans la table d'adresses MAC l'adresse MAC source de la trame et le port où la trame a été reçue. Dans les réseaux comportant plusieurs commutateurs interconnectés, la table d'adresses MAC contient plusieurs adresses MAC pour un seul port connecté aux autres commutateurs.
Les étapes suivantes décrivent le processus d'élaboration de la table d'adresses MAC :
1. Le commutateur reçoit une trame du PC 1 sur le port 1 (Figure 1).
2. Le commutateur examine l'adresse MAC source et la recherche dans la table d'adresses MAC.
- Si cette adresse ne figure pas dans la table d'adresses MAC, il associe l'adresse MAC source du PC 1 au port d'entrée (port 1) dans la table d'adresses MAC (Figure 2).
- Si la table d'adresses MAC comporte déjà une entrée pour cette adresse source, il réinitialise le compteur d'obsolescence. En général, une entrée d'adresse MAC est conservée pendant cinq minutes.
3. Après avoir enregistré les informations d'adresse source, le commutateur examine l'adresse MAC de destination.
- Si l'adresse de destination ne figure pas dans la table MAC ou s'il s'agit d'une adresse MAC de diffusion, c'est-à-dire ne comportant que des F, le commutateur transfère la trame à tous les ports, à l'exception du port d'entrée (Figure 3).
4. Le périphérique de destination (PC 3) répond à la trame avec une trame de monodiffusion destinée au PC 1 (Figure 4).
5. Le commutateur enregistre, dans la table d'adresses, l'adresse MAC source du PC 3 et le numéro de port d'entrée. L'adresse de destination de la trame et le port de sortie qui lui est associé se trouvent dans la table d'adresses MAC (Figure 5).
6. Le commutateur peut désormais transférer les trames entre ces périphériques source et de destination, sans inondation, car il dispose d'entrées dans la table d'adresses qui identifient les ports associés (Figure 6).