Die ERSPAN-Vergangenheit und Gegenwart der Mylinking™-Netzwerksichtbarkeit

Das gängigste Tool zur Netzwerküberwachung und -fehlerbehebung ist heute der Switch Port Analyzer (SPAN), auch bekannt als Port Mirroring. Er ermöglicht die Überwachung des Netzwerkverkehrs im Out-of-Band-Bypass-Modus, ohne die Dienste im aktiven Netzwerk zu beeinträchtigen, und sendet eine Kopie des überwachten Datenverkehrs an lokale oder Remote-Geräte, einschließlich Sniffer, IDS oder andere Netzwerkanalysetools.

Einige typische Verwendungszwecke sind:

• Beheben Sie Netzwerkprobleme durch die Verfolgung von Steuer-/Datenrahmen.

• Analysieren Sie Latenz und Jitter, indem Sie VoIP-Pakete überwachen;

• Analysieren Sie die Latenz, indem Sie Netzwerkinteraktionen überwachen;

• Erkennen Sie Anomalien, indem Sie den Netzwerkverkehr überwachen.

SPAN-Verkehr kann lokal auf andere Ports desselben Quellgeräts gespiegelt oder remote auf andere Netzwerkgeräte gespiegelt werden, die an Schicht 2 des Quellgeräts angrenzen (RSPAN).

Heute sprechen wir über die Remote-Internet-Verkehrsüberwachungstechnologie ERSPAN (Encapsulated Remote Switch Port Analyzer), die über drei IP-Schichten übertragen werden kann. Es handelt sich um eine Erweiterung von SPAN zu Encapsulated Remote.

Grundlegende Funktionsprinzipien von ERSPAN

Werfen wir zunächst einen Blick auf die Funktionen von ERSPAN:

• Eine Kopie des Pakets vom Quellport wird zur Analyse durch Generic Routing Encapsulation (GRE) an den Zielserver gesendet. Der physische Standort des Servers ist nicht eingeschränkt.

• Mithilfe der UDF-Funktion (User Defined Field) des Chips wird jeder Offset von 1 bis 126 Bytes basierend auf der Basisdomäne über die erweiterte Liste auf Expertenebene ausgeführt, und die Sitzungsschlüsselwörter werden abgeglichen, um die Visualisierung der Sitzung zu realisieren, wie z. B. den TCP-Dreiwege-Handshake und die RDMA-Sitzung;

• Unterstützt die Einstellung der Abtastrate;

• Unterstützt die Paketabfanglänge (Packet Slicing) und reduziert so den Druck auf den Zielserver.

Anhand dieser Funktionen können Sie erkennen, warum ERSPAN heute ein unverzichtbares Tool 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 Remote Direct Memory Access (RDMA)-Sitzungen zur Anzeige auf dem Back-End-Server zu sammeln;

• 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“ kapseln, der genügend zusätzliche Informationen enthält, um ihn korrekt an das empfangende Gerät weiterleiten zu können. Darüber hinaus muss das empfangende Gerät in die Lage versetzt werden, den ursprünglich überwachten Datenverkehr zu extrahieren und vollständig wiederherzustellen.

Das empfangende Gerät kann ein anderer Server sein, der die Entkapselung von ERSPAN-Paketen unterstützt.

Kapselung von ERSPAN-Paketen

Die ERSPAN-Typ- und Paketformatanalyse

ERSPAN-Pakete werden mit GRE gekapselt und über Ethernet an jedes IP-adressierbare Ziel weitergeleitet. ERSPAN wird derzeit hauptsächlich in IPv4-Netzwerken eingesetzt. IPv6-Unterstützung wird zukünftig vorausgesetzt.

Für die allgemeine Kapselungsstruktur von ERSAPN ist das Folgende eine gespiegelte Paketerfassung von ICMP-Paketen:

Kapselungsstruktur von ERSAPN

Das ERSPAN-Protokoll wurde über einen langen Zeitraum entwickelt. Mit der Erweiterung seiner Fähigkeiten entstanden mehrere Versionen, die sogenannten „ERSPAN-Typen“. Verschiedene Typen haben unterschiedliche Frame-Header-Formate.

Es wird im ersten Versionsfeld des ERSPAN-Headers definiert:

ERSPAN-Header-Version

Darüber hinaus gibt das Feld „Protokolltyp“ im GRE-Header auch den internen ERSPAN-Typ an. Das Feld „Protokolltyp“ 0x88BE steht für ERSPAN Typ II und 0x22EB für ERSPAN Typ III.

1. Typ I

Der ERSPAN-Frame vom Typ I kapselt IP und GRE direkt über den Header des ursprünglichen Mirror-Frames. Diese Kapselung erweitert den ursprünglichen Frame um 38 Bytes: 14 (MAC) + 20 (IP) + 4 (GRE). Der Vorteil dieses Formats liegt in der kompakten Headergröße und den geringeren Übertragungskosten. Da die GRE-Flag- und Versionsfelder jedoch auf 0 gesetzt sind, enthält es keine erweiterten Felder. Typ I ist nicht weit verbreitet, sodass keine weitere Erweiterung erforderlich ist.

Das GRE-Headerformat vom Typ I ist wie folgt:

GRE-Headerformat I

2. Typ II

Bei Typ II sind die Felder C, R, K, S, S, Recur, Flags und Version im GRE-Header mit Ausnahme des Felds S alle 0. Daher wird das Feld „Sequenznummer“ im GRE-Header von Typ II angezeigt. Das heißt, Typ II kann die Reihenfolge des Empfangs von GRE-Paketen sicherstellen, sodass eine große Anzahl von GRE-Paketen, die nicht in der richtigen Reihenfolge empfangen wurden, aufgrund eines Netzwerkfehlers nicht sortiert werden kann.

Das GRE-Headerformat vom Typ II ist wie folgt:

GRE-Headerformat II

Darüber hinaus fügt das ERSPAN Type II-Frame-Format einen 8-Byte-ERSPAN-Header zwischen dem GRE-Header und dem ursprünglichen gespiegelten Frame hinzu.

Das ERSPAN-Headerformat für Typ II ist wie folgt:

ERSPAN-Headerformat II

Unmittelbar nach dem ursprünglichen Bildrahmen folgt schließlich der standardmäßige 4-Byte-Ethernet-CRC-Code (Cyclic Redundancy Check).

CRC

Es ist zu beachten, dass der gespiegelte Frame in der Implementierung nicht das FCS-Feld des Originalframes enthält, sondern ein neuer CRC-Wert basierend auf dem gesamten ERSPAN neu berechnet wird. Das bedeutet, dass das empfangende Gerät die CRC-Korrektheit des Originalframes nicht überprüfen kann und wir nur davon ausgehen können, dass nur unbeschädigte Frames gespiegelt werden.

3. Typ III

Typ III führt einen größeren und flexibleren Composite-Header ein, um zunehmend komplexere und vielfältigere Netzwerküberwachungsszenarien abzudecken, darunter Netzwerkmanagement, Angriffserkennung, Leistungs- und Verzögerungsanalyse und mehr. Diese Szenarien müssen alle Originalparameter des Mirror-Frames kennen und auch diejenigen berücksichtigen, die im Original-Frame selbst nicht vorhanden sind.

Der zusammengesetzte Header ERSPAN Typ III umfasst einen obligatorischen 12-Byte-Header und einen optionalen 8-Byte-plattformspezifischen Subheader.

Das ERSPAN-Headerformat für Typ III ist wie folgt:

ERSPAN-Headerformat III

Auch hier folgt nach dem ursprünglichen Spiegelframe ein 4-Byte-CRC.

CRC

Wie aus dem Header-Format von Typ III ersichtlich ist, werden zusätzlich zur Beibehaltung der Felder Ver, VLAN, COS, T und Session ID auf der Grundlage von Typ II viele spezielle Felder hinzugefügt, wie z. B.:

• BSO: wird verwendet, um die Ladeintegrität von Datenrahmen anzuzeigen, die über ERSPAN übertragen werden. 00 ist ein guter Rahmen, 11 ist ein schlechter Rahmen, 01 ist ein kurzer Rahmen, 11 ist ein großer Rahmen;

• Zeitstempel: Exportiert aus der mit der Systemzeit synchronisierten Hardwareuhr. Dieses 32-Bit-Feld unterstützt eine Zeitstempelgranularität von mindestens 100 Mikrosekunden.

• Frame-Typ (P) und Frame-Typ (FT): Ersterer wird verwendet, um anzugeben, ob ERSPAN Ethernet-Protokoll-Frames (PDU-Frames) überträgt, und letzterer wird verwendet, um anzugeben, 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 eine Granularität von 100 Nanosekunden, 10B für IEEE 1588-Granularität und 11B erfordert plattformspezifische Unterheader, um eine höhere Granularität zu erreichen.

• Plattform-ID vs. plattformspezifische Informationen: Die Felder „Plattformspezifische Informationen“ haben je nach Plattform-ID-Wert unterschiedliche Formate und Inhalte.

Port-ID-Index

Es ist zu beachten, dass die verschiedenen oben unterstützten Header-Felder in regulären ERSPAN-Anwendungen verwendet werden können, sogar bei der Spiegelung von Error Frames oder BPDU-Frames, wobei das ursprüngliche Trunk-Paket und die VLAN-ID erhalten bleiben. Zusätzlich können bei der Spiegelung jedem ERSPAN-Frame wichtige Zeitstempelinformationen und weitere Informationsfelder hinzugefügt werden.

Mit den eigenen Feature-Headern von ERSPAN können wir eine genauere Analyse des Netzwerkverkehrs erreichen und dann einfach die entsprechende ACL im ERSPAN-Prozess bereitstellen, um sie an den Netzwerkverkehr anzupassen, der uns interessiert.

ERSPAN implementiert RDMA-Sitzungssichtbarkeit

Betrachten wir ein Beispiel für die Verwendung der ERSPAN-Technologie zur Visualisierung von RDMA-Sitzungen in einem RDMA-Szenario:

RDMA: Remote Direct Memory Access ermöglicht dem Netzwerkadapter von Server A das Lesen und Schreiben des Speichers von Server B mithilfe intelligenter Netzwerkkarten (INICS) und Switches. Dadurch werden hohe Bandbreite, geringe Latenz und geringe Ressourcennutzung erreicht. Es wird häufig in Big Data- und Hochleistungsszenarien für verteilte Speicher eingesetzt.

RoCEv2: RDMA über Converged 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 umfangreicher Daten. Diese dienen der Erfassung täglicher Wasserstandsreferenzlinien und abnormaler Alarme sowie der Lokalisierung abnormaler Probleme. In Kombination mit ERSPAN können große Datenmengen schnell erfasst werden, um Daten zur Weiterleitungsqualität im Mikrosekundenbereich und den Protokollinteraktionsstatus des Switching-Chips zu erhalten. Durch Datenstatistiken und -analysen können End-to-End-Bewertungen und -Vorhersagen zur Weiterleitungsqualität von RDMA erstellt werden.

Um eine RDAM-Sitzungsvisualisierung zu erreichen, benötigen wir ERSPAN, um beim Spiegeln des Datenverkehrs Schlüsselwörter für RDMA-Interaktionssitzungen abzugleichen, und wir müssen die erweiterte Expertenliste verwenden.

Erweiterte Felddefinition für Listenübereinstimmung auf Expertenebene:

Die UDF besteht aus fünf Feldern: UDF-Schlüsselwort, Basisfeld, Offsetfeld, Wertefeld und Maskenfeld. Begrenzt durch die Kapazität der Hardwareeinträge können insgesamt acht UDFs verwendet werden. Eine UDF kann maximal zwei Bytes entsprechen.

• UDF-Schlüsselwort: UDF1... UDF8 Enthält acht Schlüsselwörter der UDF-Matching-Domäne

• Basisfeld: Identifiziert die Startposition des UDF-Matching-Feldes. Die folgenden

L4_header (gilt für RG-S6520-64CQ)

L5_header (für RG-S6510-48VS8Cq)

• Offset: Gibt den Offset basierend auf dem Basisfeld an. Der Wert liegt zwischen 0 und 126

• Wertefeld: passender Wert. Es kann zusammen mit dem Maskenfeld verwendet werden, um den passenden Wert zu konfigurieren. Das gültige Bit ist zwei Bytes lang.

• Maskenfeld: Maske, gültiges Bit ist zwei Bytes

(Hinzufügen: Wenn mehrere Einträge im selben UDF-Übereinstimmungsfeld verwendet werden, müssen die Basis- und Offsetfelder identisch sein.)

Die beiden wichtigsten Pakete, die mit dem RDMA-Sitzungsstatus verknüpft sind, sind Congestion Notification Packet (CNP) und Negative Acknowledgment (NAK):

Ersteres wird vom RDMA-Empfänger nach dem Empfang der vom Switch gesendeten ECN-Nachricht generiert (wenn der Eout-Puffer den Schwellenwert erreicht). Diese enthält Informationen über den Datenfluss oder QP, der die Überlastung verursacht. Letzteres zeigt an, dass die RDMA-Übertragung eine Paketverlust-Antwortnachricht enthält.

Sehen wir uns an, wie diese beiden Nachrichten mithilfe der erweiterten Liste auf Expertenebene abgeglichen werden:

RDMA CNP

Expertenzugriffsliste erweiterte RDMA

erlauben Sie UDP beliebig beliebig beliebig beliebig gleich 4791udf 1 l4_header 8 0x8100 0xFF00(Passend zu RG-S6520-64CQ)

erlauben Sie UDP beliebig beliebig beliebig beliebig gleich 4791udf 1 l5_header 0 0x8100 0xFF00(Passend zu RG-S6510-48VS8CQ)

RDMA CNP 2

Expertenzugriffsliste erweiterte RDMA

erlauben Sie UDP beliebig beliebig beliebig beliebig gleich 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Passend zu RG-S6520-64CQ)

erlauben Sie UDP beliebig beliebig beliebig beliebig gleich 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 Expertenerweiterungsliste in den entsprechenden ERSPAN-Prozess einbinden.

Schreiben Sie in die letzten

ERSPAN ist eines der unverzichtbaren Tools in den immer größer werdenden Rechenzentrumsnetzwerken von heute, bei immer komplexerem Netzwerkverkehr und immer anspruchsvolleren Anforderungen an Netzwerkbetrieb und -wartung.

Mit zunehmender Automatisierung von Betrieb und Wartung erfreuen sich Technologien wie Netconf, RESTconf und gRPC bei O&M-Studenten im Bereich der automatischen Netzwerk-Betriebs- und Wartungstechnik großer Beliebtheit. Die Verwendung von gRPC als zugrunde liegendes Protokoll für die Rückübertragung von gespiegeltem Datenverkehr bietet zahlreiche Vorteile. Basierend auf dem HTTP/2-Protokoll kann es beispielsweise den Streaming-Push-Mechanismus unter derselben Verbindung unterstützen. Durch die ProtoBuf-Kodierung wird die Informationsgröße im Vergleich zum JSON-Format halbiert, was die Datenübertragung schneller und effizienter macht. Stellen Sie sich vor: Wenn Sie ERSPAN verwenden, um relevante Streams zu spiegeln und sie anschließend an den Analyseserver auf gRPC zu senden, verbessert dies die Leistungsfähigkeit und Effizienz des automatischen Netzwerkbetriebs und der Netzwerkwartung erheblich.


Veröffentlichungszeit: 10. Mai 2022