Ein Switch lernt Adressen, indem er MAC-Adressen (Media Access Control) mit Switch-Ports verknüpft. Dies geschieht in einem Prozess, der MAC-Adresslernen genannt wird. So lernt ein Switch Adressen:
1. Frames empfangen: Wenn ein Switch einen Datenrahmen empfängt, liest er die Quell-MAC-Adresse aus dem Header des Rahmens.
2. Bestückung der MAC-Adresstabelle: Der Switch überprüft seine interne MAC-Adresstabelle, um festzustellen, ob die Quell-MAC-Adresse bereits aufgezeichnet ist. Wenn die MAC-Adresse nicht in der Tabelle gefunden wird, wird ein neuer Eintrag mit der MAC-Adresse und der Portnummer hinzugefügt, auf dem der Frame empfangen wurde.
3. MAC-Tabelle aktualisieren: Wenn die MAC-Adresse bereits in der Tabelle vorhanden ist, jedoch eine andere Portnummer hat, aktualisiert der Switch die Portnummer. Dieses Update stellt sicher, dass der Switch den Überblick behält, welche Ports mit welchen MAC-Adressen verbunden sind.
4. Frames weiterleiten: Nach dem Aktualisieren oder Auffüllen der MAC-Adresstabelle leitet der Switch den empfangenen Frame an den vorgesehenen Empfänger weiter, indem er ihn basierend auf der Ziel-MAC-Adresse über den entsprechenden Port sendet.
5. Kontinuierliches Lernen: Der Switch lernt kontinuierlich und aktualisiert seine MAC-Adresstabelle jedes Mal, wenn er einen Frame mit einer neuen Quell-MAC-Adresse oder einer Quell-MAC-Adresse empfängt, die einem anderen Port zugeordnet ist.
6. Timeout-Mechanismus: Um die Adressgenauigkeit in der MAC-Adresstabelle aufrechtzuerhalten, verwenden die meisten Switches einen Timeout-Mechanismus für dynamisch erlernte Adressen. Wenn ein Switch innerhalb eines vordefinierten Timeout-Zeitraums keinen Datenverkehr von einer MAC-Adresse empfängt, wird der Eintrag für diese MAC-Adresse aus der Tabelle entfernt.
Durch das Erlernen und Verwalten der MAC-Adresstabelle erstellt der Switch eine dynamische Zuordnung zwischen MAC-Adressen und Ports. Dadurch kann der Switch Datenrahmen effizient zwischen Geräten weiterleiten, die an verschiedene Ports angeschlossen sind, wodurch eine optimale Netzwerkleistung gewährleistet wird und sichergestellt wird, dass Daten an die richtigen Ziele gesendet und empfangen werden.