Die ERSPAN-Vergangenheit und Gegenwart der Mylinking™-Netzwerksichtbarkeit

Das heute am häufigsten verwendete Tool zur Netzwerküberwachung und Fehlerbehebung ist Switch Port Analyzer (SPAN), auch bekannt als Port Mirroring. Es ermöglicht uns, den Netzwerkverkehr im Bypass-Out-of-Band-Modus zu überwachen, ohne die Dienste im Live-Netzwerk zu beeinträchtigen, und sendet eine Kopie des überwachten Datenverkehrs an lokale oder entfernte Geräte, einschließlich Sniffer, IDS oder andere Arten von Netzwerkanalysetools.

Einige typische Anwendungen sind:

• Beheben Sie Netzwerkprobleme durch Verfolgung von Steuer-/Datenrahmen;

• Analysieren Sie Latenz und Jitter durch Überwachung von VoIP-Paketen.

• Analysieren Sie die Latenz durch Überwachung von Netzwerkinteraktionen;

• Erkennen Sie Anomalien durch Überwachung des Netzwerkverkehrs.

SPAN-Datenverkehr kann lokal auf andere Ports auf demselben Quellgerät oder remote auf andere Netzwerkgeräte neben Layer 2 des Quellgeräts (RSPAN) gespiegelt werden.

Heute werden wir über die Remote-Internet-Verkehrsüberwachungstechnologie namens ERSPAN (Encapsulated Remote Switch Port Analyzer) sprechen, die über drei IP-Schichten übertragen werden kann. Dies ist 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 zum Parsen über Generic Routing Encapsulation (GRE) an den Zielserver gesendet. Der physische Standort des Servers ist nicht eingeschränkt.

• Mit Hilfe der User Defined Field (UDF)-Funktion des Chips wird ein beliebiger 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 zu realisieren der Sitzung, wie etwa der TCP-Drei-Wege-Handshake und die RDMA-Sitzung;

• Unterstützung der 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 erstellten neuen TCP- und RDMA-Sitzungen (Remote Direct Memory Access) zur Anzeige auf dem Back-End-Server zu sammeln.

• Fehlerbehebung im Netzwerk: Erfasst den Netzwerkverkehr zur Fehleranalyse, wenn ein Netzwerkproblem auftritt.

Dazu muss das Quellnetzwerkgerät den für den Benutzer interessanten 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, damit es dies kann korrekt an das Empfangsgerät weitergeleitet werden. Darüber hinaus ermöglichen Sie dem empfangenden Gerät, 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 mithilfe von GRE gekapselt und über Ethernet an jedes IP-adressierbare Ziel weitergeleitet. ERSPAN wird derzeit hauptsächlich in IPv4-Netzwerken verwendet, und IPv6-Unterstützung wird in Zukunft eine Voraussetzung sein.

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

Einkapselungsstruktur von ERSAPN

Das ERSPAN-Protokoll hat sich über einen langen Zeitraum entwickelt und mit der Erweiterung seiner Fähigkeiten sind mehrere Versionen entstanden, die als „ERSPAN-Typen“ bezeichnet werden. 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 Protokolltypfeld 0x88BE gibt ERSPAN Typ II an und 0x22EB gibt ERSPAN Typ III an.

1. Typ I

Der ERSPAN-Rahmen vom Typ I kapselt IP und GRE direkt über dem Header des ursprünglichen Spiegelrahmens. Diese Kapselung fügt dem ursprünglichen Frame 38 Byte hinzu: 14 (MAC) + 20 (IP) + 4 (GRE). Der Vorteil dieses Formats besteht darin, dass es eine kompakte Headergröße hat und die Übertragungskosten reduziert. Da es jedoch die GRE-Flag- und Versionsfelder auf 0 setzt, enthält es keine erweiterten Felder und Typ I wird nicht häufig verwendet, sodass keine weitere Erweiterung erforderlich ist.

Das GRE-Headerformat von Typ I lautet wie folgt:

GRE-Header-Format I

2. Typ II

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

Das GRE-Header-Format vom Typ II lautet wie folgt:

GRE-Header-Format II

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 hinzu.

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

ERSPAN-Header-Format II

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

CRC

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

3. Typ III

Typ III führt einen größeren und flexibleren zusammengesetzten Header ein, um immer komplexere und vielfältigere Netzwerküberwachungsszenarien zu bewältigen, einschließlich, aber nicht beschränkt auf Netzwerkmanagement, Einbruchserkennung, Leistungs- und Verzögerungsanalyse und mehr. Diese Szenen müssen alle Originalparameter des Spiegelrahmens kennen und diejenigen einschließen, die im Originalrahmen selbst nicht vorhanden sind.

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

Das ERSPAN-Header-Format für Typ III lautet wie folgt:

ERSPAN-Header-Format III

Auch hier folgt nach dem ursprünglichen Spiegelrahmen 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 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 Frame, 11 ist ein schlechter Frame, 01 ist ein kurzer Frame, 11 ist ein großer Frame;

• Zeitstempel: wird von der Hardware-Uhr exportiert, synchronisiert mit der Systemzeit. Dieses 32-Bit-Feld unterstützt eine Zeitstempelgranularität von mindestens 100 Mikrosekunden.

• Rahmentyp (P) und Rahmentyp (FT): Ersterer wird verwendet, um anzugeben, ob ERSPAN Ethernet-Protokollrahmen (PDU-Rahmen) überträgt, und letzterer wird verwendet, um anzugeben, ob ERSPAN Ethernet-Rahmen oder IP-Pakete überträgt.

• HW-ID: eindeutige Kennung der ERSPAN-Engine innerhalb des Systems;

• Gra (Zeitstempel-Granularitä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 Unterköpfe, um eine höhere Granularität zu erreichen.

• Platf-ID vs. plattformspezifische Informationen: Platf-spezifische Infofelder haben je nach Platf-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 und sogar Fehlerrahmen oder BPDU-Rahmen spiegeln, während das ursprüngliche Trunk-Paket und die VLAN-ID beibehalten werden. Darüber hinaus können während der Spiegelung jedem ERSPAN-Frame wichtige Zeitstempelinformationen und andere Informationsfelder hinzugefügt werden.

Mit den ERSPAN-eigenen Feature-Headern können wir eine genauere Analyse des Netzwerkverkehrs erreichen und dann einfach die entsprechende ACL in den ERSPAN-Prozess einbinden, um sie an den Netzwerkverkehr anzupassen, an dem wir interessiert sind.

ERSPAN implementiert RDMA-Sitzungssichtbarkeit

Nehmen wir ein Beispiel für die Verwendung der ERSPAN-Technologie, um eine RDMA-Sitzungsvisualisierung in einem RDMA-Szenario zu erreichen:

RDMA: Remote Direct Memory Access ermöglicht es dem Netzwerkadapter von Server A, den Speicher von Server B mithilfe intelligenter Netzwerkschnittstellenkarten (Inics) und Switches zu lesen und zu schreiben, wodurch eine hohe Bandbreite, geringe Latenz und eine geringe Ressourcenauslastung erreicht werden. Es wird häufig in Big-Data- und verteilten Hochleistungsspeicherszenarien 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 zahlreicher Daten, die zur Erfassung täglicher Wasserstandsreferenzlinien und abnormaler Alarme sowie als Grundlage für die Lokalisierung abnormaler Probleme dienen. In Kombination mit ERSPAN können große Datenmengen schnell erfasst werden, um Daten in Mikrosekunden-Weiterleitungsqualität und den Protokollinteraktionsstatus des Switching-Chips zu erhalten. Durch Datenstatistiken und -analysen können RDMA-End-to-End-Weiterleitungsqualitätsbewertungen und -prognosen durchgeführt 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.

Definition des erweiterten Listenabgleichsfelds auf Expertenebene:

Die UDF besteht aus fünf Feldern: UDF-Schlüsselwort, Basisfeld, Offset-Feld, Wertfeld 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-Übereinstimmungsfelds. Die folgende

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

• Wertfeld: passender Wert. Es kann zusammen mit dem Maskenfeld verwendet werden, um den spezifischen Wert zu konfigurieren, der abgeglichen werden soll. Das gültige Bit beträgt zwei Bytes

• 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 Acknowledgement (NAK):

Ersteres wird vom RDMA-Empfänger nach Empfang der vom Switch gesendeten ECN-Nachricht generiert (wenn der Eout-Puffer den Schwellenwert erreicht), die Informationen über den Fluss oder QP enthält, der eine Überlastung verursacht. Letzteres wird verwendet, um anzuzeigen, 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 können:

RDMA CNP

Erweiterte RDMA-Expertenzugriffsliste

Erlaube udp beliebig beliebig beliebig eq 4791udf 1 l4_header 8 0x8100 0xFF00(Passend zu RG-S6520-64CQ)

Erlaube udp beliebig beliebig beliebig eq 4791udf 1 l5_header 0 0x8100 0xFF00(Passend zu RG-S6510-48VS8CQ)

RDMA CNP 2

Erweiterte RDMA-Expertenzugriffsliste

Erlaube udp beliebig beliebig beliebig eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Passend zu RG-S6520-64CQ)

Erlaube udp beliebig beliebig beliebig 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 Expertenerweiterungsliste in den entsprechenden ERSPAN-Prozess einbinden.

Schreiben Sie ins Letzte

ERSPAN ist eines der unverzichtbaren Tools in den heutigen immer größeren Rechenzentrumsnetzwerken, dem immer komplexeren Netzwerkverkehr und den immer anspruchsvolleren Anforderungen an Netzwerkbetrieb und -wartung.

Mit dem zunehmenden Grad der O&M-Automatisierung erfreuen sich Technologien wie Netconf, RESTconf und gRPC bei O&M-Studenten im Bereich netzwerkautomatischer O&M großer Beliebtheit. Die Verwendung von gRPC als zugrunde liegendes Protokoll zum Zurücksenden des Spiegeldatenverkehrs bietet ebenfalls viele Vorteile. Basierend auf dem HTTP/2-Protokoll kann es beispielsweise den Streaming-Push-Mechanismus unter derselben Verbindung unterstützen. Mit der ProtoBuf-Kodierung wird die Informationsgröße im Vergleich zum JSON-Format um die Hälfte reduziert, wodurch die Datenübertragung schneller und effizienter wird. Stellen Sie sich vor: Wenn Sie ERSPAN verwenden, um interessierte Streams zu spiegeln und sie dann an den Analyseserver auf gRPC zu senden, wird dies die Fähigkeit und Effizienz des automatischen Netzwerkbetriebs und der automatischen Wartung erheblich verbessern?


Zeitpunkt der Veröffentlichung: 10. Mai 2022