Le passé et le présent d'ERSPAN en matière de visibilité du réseau Mylinking™

L'outil le plus courant aujourd'hui pour la surveillance et le dépannage réseau est Switch Port Analyzer (SPAN), également appelé duplication de ports. Il permet de surveiller le trafic réseau en mode hors bande, sans perturber les services du réseau en production, et envoie une copie du trafic surveillé à des périphériques locaux ou distants, tels que des analyseurs de paquets, des systèmes de détection d'intrusion (IDS) ou d'autres outils d'analyse réseau.

Voici quelques exemples d'utilisation typique :

• Dépannage des 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 dupliqué localement sur d'autres ports du même périphérique source, ou dupliqué à distance sur d'autres périphériques réseau adjacents à la couche 2 du périphérique source (RSPAN).

Aujourd'hui, nous allons parler d'ERSPAN (Encapsulated Remote Switch Port Analyzer), une technologie de surveillance du trafic Internet à distance capable de fonctionner sur trois couches IP. Il s'agit d'une extension de SPAN vers 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 le protocole GRE (Generic Routing Encapsulation). 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é sur la base 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 poignée de main TCP en trois étapes et la session RDMA ;

• Prise en charge du réglage de la fréquence d'échantillonnage ;

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

Grâce à ces fonctionnalités, vous comprenez pourquoi ERSPAN est aujourd'hui un outil essentiel pour la surveillance des réseaux au sein des centres de données.

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

• Visibilité des sessions : Utilisez ERSPAN pour collecter toutes les nouvelles sessions TCP et RDMA (Remote Direct Memory Access) créées sur le serveur back-end 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 extraire du flux de données massif le trafic pertinent pour l'utilisateur, en faire une copie et encapsuler chaque trame copiée dans un conteneur « supertrame » spécial contenant suffisamment d'informations supplémentaires pour permettre son acheminement correct vers le périphérique de réception. De plus, ce dernier doit pouvoir extraire et restaurer intégralement le trafic initialement surveillé.

Le dispositif 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 d'emballage ERSPAN

Les paquets ERSPAN sont encapsulés à l'aide de GRE et acheminés vers toute destination accessible par adresse IP via Ethernet. ERSPAN est actuellement principalement utilisé sur les réseaux IPv4 ; la prise en charge d'IPv6 sera requise ultérieurement.

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

Structure d'encapsulation de l'ERSAPN

Le protocole ERSPAN s'est développé sur une longue période et, avec l'amélioration de ses capacités, plusieurs versions ont été créées, appelées « types ERSPAN ». Chaque type possède un format d'en-tête de trame différent.

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

version d'en-tête ERSPAN

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

1. Type I

La trame ERSPAN de type I encapsule directement IP et GRE 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 réside dans la taille réduite de son en-tête, ce qui diminue le coût de transmission. Cependant, comme les champs « GRE Flag » et « Version » sont initialisés à 0, il ne contient aucun champ étendu et le type I est peu répandu ; il n'est donc 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

En mode II, tous les champs C, R, K, S, S, Recur, Flags et Version de l'en-tête GRE sont à zéro, à l'exception du champ S. Par conséquent, le champ Numéro de séquence est affiché dans l'en-tête GRE de type II. Ainsi, le mode II garantit l'ordre de réception des paquets GRE, évitant ainsi qu'un grand nombre de paquets GRE reçus dans le désordre ne soient mal triés en cas de panne 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 l'image d'origine, se trouve le code de contrôle de redondance cyclique (CRC) Ethernet standard de 4 octets.

CRC

Il est important de noter que, dans cette implémentation, la trame miroir ne contient pas le champ FCS de la trame originale ; une nouvelle valeur CRC est recalculée à partir de l’intégralité de l’ERSPAN. Par conséquent, le dispositif de réception ne peut pas vérifier l’exactitude du CRC de la trame originale, 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 large et plus flexible afin de répondre aux scénarios de surveillance réseau de plus en plus complexes et diversifiés, notamment la gestion de réseau, la détection d'intrusion, l'analyse des performances et de la latence, etc. Ces scénarios nécessitent la connaissance de tous les paramètres d'origine du cadre miroir, y compris ceux qui sont absents du cadre 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 plateforme.

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

Format d'en-tête ERSPAN III

Là encore, après l'image miroir originale, se trouve un CRC de 4 octets.

CRC

Comme on peut le constater dans le format d'en-tête du type III, outre la conservation des champs Ver, VLAN, COS, T et ID de session sur la base du type II, de nombreux champs spéciaux sont ajoutés, tels que :

• BSO : utilisé pour indiquer l’intégrité de chargement des trames de données transportées via ERSPAN. 00 est une trame valide, 11 est une trame invalide, 01 est une trame courte, 11 est une trame longue ;

• Horodatage : exporté de 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.

• ID matériel : 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 atteindre une granularité plus élevée.

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

Index des identifiants de port

Il convient de noter que les différents champs d'en-tête mentionnés ci-dessus peuvent être utilisés dans les applications ERSPAN classiques, y compris pour la duplication de trames d'erreur ou de trames BPDU, tout en conservant le paquet Trunk et l'ID VLAN d'origine. De plus, des informations d'horodatage importantes et d'autres champs d'information peuvent être ajoutés à chaque trame ERSPAN lors de la duplication.

Grâce aux en-têtes de fonctionnalités propres à ERSPAN, nous pouvons obtenir une analyse plus précise du trafic réseau, puis simplement monter la liste de contrôle d'accès (ACL) correspondante dans le processus ERSPAN pour faire correspondre le trafic réseau qui nous intéresse.

ERSPAN implémente la visibilité des sessions RDMA

Prenons l'exemple de l'utilisation de la technologie ERSPAN pour visualiser une session RDMA dans un scénario RDMA :

RDMAL'accès direct à la mémoire à distance (RDMA) permet à la carte réseau du serveur A de lire et d'écrire dans la mémoire du serveur B grâce à des cartes d'interface réseau intelligentes (INIC) et des commutateurs, offrant ainsi une bande passante élevée, une faible latence et une faible consommation de ressources. Cette technologie est largement utilisée dans les environnements de stockage distribué haute performance et de traitement de données massives.

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 d'un grand nombre de données, utilisées pour enregistrer les niveaux d'eau de référence et les alarmes d'anomalies, ainsi que pour localiser les problèmes. Combinée à ERSPAN, cette collecte massive de données permet d'obtenir rapidement des informations sur la qualité de transmission à la microseconde près et sur l'état d'interaction du protocole de la puce de commutation. L'analyse et la statistique de ces données permettent d'évaluer et de prédire la qualité de transmission de bout en bout du RDMA.

Pour obtenir la visualisation des sessions RDAM, nous avons besoin qu'ERSPAN fasse 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 d'experts.

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

La fonction définie par l'utilisateur (UDF) comprend cinq champs : mot-clé UDF, champ de base, champ de décalage, champ de valeur et champ de masque. La capacité des entrées matérielles étant limitée, huit UDF peuvent être utilisées au maximum. 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 à la fonction définie par l’utilisateur. La suite

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 de correspondance. Il peut être utilisé conjointement avec le champ Masque pour configurer la valeur spécifique à rechercher. La valeur valide est de deux octets.

• Champ Masque : masque, bits valides sur deux octets

(Ajout : 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 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), lequel contient des informations sur le flux ou le QP à l'origine de la congestion. Le second sert à indiquer que la transmission RDMA a reçu 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(Compatible avec 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(Compatible avec RG-S6510-48VS8CQ)

Pour terminer, vous pouvez visualiser la session RDMA en montant la liste des extensions expertes dans le processus ERSPAN approprié.

Écrivez dans le dernier

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

Avec l'automatisation croissante des opérations et de la maintenance (O&M), des technologies telles que Netconf, RESTconf et gRPC sont prisées des étudiants en O&M travaillant sur l'exploitation et la maintenance automatiques des réseaux. L'utilisation de gRPC comme protocole sous-jacent pour la réplication du trafic réseau présente également de nombreux avantages. Par exemple, basé sur le protocole HTTP/2, il prend en charge le mécanisme de diffusion en continu (push) sur une même connexion. Grâce à l'encodage ProtoBuf, la taille des données est réduite de moitié par rapport au format JSON, ce qui rend la transmission plus rapide et plus efficace. Imaginez : si vous utilisez ERSPAN pour dupliquer les flux d'intérêt, puis les envoyez au serveur d'analyse via gRPC, cela améliorera considérablement les capacités et l'efficacité de l'exploitation et de la maintenance automatiques du réseau.


Date de publication : 10 mai 2022