MAC-Flapping
Was ist MAC-Flapping?
MAC-Flapping bezeichnet ein Verhalten in Ethernet-Switches, bei dem ein Switch dieselbe Quell-MAC-Adresse in schneller Folge an verschiedenen Ports empfängt. Jedes neu eintreffende Paket mit dieser Adresse veranlasst den Switch, seinen Eintrag in der MAC-Adresstabelle auf den aktuellen Empfangsport zu ändern. Wechselt die Zuordnung ständig hin und her, spricht man von Flattern. Das Phänomen ist ein Symptom für schwerwiegende Netzwerkprobleme, meist verursacht durch eine Layer-2-Schleife, und führt zu instabilen Weiterleitungsentscheidungen, erhöhter CPU-Last und massiven Paketverlusten.
Wie MAC-Flapping entsteht
Die häufigste Ursache für MAC-Flapping ist eine Schleife im Netzwerk. Ein Frame mit einer bestimmten Quell-MAC-Adresse läuft in der Schleife im Kreis und erreicht denselben Switch über verschiedene Pfade an unterschiedlichen Ports. Der Switch überschreibt bei jedem Eintreffen seinen Tabelleneintrag. Auch fehlerhafte Link-Aggregation, bei der ein EtherChannel falsch konfiguriert ist und dieselbe MAC-Adresse über ungebündelte parallele Verbindungen sendet, kann Flapping verursachen. Ebenso führen ungewollte redundante Verbindungen zu Endgeräten mit zwei Netzwerkkarten oder virtualisierte Umgebungen mit beweglichen virtuellen Maschinen ohne korrekte Port-Konfiguration zu flatternden Adressen.
Auswirkungen auf den Netzbetrieb
Die instabile MAC-Tabelle verwandelt bekannte Ziele in unbekannte Unicasts, die der Switch fluten muss, was die Verkehrslast erhöht und den Broadcast-Sturm in einer Schleife weiter anheizt. Die CPU des Switches wird durch die ständigen Tabellenaktualisierungen belastet. Switches protokollieren MAC-Flapping in ihren Syslog-Meldungen mit Hinweisen wie "Host MAC address seen on multiple ports". Diese Meldungen sind ein deutlicher Alarm für den Administrator, dass eine Schleife vorliegt oder eine Fehlkonfiguration existiert.
Abgrenzung zu normalen MAC-Verschiebungen
Ein legitimer Wechsel einer MAC-Adresse von einem Port zu einem anderen tritt auf, wenn ein Gerät physikalisch umgesteckt wird oder eine virtuelle Maschine auf einen anderen Host migriert. Dieser Wechsel geschieht einmalig. Flapping hingegen wiederholt sich innerhalb von Sekunden oder Millisekunden dauerhaft. Switches bieten oft die Möglichkeit, die Empfindlichkeit der Flapping-Erkennung über einen Schwellenwert zu konfigurieren.
Gegenmaßnahmen und Behebung
Die wichtigste Maßnahme gegen MAC-Flapping ist die Beseitigung der zugrundeliegenden Schleife. Das Spanning Tree Protocol muss auf allen Switches aktiviert und korrekt konfiguriert sein. BPDU Guard und Root Guard verhindern, dass unautorisierte Switches Schleifen verursachen. Storm Control kann die Auswirkungen begrenzen. Bei beabsichtigt redundanten Verbindungen muss Link Aggregation mit LACP die parallelen Leitungen bündeln. Wird Flapping durch eine fehlerhafte EtherChannel-Konfiguration verursacht, ist der Kanal auf beiden Seiten zu deaktivieren und korrekt neu aufzusetzen.