Comme expliqué ci-dessus, le commutateur analyse une partie ou l'intégralité de chaque paquet avant de le transmettre à l'hôte de destination. Un commutateur Ethernet peut utiliser une technique de mise en mémoire tampon pour stocker des trames avant de les transmettre. La mise en mémoire tampon peut également être une solution lorsque le port de destination est saturé suite à un encombrement et que le commutateur stocke la trame jusqu'à ce qu'il puisse la transmettre.

Comme l'illustre la figure, il existe deux méthodes de mise en mémoire tampon : la mise en mémoire tampon axée sur les ports et la mise en mémoire tampon partagée.

Mise en mémoire tampon axée sur les ports

Dans le cas de la mise en mémoire tampon axée sur les ports, les trames sont stockées dans des files d'attente liées à des ports entrants et sortants spécifiques. Une trame est transmise au port sortant uniquement si toutes les trames qui la précèdent dans la file d'attente ont été correctement transmises. Une seule trame peut retarder la transmission de toutes les trames en mémoire si un port de destination est saturé. Ce retard se produit, même si les autres trames peuvent être transmises à des ports de destination libres.

Mise en mémoire tampon partagée

La mise en mémoire tampon partagée stocke toutes les trames dans une mémoire tampon commune à tous les ports du commutateur. La capacité de mémoire tampon nécessaire à un port est allouée dynamiquement. Les trames de la mémoire tampon sont liées de manière dynamique au port de destination, ce qui permet de recevoir le paquet sur un port et de le transmettre sur un autre, sans avoir à le déplacer vers une autre file d'attente.

Le commutateur tient à jour une carte de liaisons entre une trame et un port, indiquant l'emplacement vers lequel un paquet doit être acheminé. Cette carte est effacée dès que la trame a été transmise correctement. Le nombre de trames stockées dans la mémoire tampon est limité par la taille totale de cette dernière, mais ne se limite pas à un seul tampon du port, ce qui permet de transmettre de plus grandes trames en en supprimant un minimum. Cela est particulièrement important pour la commutation asymétrique. La commutation asymétrique permet l'utilisation de différents débits de données sur différents ports. Il est ainsi possible d'attribuer davantage de bande passante à certains ports, tels qu'un port connecté à un serveur.