Il passato e il presente della visibilità della rete Mylinking™ secondo ERSPAN.

Lo strumento più comune per il monitoraggio e la risoluzione dei problemi di rete oggi è Switch Port Analyzer (SPAN), noto anche come Port Mirroring. Consente di monitorare il traffico di rete in modalità bypass out-of-band senza interferire con i servizi sulla rete attiva e invia una copia del traffico monitorato a dispositivi locali o remoti, tra cui sniffer, IDS o altri tipi di strumenti di analisi di rete.

Alcuni utilizzi tipici sono:

• Risolvere i problemi di rete monitorando i frame di controllo/dati;

• Analizzare la latenza e il jitter monitorando i pacchetti VoIP;

• Analizzare la latenza monitorando le interazioni di rete;

• Rilevare anomalie monitorando il traffico di rete.

Il traffico SPAN può essere replicato localmente su altre porte dello stesso dispositivo sorgente oppure replicato in remoto su altri dispositivi di rete adiacenti al livello 2 del dispositivo sorgente (RSPAN).

Oggi parleremo di una tecnologia di monitoraggio remoto del traffico Internet chiamata ERSPAN (Encapsulated Remote Switch Port Analyzer) che può essere trasmessa su tre livelli IP. Si tratta di un'estensione di SPAN in Encapsulated Remote.

Principi operativi di base di ERSPAN

Innanzitutto, diamo un'occhiata alle caratteristiche di ERSPAN:

• Una copia del pacchetto dalla porta di origine viene inviata al server di destinazione per l'analisi tramite Generic Routing Encapsulation (GRE). La posizione fisica del server non è soggetta a restrizioni.

• Grazie alla funzionalità User Defined Field (UDF) del chip, è possibile eseguire qualsiasi offset da 1 a 126 byte in base al dominio Base tramite l'elenco esteso di livello esperto, e le parole chiave della sessione vengono abbinate per realizzare la visualizzazione della sessione, come ad esempio l'handshake TCP a tre vie e la sessione RDMA;

• Supporto per l'impostazione della frequenza di campionamento;

• Supporta l'intercettazione della lunghezza dei pacchetti (Packet Slicing), riducendo la pressione sul server di destinazione.

Grazie a queste caratteristiche, è facile capire perché ERSPAN sia oggi uno strumento essenziale per il monitoraggio delle reti all'interno dei data center.

Le funzioni principali di ERSPAN possono essere riassunte in due aspetti:

• Visibilità della sessione: utilizzare ERSPAN per raccogliere tutte le nuove sessioni TCP e RDMA (Remote Direct Memory Access) create e inviarle al server back-end per la visualizzazione;

• Risoluzione dei problemi di rete: acquisisce il traffico di rete per l'analisi dei guasti quando si verifica un problema di rete.

A tal fine, il dispositivo di rete sorgente deve filtrare il traffico di interesse per l'utente dal flusso di dati massiccio, crearne una copia e incapsulare ogni frame copia in uno speciale "contenitore superframe" che contenga informazioni aggiuntive sufficienti per consentirne il corretto instradamento al dispositivo ricevente. Inoltre, deve consentire al dispositivo ricevente di estrarre e recuperare completamente il traffico monitorato originale.

Il dispositivo ricevente può essere un altro server che supporta la decapsulazione dei pacchetti ERSPAN.

Incapsulamento dei pacchetti ERSPAN

Analisi del tipo e del formato del pacchetto ERSPAN

I pacchetti ERSPAN vengono incapsulati utilizzando GRE e inoltrati a qualsiasi destinazione con indirizzo IP tramite Ethernet. Attualmente ERSPAN è utilizzato principalmente su reti IPv4, ma in futuro sarà necessario il supporto per IPv6.

Per la struttura di incapsulamento generale di ERSAPN, di seguito viene mostrata una cattura speculare dei pacchetti ICMP:

struttura di incapsulamento di ERSAPN

Il protocollo ERSPAN si è evoluto nel corso di un lungo periodo di tempo e, con il miglioramento delle sue funzionalità, sono state create diverse versioni, chiamate "Tipi ERSPAN". I diversi Tipi presentano formati di intestazione di frame differenti.

È definito nel primo campo Versione dell'intestazione ERSPAN:

Versione dell'intestazione ERSPAN

Inoltre, il campo Protocol Type nell'intestazione GRE indica anche il tipo interno di ERSPAN. Il campo Protocol Type 0x88BE indica ERSPAN Tipo II, mentre 0x22EB indica ERSPAN Tipo III.

1. Tipo I

Il frame ERSPAN di Tipo I incapsula IP e GRE direttamente sull'intestazione del frame mirror originale. Questa incapsulazione aggiunge 38 byte al frame originale: 14 (MAC) + 20 (IP) + 4 (GRE). Il vantaggio di questo formato è che ha una dimensione dell'intestazione compatta e riduce il costo di trasmissione. Tuttavia, poiché imposta i campi Flag e Versione GRE a 0, non trasporta alcun campo esteso e il Tipo I non è ampiamente utilizzato, quindi non c'è bisogno di espanderlo ulteriormente.

Il formato dell'intestazione GRE di tipo I è il seguente:

Formato dell'intestazione GRE I

2. Tipo II

Nel Tipo II, i campi C, R, K, S, S, Recur, Flags e Version nell'intestazione GRE sono tutti 0, ad eccezione del campo S. Pertanto, il campo Sequence Number viene visualizzato nell'intestazione GRE del Tipo II. Ciò significa che il Tipo II garantisce l'ordine di ricezione dei pacchetti GRE, impedendo che un numero elevato di pacchetti GRE fuori ordine venga smistato a causa di un guasto di rete.

Il formato dell'intestazione GRE di tipo II è il seguente:

Formato dell'intestazione GRE II

Inoltre, il formato frame ERSPAN di tipo II aggiunge un'intestazione ERSPAN di 8 byte tra l'intestazione GRE e il frame mirror originale.

Il formato dell'intestazione ERSPAN per il Tipo II è il seguente:

Formato dell'intestazione ERSPAN II

Infine, immediatamente dopo il fotogramma originale dell'immagine, si trova il codice standard Ethernet di controllo di ridondanza ciclica (CRC) di 4 byte.

CRC

È importante notare che, nell'implementazione, il frame speculare non contiene il campo FCS del frame originale; al suo posto, viene ricalcolato un nuovo valore CRC basato sull'intero ERSPAN. Ciò significa che il dispositivo ricevente non può verificare la correttezza del CRC del frame originale e possiamo solo presumere che vengano replicati solo i frame non corrotti.

3. Tipo III

Il tipo III introduce un'intestazione composita più ampia e flessibile per affrontare scenari di monitoraggio di rete sempre più complessi e diversificati, tra cui, a titolo esemplificativo, la gestione della rete, il rilevamento delle intrusioni, l'analisi delle prestazioni e dei ritardi e altro ancora. Queste scene devono conoscere tutti i parametri originali del frame speculare e includere quelli non presenti nel frame originale stesso.

L'intestazione composita ERSPAN di tipo III include un'intestazione obbligatoria di 12 byte e una sottointestazione facoltativa di 8 byte specifica per la piattaforma.

Il formato dell'intestazione ERSPAN per il Tipo III è il seguente:

Formato dell'intestazione ERSPAN III

Anche in questo caso, dopo la cornice dello specchio originale c'è un CRC a 4 byte.

CRC

Come si può notare dal formato dell'intestazione di Tipo III, oltre a mantenere i campi Ver, VLAN, COS, T e ID sessione sulla base del Tipo II, vengono aggiunti molti campi speciali, quali:

• BSO: utilizzato per indicare l'integrità del carico dei frame di dati trasmessi tramite ERSPAN. 00 indica un frame valido, 11 un frame non valido, 01 un frame corto, 11 un frame lungo;

• Timestamp: esportato dall'orologio hardware sincronizzato con l'ora di sistema. Questo campo a 32 bit supporta una granularità del timestamp di almeno 100 microsecondi;

• Tipo di frame (P) e Tipo di frame (FT): il primo viene utilizzato per specificare se ERSPAN trasporta frame del protocollo Ethernet (frame PDU), mentre il secondo viene utilizzato per specificare se ERSPAN trasporta frame Ethernet o pacchetti IP.

• ID hardware: identificatore univoco del motore ERSPAN all'interno del sistema;

• Gra (Granularità del timestamp): specifica la granularità del timestamp. Ad esempio, 00B rappresenta una granularità di 100 microsecondi, 01B una granularità di 100 nanosecondi, 10B una granularità IEEE 1588 e 11B richiede sotto-intestazioni specifiche della piattaforma per ottenere una granularità superiore.

• ID piattaforma vs. informazioni specifiche della piattaforma: i campi relativi alle informazioni specifiche della piattaforma presentano formati e contenuti diversi a seconda del valore dell'ID piattaforma.

Indice ID porta

È importante notare che i vari campi di intestazione supportati sopra possono essere utilizzati nelle normali applicazioni ERSPAN, anche per il mirroring di frame di errore o frame BPDU, mantenendo il pacchetto Trunk e l'ID VLAN originali. Inoltre, durante il mirroring, è possibile aggiungere a ciascun frame ERSPAN informazioni chiave relative al timestamp e altri campi informativi.

Grazie alle intestazioni delle funzionalità proprietarie di ERSPAN, possiamo ottenere un'analisi più precisa del traffico di rete e quindi semplicemente montare l'ACL corrispondente nel processo ERSPAN per adattarla al traffico di rete di nostro interesse.

ERSPAN implementa la visibilità delle sessioni RDMA

Prendiamo come esempio l'utilizzo della tecnologia ERSPAN per ottenere la visualizzazione di una sessione RDMA in uno scenario RDMA:

RDMAL'accesso diretto alla memoria remota (Remote Direct Memory Access, DDMA) consente alla scheda di rete del server A di leggere e scrivere nella memoria del server B utilizzando schede di interfaccia di rete (iNIC) e switch intelligenti, garantendo elevata larghezza di banda, bassa latenza e ridotto utilizzo delle risorse. È ampiamente utilizzato in scenari di big data e storage distribuito ad alte prestazioni.

RoCEv2RDMA su Ethernet convergente versione 2. I dati RDMA sono incapsulati nell'intestazione UDP. Il numero di porta di destinazione è 4791.

Il funzionamento e la manutenzione quotidiana di RDMA richiedono la raccolta di una grande quantità di dati, utilizzati per registrare le linee di riferimento giornaliere del livello dell'acqua e gli allarmi di anomalie, nonché come base per l'individuazione di problemi. Grazie alla combinazione con ERSPAN, è possibile acquisire rapidamente enormi quantità di dati per ottenere informazioni sulla qualità di inoltro a livello di microsecondi e sullo stato di interazione del protocollo del chip di commutazione. Attraverso l'analisi statistica dei dati, è possibile ottenere una valutazione e una previsione della qualità di inoltro end-to-end di RDMA.

Per ottenere la visualizzazione delle sessioni RDAM, è necessario che ERSPAN corrisponda alle parole chiave per le sessioni di interazione RDMA durante la replica del traffico e che utilizzi l'elenco esteso degli esperti.

Definizione del campo di corrispondenza dell'elenco esteso a livello esperto:

La UDF è composta da cinque campi: parola chiave UDF, campo base, campo offset, campo valore e campo maschera. Limitato dalla capacità degli ingressi hardware, è possibile utilizzare un totale di otto UDF. Una UDF può corrispondere a un massimo di due byte.

• Parola chiave UDF: UDF1... UDF8 Contiene otto parole chiave del dominio di corrispondenza UDF

• Campo base: identifica la posizione iniziale del campo di corrispondenza UDF. Il seguente

Intestazione L4 (applicabile a RG-S6520-64CQ)

Intestazione L5 (per RG-S6510-48VS8Cq)

• Offset: indica l'offset in base al campo base. Il valore è compreso tra 0 e 126.

• Campo valore: valore di corrispondenza. Può essere utilizzato insieme al campo maschera per configurare il valore specifico da abbinare. Il bit valido è di due byte

• Campo maschera: maschera, il bit valido è due byte

(Nota: se vengono utilizzate più voci nello stesso campo di corrispondenza UDF, i campi base e offset devono essere uguali.)

I due pacchetti chiave associati allo stato della sessione RDMA sono il pacchetto di notifica di congestione (CNP) e il pacchetto di riconoscimento negativo (NAK):

Il primo viene generato dal ricevitore RDMA dopo aver ricevuto il messaggio ECN inviato dallo switch (quando il buffer eout raggiunge la soglia), che contiene informazioni sul flusso o sul QP che causa la congestione. Il secondo viene utilizzato per indicare che la trasmissione RDMA ha un messaggio di risposta di perdita di pacchetti.

Vediamo come abbinare questi due messaggi utilizzando l'elenco esteso di livello esperto:

RDMA CNP

elenco di accesso esperto esteso rdma

permesso udp qualsiasi qualsiasi qualsiasi qualsiasi eq 4791udf 1 l4_header 8 0x8100 0xFF00(Corrispondente a RG-S6520-64CQ)

permesso udp qualsiasi qualsiasi qualsiasi qualsiasi eq 4791udf 1 l5_header 0 0x8100 0xFF00(Corrispondente a RG-S6510-48VS8CQ)

RDMA CNP 2

elenco di accesso esperto esteso rdma

permesso udp qualsiasi qualsiasi qualsiasi qualsiasi eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Corrispondente a RG-S6520-64CQ)

permesso udp qualsiasi qualsiasi qualsiasi qualsiasi eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Corrispondente a RG-S6510-48VS8CQ)

Come ultimo passaggio, è possibile visualizzare la sessione RDMA montando l'elenco delle estensioni expert nel processo ERSPAN appropriato.

Scrivi nell'ultimo

ERSPAN è uno degli strumenti indispensabili nelle reti di data center odierne, sempre più estese, caratterizzate da un traffico di rete sempre più complesso e da requisiti di gestione e manutenzione della rete sempre più sofisticati.

Con il crescente livello di automazione delle operazioni e della manutenzione (O&M), tecnologie come Netconf, RESTconf e gRPC sono sempre più diffuse tra gli studenti di O&M nell'ambito dell'automazione delle reti. L'utilizzo di gRPC come protocollo di base per l'invio del traffico di mirroring offre numerosi vantaggi. Ad esempio, basandosi sul protocollo HTTP/2, supporta il meccanismo di streaming push sulla stessa connessione. Grazie alla codifica ProtoBuf, le dimensioni dei dati si riducono della metà rispetto al formato JSON, rendendo la trasmissione più veloce ed efficiente. Immaginate se, utilizzando ERSPAN, si potessero replicare i flussi di interesse e inviarli al server di analisi tramite gRPC: si migliorerebbe notevolmente la capacità e l'efficienza dell'automazione delle operazioni e della manutenzione della rete.


Data di pubblicazione: 10 maggio 2022