MAC-Learning ist der Mechanismus, mit dem ein Switch aus den Ethernet-Frames lernt, welche MAC-Adresse hinter welchem Port erreichbar ist. Nur so kann er Daten gezielt weiterleiten, statt sie überall hin zu senden.
So funktioniert das Lernen
Für jeden empfangenen Rahmen trägt der Switch die Quell-MAC-Adresse zusammen mit dem Empfangsport in seine MAC-Tabelle ein (auch CAM-Tabelle oder Forwarding-Datenbank genannt, da sie in Content-Addressable Memory abgelegt wird). Ist die Adresse bereits bekannt, wird nur der Alterungs-Timer des Eintrags aktualisiert.
Weiterleitungs-Entscheidung
Kennt der Switch die Zieladresse, leitet er den Rahmen nur an den gelernten Port weiter. Ist die Zieladresse unbekannt, flutet er den Rahmen an alle Ports außer dem Empfangsport (Unknown Unicast Flooding) — das Gerät meldet sich mit einer Antwort, und der Switch lernt daraus den fehlenden Eintrag. Broadcast- und Multicast-Rahmen werden grundsätzlich geflutet.
Alterung und Grenzen
Gelernte Einträge verfallen nach einer Aging-Zeit (typisch 300 Sekunden), wenn kein weiterer Rahmen die Adresse bestätigt. Diese Tabelle ist die Grundlage effizienter Vermittlung: In einem lokalen Netz ohne Learning müsste der Switch wie ein Hub jeden Rahmen an alle Ports senden. Ein Angriff namens MAC-Flooding überschwemmt die Tabelle mit gefälschten Adressen, bis sie voll ist und der Switch in den Flood-Modus fällt; dagegen hilft Port Security. Auf Trunk-Verbindungen führt der Switch je VLAN getrennte Lernprozesse, damit die virtuellen Netze getrennt bleiben.
Verwandte Grundlagen: Switch, Netzwerkkarte.