Das gängigste Werkzeug zur Netzwerküberwachung und -fehlerbehebung ist heutzutage der Switch Port Analyzer (SPAN), auch bekannt als Port-Mirroring. Er ermöglicht die Überwachung des Netzwerkverkehrs im Bypass-Out-of-Band-Modus, ohne den laufenden Betrieb des Netzwerks zu beeinträchtigen, und sendet eine Kopie des überwachten Datenverkehrs an lokale oder entfernte Geräte, darunter Sniffer, IDS oder andere Netzwerkanalysetools.
Typische Anwendungsbeispiele sind:
• Beheben von Netzwerkproblemen durch Verfolgung von Steuer-/Datenframes;
• Latenz und Jitter durch Überwachung von VoIP-Paketen analysieren;
• Latenz analysieren durch Überwachung der Netzwerkinteraktionen;
• Anomalien durch Überwachung des Netzwerkverkehrs erkennen.
SPAN-Datenverkehr kann lokal auf andere Ports desselben Quellgeräts gespiegelt oder remote auf andere Netzwerkgeräte gespiegelt werden, die sich in der Schicht 2 des Quellgeräts befinden (RSPAN).
Heute geht es um die Technologie ERSPAN (Encapsulated Remote Switch Port Analyzer) zur Fernüberwachung des Internetverkehrs, die über drei IP-Schichten übertragen werden kann. ERSPAN ist eine Erweiterung von SPAN zu Encapsulated Remote.
Grundlegende Funktionsprinzipien von ERSPAN
Schauen wir uns zunächst die Funktionen von ERSPAN an:
• Eine Kopie des Pakets vom Quellport wird zur Analyse mittels Generic Routing Encapsulation (GRE) an den Zielserver gesendet. Der physische Standort des Servers ist nicht eingeschränkt.
• Mithilfe der User Defined Field (UDF)-Funktion des Chips wird ein beliebiger Offset von 1 bis 126 Bytes auf Basis der Basisdomäne über die erweiterte Expertenliste durchgeführt, und die Sitzungsschlüsselwörter werden abgeglichen, um die Visualisierung der Sitzung zu realisieren, wie z. B. des TCP-Drei-Wege-Handshakes und der RDMA-Sitzung;
• Unterstützung für die Einstellung der Abtastrate;
• Unterstützt die Länge des Paketabfangs (Packet Slicing), wodurch die Belastung des Zielservers reduziert wird.
Anhand dieser Funktionen wird deutlich, warum ERSPAN heutzutage ein unverzichtbares Werkzeug zur Überwachung von Netzwerken in Rechenzentren ist.
Die Hauptfunktionen von ERSPAN lassen sich in zwei Aspekten zusammenfassen:
• Sitzungssichtbarkeit: Verwenden Sie ERSPAN, um alle neu erstellten TCP- und RDMA-Sitzungen (Remote Direct Memory Access) an den Back-End-Server zur Anzeige zu übermitteln;
• Netzwerk-Fehlerbehebung: Erfasst den Netzwerkverkehr zur Fehleranalyse, wenn ein Netzwerkproblem auftritt.
Dazu muss das Quellnetzwerkgerät den für den Benutzer relevanten Datenverkehr aus dem massiven Datenstrom herausfiltern, eine Kopie erstellen und jeden kopierten Frame in einen speziellen „Superframe-Container“ einkapseln, der genügend Zusatzinformationen enthält, um die korrekte Weiterleitung an das Empfangsgerät zu gewährleisten. Außerdem muss das Empfangsgerät in der Lage sein, den ursprünglich überwachten Datenverkehr zu extrahieren und vollständig wiederherzustellen.
Das Empfangsgerät kann ein anderer Server sein, der die Entkapselung von ERSPAN-Paketen unterstützt.
Die ERSPAN-Typ- und Paketformatanalyse
ERSPAN-Pakete werden mit GRE gekapselt und über Ethernet an jedes beliebige IP-adressierbare Ziel weitergeleitet. ERSPAN wird derzeit hauptsächlich in IPv4-Netzwerken eingesetzt; IPv6-Unterstützung wird zukünftig erforderlich sein.
Für die allgemeine Kapselungsstruktur von ERSAPN folgt eine Spiegelung der ICMP-Pakete:
Das ERSPAN-Protokoll wurde über einen langen Zeitraum entwickelt, und mit der Erweiterung seiner Funktionen entstanden verschiedene Versionen, die als „ERSPAN-Typen“ bezeichnet werden. Die verschiedenen Typen verwenden unterschiedliche Frame-Header-Formate.
Es ist im ersten Versionsfeld des ERSPAN-Headers definiert:
Darüber hinaus gibt das Feld „Protokolltyp“ im GRE-Header auch den internen ERSPAN-Typ an. Das Feld „Protokolltyp“ mit dem Wert 0x88BE steht für ERSPAN Typ II, und 0x22EB steht für ERSPAN Typ III.
1. Typ I
Der ERSPAN-Frame vom Typ I kapselt IP und GRE direkt im Header des ursprünglichen Spiegel-Frames. Diese Kapselung fügt dem ursprünglichen Frame 38 Byte hinzu: 14 (MAC) + 20 (IP) + 4 (GRE). Der Vorteil dieses Formats liegt in der kompakten Headergröße und den reduzierten Übertragungskosten. Da jedoch die Felder für GRE-Flag und -Version auf 0 gesetzt werden, werden keine zusätzlichen Felder übertragen. Da Typ I nicht weit verbreitet ist, besteht kein Bedarf an weiterer Erweiterung.
Das GRE-Header-Format vom Typ I sieht wie folgt aus:
2. Typ II
Bei Typ II sind die Felder C, R, K, S, S, Recur, Flags und Version im GRE-Header alle auf 0 gesetzt, mit Ausnahme des Feldes S. Daher wird das Feld „Sequenznummer“ im GRE-Header von Typ II angezeigt. Das heißt, Typ II gewährleistet die Reihenfolge des Empfangs von GRE-Paketen, sodass eine große Anzahl von GRE-Paketen, die aufgrund eines Netzwerkfehlers in falscher Reihenfolge eintreffen, nicht sortiert werden können.
Das GRE-Header-Format vom Typ II sieht wie folgt aus:
Darüber hinaus fügt das ERSPAN Typ II Frame-Format einen 8-Byte ERSPAN-Header zwischen dem GRE-Header und dem ursprünglichen gespiegelten Frame ein.
Das ERSPAN-Header-Format für Typ II lautet wie folgt:
Unmittelbar im Anschluss an das ursprüngliche Bildbild folgt schließlich der standardmäßige 4-Byte-Ethernet-CRC-Code (Cyclic Redundancy Check).
Es ist wichtig zu beachten, dass in der Implementierung der Spiegelungsrahmen nicht das FCS-Feld des Originalrahmens enthält. Stattdessen wird ein neuer CRC-Wert basierend auf dem gesamten ERSPAN neu berechnet. Dies bedeutet, dass das Empfangsgerät die CRC-Korrektheit des Originalrahmens nicht überprüfen kann und wir lediglich davon ausgehen können, dass nur unbeschädigte Rahmen gespiegelt werden.
3. Typ III
Typ III führt einen größeren und flexibleren Composite-Header ein, um den zunehmend komplexen und vielfältigen Netzwerküberwachungsszenarien gerecht zu werden. Dazu gehören unter anderem Netzwerkmanagement, Angriffserkennung, Leistungs- und Verzögerungsanalyse. Diese Szenarien erfordern die Kenntnis aller ursprünglichen Parameter des Spiegel-Frames, einschließlich derjenigen, die im Original-Frame selbst nicht vorhanden sind.
Der ERSPAN Typ III Composite Header enthält einen obligatorischen 12-Byte-Header und einen optionalen 8-Byte-plattformspezifischen Subheader.
Das ERSPAN-Header-Format für Typ III lautet wie folgt:
Auch hier gilt: Nach dem ursprünglichen Spiegelbild handelt es sich um eine 4-Byte-CRC-Prüfsumme.
Wie aus dem Header-Format von Typ III ersichtlich ist, werden neben der Beibehaltung der Felder Ver, VLAN, COS, T und Session ID auf Basis von Typ II viele spezielle Felder hinzugefügt, wie zum Beispiel:
• BSO: Wird verwendet, um die Ladeintegrität von Datenrahmen anzuzeigen, die über ERSPAN übertragen werden. 00 ist ein guter Rahmen, 11 ist ein fehlerhafter Rahmen, 01 ist ein kurzer Rahmen, 11 ist ein langer Rahmen;
• Zeitstempel: wird von der mit der Systemzeit synchronisierten Hardwareuhr exportiert. Dieses 32-Bit-Feld unterstützt eine Zeitstempelgenauigkeit von mindestens 100 Mikrosekunden;
• Frame-Typ (P) und Frame-Typ (FT): Ersterer dient zur Angabe, ob ERSPAN Ethernet-Protokoll-Frames (PDU-Frames) überträgt, letzterer dient zur Angabe, ob ERSPAN Ethernet-Frames oder IP-Pakete überträgt.
• HW-ID: eindeutige Kennung der ERSPAN-Engine innerhalb des Systems;
• Gra (Zeitstempelgranularität): Gibt die Granularität des Zeitstempels an. Beispielsweise steht 00B für eine Granularität von 100 Mikrosekunden, 01B für 100 Nanosekunden, 10B für die IEEE-1588-Granularität und 11B erfordert plattformspezifische Subheader, um eine höhere Granularität zu erreichen.
• Plattform-ID vs. Plattformspezifische Informationen: Die Felder für plattformspezifische Informationen haben je nach Wert der Plattform-ID unterschiedliche Formate und Inhalte.
Es ist zu beachten, dass die oben genannten Header-Felder auch in regulären ERSPAN-Anwendungen verwendet werden können, selbst beim Spiegeln von Fehler- oder BPDU-Frames, wobei das ursprüngliche Trunk-Paket und die VLAN-ID erhalten bleiben. Zusätzlich können während des Spiegelns jedem ERSPAN-Frame wichtige Zeitstempel und weitere Informationsfelder hinzugefügt werden.
Mit den eigenen Feature-Headern von ERSPAN können wir eine präzisere Analyse des Netzwerkverkehrs erreichen und anschließend einfach die entsprechende ACL im ERSPAN-Prozess einbinden, um den Netzwerkverkehr abzugleichen, der uns interessiert.
ERSPAN implementiert RDMA-Sitzungssichtbarkeit
Nehmen wir als Beispiel die Verwendung der ERSPAN-Technologie zur Visualisierung von RDMA-Sitzungen in einem RDMA-Szenario:
RDMARemote Direct Memory Access (RDMA) ermöglicht es dem Netzwerkadapter von Server A, mithilfe intelligenter Netzwerkschnittstellenkarten (NICs) und Switches auf den Speicher von Server B zuzugreifen und diesen zu beschreiben. Dadurch werden hohe Bandbreite, geringe Latenz und eine niedrige Ressourcenauslastung erreicht. RDMA findet breite Anwendung in Big-Data- und verteilten Hochleistungsspeicherumgebungen.
RoCEv2RDMA über konvergiertes Ethernet Version 2. Die RDMA-Daten sind im UDP-Header gekapselt. Die Zielportnummer ist 4791.
Der tägliche Betrieb und die Wartung von RDMA erfordern die Erfassung großer Datenmengen. Diese dienen der Erfassung täglicher Wasserstandsreferenzwerte und abnormaler Alarme sowie der Lokalisierung von Störungen. In Kombination mit ERSPAN lassen sich diese Datenmengen schnell erfassen, um im Mikrosekundenbereich Daten zur Weiterleitungsqualität und zum Protokollinteraktionsstatus des Switching-Chips zu erhalten. Durch Datenstatistik und -analyse können die End-to-End-Weiterleitungsqualität von RDMA bewertet und prognostiziert werden.
Um die Visualisierung von RDMA-Sitzungen zu erreichen, benötigen wir ERSPAN, um Schlüsselwörter für RDMA-Interaktionssitzungen beim Spiegeln des Datenverkehrs abzugleichen, und wir müssen die erweiterte Expertenliste verwenden.
Definition des erweiterten Listenabgleichfelds auf Expertenebene:
Die UDF besteht aus fünf Feldern: UDF-Schlüsselwort, Basisfeld, Offsetfeld, Wertfeld und Maskenfeld. Aufgrund der begrenzten Kapazität der Hardwareeinträge können maximal acht UDFs verwendet werden. Eine UDF kann maximal zwei Bytes abdecken.
• UDF-Schlüsselwort: UDF1... UDF8 Enthält acht Schlüsselwörter der UDF-Übereinstimmungsdomäne
• Basisfeld: Gibt die Startposition des übereinstimmenden UDF-Felds an. Das Folgende
L4_Header (gilt für RG-S6520-64CQ)
L5_Header (für RG-S6510-48VS8Cq)
• Offset: Gibt den Versatz basierend auf dem Basisfeld an. Der Wertbereich liegt zwischen 0 und 126.
• Wertfeld: Übereinstimmungswert. Es kann zusammen mit dem Maskenfeld verwendet werden, um den spezifischen Wert für den Abgleich zu konfigurieren. Das Gültigkeitsbit umfasst zwei Bytes.
• Maskenfeld: Maske, Gültigkeitsbit sind zwei Bytes
(Zusatzhinweis: Werden mehrere Einträge im selben UDF-Matching-Feld verwendet, müssen die Felder „Basis“ und „Offset“ identisch sein.)
Die beiden wichtigsten Pakete im Zusammenhang mit dem RDMA-Sitzungsstatus sind das Congestion Notification Packet (CNP) und das Negative Acknowledgment (NAK):
Ersteres wird vom RDMA-Empfänger generiert, nachdem er die vom Switch gesendete ECN-Nachricht empfangen hat (wenn der eout-Puffer den Schwellenwert erreicht). Diese enthält Informationen über den Datenfluss oder die Warteschlange, die die Überlastung verursacht. Letzteres dient dazu, anzuzeigen, dass die RDMA-Übertragung eine Antwortnachricht über einen Paketverlust enthält.
Schauen wir uns an, wie man diese beiden Nachrichten mithilfe der erweiterten Liste für Experten zuordnet:
Expertenzugriffsliste erweitert rdma
permit udp any any any any eq 4791udf 1 l4_header 8 0x8100 0xFF00(Passend zu RG-S6520-64CQ)
permit udp any any any any eq 4791udf 1 l5_header 0 0x8100 0xFF00(Passend zu RG-S6510-48VS8CQ)
Expertenzugriffsliste erweitert rdma
permit udp any any any any eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Passend zu RG-S6520-64CQ)
permit udp any any any any eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Passend zu RG-S6510-48VS8CQ)
Als letzten Schritt können Sie die RDMA-Sitzung visualisieren, indem Sie die Experten-Erweiterungsliste in den entsprechenden ERSPAN-Prozess einbinden.
Schreiben Sie das letzte
ERSPAN ist eines der unverzichtbaren Werkzeuge in den heutigen, immer größeren Rechenzentrumsnetzwerken, dem immer komplexeren Netzwerkverkehr und den immer anspruchsvolleren Anforderungen an Netzwerkbetrieb und -wartung.
Mit zunehmender Automatisierung von Betrieb und Wartung (O&M) erfreuen sich Technologien wie Netconf, RESTconf und gRPC bei Studierenden der Netzwerkautomatisierung großer Beliebtheit. Die Verwendung von gRPC als Basisprotokoll für die Übertragung von Spiegeldaten bietet zahlreiche Vorteile. Beispielsweise unterstützt es, basierend auf dem HTTP/2-Protokoll, den Streaming-Push-Mechanismus über dieselbe Verbindung. Durch die ProtoBuf-Kodierung wird die Datengröße im Vergleich zum JSON-Format halbiert, was die Datenübertragung beschleunigt und effizienter gestaltet. Stellen Sie sich vor: Wenn Sie ERSPAN verwenden, um relevante Datenströme zu spiegeln und diese anschließend über gRPC an den Analyseserver zu senden, wird sich die Leistungsfähigkeit und Effizienz des automatisierten Netzwerkbetriebs und der Wartung erheblich verbessern.
Veröffentlichungsdatum: 10. Mai 2022










