Le passé et le présent de la visibilité du réseau Mylinking™ d'ERSPAN

L'outil le plus courant pour la surveillance et le dépannage réseau aujourd'hui est Switch Port Analyzer (SPAN), également connu sous le nom de mise en miroir de ports. Il permet de surveiller le trafic réseau en mode bypass hors bande sans interférer avec les services du réseau actif, et d'envoyer une copie du trafic surveillé à des appareils locaux ou distants, notamment Sniffer, IDS ou d'autres outils d'analyse réseau.

Certaines utilisations typiques sont :

• Résoudre les problèmes de réseau en suivant les trames de contrôle/données ;

• Analyser la latence et la gigue en surveillant les paquets VoIP ;

• Analyser la latence en surveillant les interactions réseau ;

• Détecter les anomalies en surveillant le trafic réseau.

Le trafic SPAN peut être mis en miroir localement sur d'autres ports du même périphérique source ou mis en miroir à distance sur d'autres périphériques réseau adjacents à la couche 2 du périphérique source (RSPAN).

Aujourd'hui, nous allons aborder la technologie de surveillance du trafic Internet à distance appelée ERSPAN (Encapsulated Remote Switch Port Analyzer), qui peut être transmise sur trois couches IP. Il s'agit d'une extension de SPAN à Encapsulated Remote.

Principes de fonctionnement de base d'ERSPAN

Commençons par examiner les fonctionnalités d’ERSPAN :

• Une copie du paquet provenant du port source est envoyée au serveur de destination pour analyse via l'encapsulation de routage générique (GRE). L'emplacement physique du serveur n'est pas limité.

• Grâce à la fonction User Defined Field (UDF) de la puce, tout décalage de 1 à 126 octets est effectué en fonction du domaine de base via la liste étendue de niveau expert, et les mots-clés de session sont mis en correspondance pour réaliser la visualisation de la session, comme la négociation à trois voies TCP et la session RDMA ;

• Prise en charge du réglage du taux d’échantillonnage ;

• Prend en charge la longueur d'interception des paquets (Packet Slicing), réduisant ainsi la pression sur le serveur cible.

Grâce à ces fonctionnalités, vous pouvez comprendre pourquoi ERSPAN est aujourd’hui un outil essentiel pour la surveillance des réseaux à l’intérieur des centres de données.

Les principales fonctions d'ERSPAN peuvent être résumées sous deux aspects :

• Visibilité des sessions : utilisez ERSPAN pour collecter toutes les nouvelles sessions TCP et Remote Direct Memory Access (RDMA) créées sur le serveur principal pour affichage ;

• Dépannage réseau : capture le trafic réseau pour l'analyse des pannes lorsqu'un problème réseau survient.

Pour ce faire, le périphérique réseau source doit filtrer le trafic intéressant l'utilisateur du flux de données massif, en effectuer une copie et encapsuler chaque trame dans un conteneur de supertrame spécifique contenant suffisamment d'informations supplémentaires pour être correctement acheminé vers le périphérique récepteur. De plus, ce dernier doit pouvoir extraire et récupérer intégralement le trafic surveillé d'origine.

Le périphérique de réception peut être un autre serveur prenant en charge la décapsulation des paquets ERSPAN.

Encapsulation des paquets ERSPAN

Analyse du type et du format du package ERSPAN

Les paquets ERSPAN sont encapsulés via GRE et transmis vers n'importe quelle destination IP adressable via Ethernet. ERSPAN est actuellement principalement utilisé sur les réseaux IPv4, et la prise en charge d'IPv6 sera obligatoire à l'avenir.

Pour la structure d'encapsulation générale d'ERSAPN, voici une capture de paquets miroir de paquets ICMP :

structure d'encapsulation de l'ERSAPN

Le protocole ERSPAN a connu une longue évolution et, grâce à l'amélioration de ses fonctionnalités, plusieurs versions, appelées « types ERSPAN », ont été créées. Chaque type possède des formats d'en-tête de trame différents.

Il est défini dans le premier champ Version de l'en-tête ERSPAN :

Version d'en-tête ERSPAN

De plus, le champ « Type de protocole » de l'en-tête GRE indique également le type ERSPAN interne. Le champ « Type de protocole » 0x88BE indique le type ERSPAN II et le champ « Type de protocole » 0x22EB indique le type ERSPAN III.

1. Type I

La trame ERSPAN de type I encapsule IP et GRE directement dans l'en-tête de la trame miroir d'origine. Cette encapsulation ajoute 38 octets à la trame d'origine : 14 (MAC) + 20 (IP) + 4 (GRE). L'avantage de ce format est la taille compacte de son en-tête et la réduction du coût de transmission. Cependant, comme il définit les champs GRE Flag et Version sur 0, il ne comporte aucun champ étendu. De plus, le type I étant peu utilisé, il n'est pas nécessaire de l'étendre davantage.

Le format d'en-tête GRE de type I est le suivant :

Format d'en-tête GRE I

2. Type II

Dans le type II, les champs C, R, K, S, S, Recur, Flags et Version de l'en-tête GRE sont tous à 0, à l'exception du champ S. Par conséquent, le champ Numéro de séquence est affiché dans l'en-tête GRE du type II. Autrement dit, le type II peut garantir l'ordre de réception des paquets GRE, de sorte qu'un grand nombre de paquets GRE désordonnés ne puissent pas être triés en raison d'une défaillance du réseau.

Le format d'en-tête GRE de type II est le suivant :

Format d'en-tête GRE II

De plus, le format de trame ERSPAN Type II ajoute un en-tête ERSPAN de 8 octets entre l'en-tête GRE et la trame miroir d'origine.

Le format d'en-tête ERSPAN pour le type II est le suivant :

Format d'en-tête ERSPAN II

Enfin, immédiatement après la trame d'image d'origine, se trouve le code standard de contrôle de redondance cyclique (CRC) Ethernet de 4 octets.

CRC

Il est à noter que dans l'implémentation, la trame miroir ne contient pas le champ FCS de la trame d'origine ; une nouvelle valeur CRC est recalculée à partir de l'ensemble de l'ERSPAN. Cela signifie que le périphérique récepteur ne peut pas vérifier l'exactitude du CRC de la trame d'origine, et nous pouvons seulement supposer que seules les trames non corrompues sont mises en miroir.

3. Type III

Le type III introduit un en-tête composite plus grand et plus flexible pour répondre à des scénarios de surveillance réseau de plus en plus complexes et diversifiés, notamment la gestion du réseau, la détection d'intrusions, l'analyse des performances et des délais, et bien plus encore. Ces scènes doivent connaître tous les paramètres d'origine de la trame miroir, y compris ceux qui ne sont pas présents dans la trame d'origine.

L'en-tête composite ERSPAN Type III comprend un en-tête obligatoire de 12 octets et un sous-en-tête optionnel de 8 octets spécifique à la plate-forme.

Le format d'en-tête ERSPAN pour le type III est le suivant :

Format d'en-tête ERSPAN III

Encore une fois, après la trame miroir d'origine, il y a un CRC de 4 octets.

CRC

Comme on peut le voir à partir du format d'en-tête du type III, en plus de conserver les champs Ver, VLAN, COS, T et Session ID sur la base du type II, de nombreux champs spéciaux sont ajoutés, tels que :

• BSO : utilisé pour indiquer l'intégrité de charge des trames de données transportées via ERSPAN. 00 est une bonne trame, 11 est une mauvaise trame, 01 est une trame courte, 11 est une grande trame ;

• Horodatage : exporté depuis l'horloge matérielle synchronisée avec l'heure système. Ce champ 32 bits prend en charge une granularité d'horodatage d'au moins 100 microsecondes ;

• Type de trame (P) et type de trame (FT) : le premier est utilisé pour spécifier si ERSPAN transporte des trames de protocole Ethernet (trames PDU), et le second est utilisé pour spécifier si ERSPAN transporte des trames Ethernet ou des paquets IP.

• HW ID : identifiant unique du moteur ERSPAN au sein du système ;

• Gra (Granularité de l'horodatage) : Spécifie la granularité de l'horodatage. Par exemple, 00B représente une granularité de 100 microsecondes, 01B une granularité de 100 nanosecondes, 10B une granularité IEEE 1588 et 11B nécessite des sous-en-têtes spécifiques à la plateforme pour obtenir une granularité plus élevée.

• ID de la plateforme vs. Informations spécifiques à la plateforme : les champs d'informations spécifiques à la plateforme ont des formats et des contenus différents en fonction de la valeur de l'ID de la plateforme.

Index d'identification des ports

Il est à noter que les différents champs d'en-tête pris en charge ci-dessus peuvent être utilisés dans les applications ERSPAN classiques, même pour la mise en miroir de trames d'erreur ou de trames BPDU, tout en conservant le package Trunk et l'ID VLAN d'origine. De plus, des informations d'horodatage clés et d'autres champs d'information peuvent être ajoutés à chaque trame ERSPAN lors de la mise en miroir.

Grâce aux propres en-têtes de fonctionnalités d'ERSPAN, nous pouvons réaliser une analyse plus précise du trafic réseau, puis simplement monter l'ACL correspondante dans le processus ERSPAN pour correspondre au trafic réseau qui nous intéresse.

ERSPAN implémente la visibilité des sessions RDMA

Prenons un exemple d’utilisation de la technologie ERSPAN pour réaliser une visualisation de session RDMA dans un scénario RDMA :

RDMAL'accès direct à la mémoire à distance (ADM) permet à la carte réseau du serveur A de lire et d'écrire dans la mémoire du serveur B à l'aide de cartes d'interface réseau intelligentes (CIN) et de commutateurs, ce qui permet d'obtenir une bande passante élevée, une faible latence et une faible utilisation des ressources. Il est largement utilisé dans les scénarios de Big Data et de stockage distribué hautes performances.

RoCEv2RDMA sur Ethernet convergé version 2. Les données RDMA sont encapsulées dans l'en-tête UDP. Le numéro de port de destination est 4791.

L'exploitation et la maintenance quotidiennes du RDMA nécessitent la collecte de nombreuses données, utilisées pour relever les lignes de référence quotidiennes du niveau d'eau et les alarmes anormales, ainsi que pour localiser les problèmes anormaux. Grâce à ERSPAN, des données massives peuvent être rapidement capturées pour obtenir des données de qualité de transmission à la microseconde près et l'état d'interaction du protocole de la puce de commutation. Grâce aux statistiques et à l'analyse des données, il est possible d'évaluer et de prévoir la qualité de transmission RDMA de bout en bout.

Pour réaliser la visualisation des sessions RDAM, nous avons besoin d'ERSPAN pour faire correspondre les mots-clés des sessions d'interaction RDMA lors de la mise en miroir du trafic, et nous devons utiliser la liste étendue des experts.

Définition du champ de correspondance de liste étendue de niveau expert :

L'UDF se compose de cinq champs : mot-clé, base, décalage, valeur et masque. Limité par la capacité des entrées matérielles, huit UDF peuvent être utilisés. Une UDF peut correspondre à un maximum de deux octets.

• Mot-clé UDF : UDF1... UDF8 Contient huit mots-clés du domaine de correspondance UDF

• Champ de base : identifie la position de départ du champ correspondant de la fonction UDF. Les éléments suivants

En-tête L4 (applicable à RG-S6520-64CQ)

En-tête L5 (pour RG-S6510-48VS8Cq)

• Décalage : indique le décalage par rapport au champ de base. La valeur est comprise entre 0 et 126.

• Champ Valeur : valeur correspondante. Il peut être utilisé avec le champ Masque pour configurer la valeur spécifique à rechercher. Le bit valide est de deux octets.

• Champ de masque : masque, le bit valide est de deux octets

(Ajouter : si plusieurs entrées sont utilisées dans le même champ de correspondance UDF, les champs de base et de décalage doivent être identiques.)

Les deux paquets clés associés à l'état de la session RDMA sont le paquet de notification de congestion (CNP) et l'accusé de réception négatif (NAK) :

Le premier est généré par le récepteur RDMA après réception du message ECN envoyé par le commutateur (lorsque le tampon eout atteint le seuil), qui contient des informations sur le flux ou le QP à l'origine de la congestion. Le second est utilisé pour indiquer que la transmission RDMA contient un message de réponse de perte de paquets.

Voyons comment faire correspondre ces deux messages à l’aide de la liste étendue de niveau expert :

RDMA CNP

liste d'accès expert étendue rdma

autoriser udp tout tout tout tout eq 4791udf 1 l4_header 8 0x8100 0xFF00(Correspondant à RG-S6520-64CQ)

autoriser udp tout tout tout tout eq 4791udf 1 l5_header 0 0x8100 0xFF00(Correspondant à RG-S6510-48VS8CQ)

RDMA CNP 2

liste d'accès expert étendue rdma

autoriser udp tout tout tout tout eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Correspondant à RG-S6520-64CQ)

autoriser udp tout tout tout tout eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Correspondant à RG-S6510-48VS8CQ)

En guise d’étape finale, vous pouvez visualiser la session RDMA en montant la liste d’extensions d’experts dans le processus ERSPAN approprié.

Écrivez en dernier

ERSPAN est l'un des outils indispensables dans les réseaux de centres de données de plus en plus grands d'aujourd'hui, dans le trafic réseau de plus en plus complexe et dans les exigences d'exploitation et de maintenance réseau de plus en plus sophistiquées.

Avec l'automatisation croissante de l'exploitation et de la maintenance, des technologies telles que Netconf, RESTconf et gRPC sont populaires auprès des étudiants en exploitation et maintenance automatique des réseaux. L'utilisation de gRPC comme protocole sous-jacent pour le renvoi du trafic miroir présente également de nombreux avantages. Par exemple, basé sur le protocole HTTP/2, il peut prendre en charge le mécanisme de streaming push sur la même connexion. Grâce au codage ProtoBuf, la taille des informations est divisée par deux par rapport au format JSON, ce qui accélère et optimise la transmission des données. Imaginez : si vous utilisez ERSPAN pour mettre en miroir les flux concernés, puis les envoyer au serveur d'analyse sur gRPC, cela améliorera-t-il considérablement la capacité et l'efficacité de l'exploitation et de la maintenance automatiques du réseau ?


Date de publication : 10 mai 2022