Lo strumento più comune per il monitoraggio e la risoluzione dei problemi della rete oggi è Switch Port Analyser (SPAN), noto anche come mirroring delle porte. Ci consente di monitorare il traffico di rete in modalità bypass fuori banda senza interferire con i servizi sulla rete attiva e invia una copia del traffico monitorato a dispositivi locali o remoti, inclusi Sniffer, IDS o altri tipi di strumenti di analisi di rete.
Alcuni usi 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.
SPAN Il traffico può essere sottoposto a mirroring locale su altre porte sullo stesso dispositivo di origine o in modalità remota ad altri dispositivi di rete adiacenti al livello 2 del dispositivo di origine (RSPAN).
Oggi parleremo della tecnologia di monitoraggio remoto del traffico Internet chiamata ERSPAN (Encapsulated Remote Switch Port Analyser) che può essere trasmessa su tre livelli IP. Questa è un'estensione di SPAN a Encapsulated Remote.
Principi operativi di base dell'ERSPAN
Innanzitutto, diamo un'occhiata alle funzionalità 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 è limitata.
• Con l'aiuto della funzione User Defined Field (UDF) del chip, qualsiasi offset da 1 a 126 byte viene effettuato in base al dominio di base attraverso l'elenco esteso di livello esperto e le parole chiave della sessione vengono abbinate per realizzare la visualizzazione della sessione, come l'handshake a tre vie TCP e la sessione RDMA;
• Supporto per l'impostazione della frequenza di campionamento;
• Supporta la lunghezza di intercettazione dei pacchetti (Packet Slicing), riducendo la pressione sul server di destinazione.
Con queste funzionalità, puoi capire perché ERSPAN è oggi uno strumento essenziale per monitorare le reti all'interno dei data center.
Le principali funzioni 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 sul server back-end per la visualizzazione;
• Risoluzione dei problemi di rete: acquisisce il traffico di rete per l'analisi degli errori quando si verifica un problema di rete.
Per fare ciò, il dispositivo di rete di origine deve filtrare il traffico di interesse per l'utente dall'enorme flusso di dati, crearne una copia e incapsulare ciascun frame di copia in uno speciale "contenitore superframe" che trasporta informazioni aggiuntive sufficienti in modo che possa essere instradato correttamente al dispositivo ricevente. Inoltre, consenti al dispositivo ricevente di estrarre e recuperare completamente il traffico monitorato originale.
Il dispositivo ricevente può essere un altro server che supporta il decapsulamento dei pacchetti ERSPAN.
L'analisi del tipo e del formato del pacchetto ERSPAN
I pacchetti ERSPAN vengono incapsulati utilizzando GRE e inoltrati a qualsiasi destinazione indirizzabile IP su Ethernet. ERSPAN è attualmente utilizzato principalmente su reti IPv4 e il supporto IPv6 sarà un requisito in futuro.
Per la struttura di incapsulamento generale di ERSAPN, quella che segue è un'acquisizione di pacchetti mirror di pacchetti ICMP:
Inoltre, il campo Tipo di protocollo nell'intestazione GRE indica anche il Tipo ERSPAN interno. Il campo Tipo di protocollo 0x88BE indica ERSPAN Tipo II e 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. Questo incapsulamento 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 i costi di trasmissione. Tuttavia, poiché imposta i campi Flag e Versione GRE su 0, non contiene campi estesi e il Tipo I non è ampiamente utilizzato, quindi non è necessario espandere ulteriormente.
Il formato dell'intestazione GRE di Tipo I è il seguente:
2. Tipo II
Nel Tipo II, i campi C, R, K, S, S, Recur, Flags e Version nell'intestazione GRE sono tutti 0 tranne il campo S. Pertanto, il campo Numero di sequenza viene visualizzato nell'intestazione GRE di Tipo II. Cioè, il Tipo II può garantire l'ordine di ricezione dei pacchetti GRE, in modo che un gran numero di pacchetti GRE fuori ordine non possa essere ordinato a causa di un guasto della rete.
Il formato dell'intestazione GRE di Tipo II è il seguente:
Inoltre, il formato frame ERSPAN Tipo II aggiunge un'intestazione ERSPAN da 8 byte tra l'intestazione GRE e il frame con mirroring originale.
Il formato dell'intestazione ERSPAN per il Tipo II è il seguente:
Infine, immediatamente dopo il frame dell'immagine originale, c'è il codice CRC (Cyclic Redundancy Check) Ethernet standard a 4 byte.
Vale la pena notare che nell'implementazione, il frame dello specchio non contiene il campo FCS del frame originale, ma viene ricalcolato un nuovo valore CRC in base all'intero ERSPAN. Ciò significa che il dispositivo ricevente non può verificare la correttezza CRC del frame originale e possiamo solo supporre che vengano specchiati solo i frame non corrotti.
3. Tipo III
Il tipo III introduce un'intestazione composita più ampia e flessibile per affrontare scenari di monitoraggio della rete sempre più complessi e diversificati, inclusi ma non limitati alla gestione della rete, al rilevamento delle intrusioni, all'analisi delle prestazioni e dei ritardi e altro ancora. Queste scene devono conoscere tutti i parametri originali della cornice dello specchio e includere quelli che non sono presenti nella cornice originale stessa.
L'intestazione composita ERSPAN Tipo III include un'intestazione obbligatoria da 12 byte e un sottointestazione facoltativa specifica della piattaforma da 8 byte.
Il formato dell'intestazione ERSPAN per il Tipo III è il seguente:
Ancora una volta, dopo il frame dello specchio originale c'è un CRC da 4 byte.
Come si può vedere dal formato dell'intestazione del Tipo III, oltre a mantenere i campi Ver, VLAN, COS, T e ID Sessione sulla base del Tipo II, vengono aggiunti molti campi speciali, come:
• BSO: utilizzato per indicare l'integrità del carico dei frame di dati trasportati tramite ERSPAN. 00 è un buon fotogramma, 11 è un brutto fotogramma, 01 è un fotogramma corto, 11 è un fotogramma grande;
• Timestamp: esportato dall'orologio hardware sincronizzato con l'ora del sistema. Questo campo a 32 bit supporta almeno 100 microsecondi di granularità Timestamp;
• Tipo di frame (P) e Tipo di frame (FT): il primo viene utilizzato per specificare se ERSPAN trasporta frame del protocollo Ethernet (frame PDU) e il secondo viene utilizzato per specificare se ERSPAN trasporta frame Ethernet o pacchetti IP.
• HW ID: identificatore univoco del motore ERSPAN all'interno del sistema;
• Gra (granularità 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 sottointestazioni specifiche della piattaforma per ottenere una granularità maggiore.
• ID piattaforma e informazioni specifiche della piattaforma: i campi informazioni specifiche della piattaforma hanno formati e contenuti diversi a seconda del valore ID piattaforma.
Va notato che i vari campi di intestazione supportati sopra possono essere utilizzati nelle normali applicazioni ERSPAN, anche per il mirroring dei frame di errore o dei frame BPDU, pur mantenendo il pacchetto Trunk originale e l'ID VLAN. Inoltre, è possibile aggiungere informazioni chiave sul timestamp e altri campi informativi a ciascun frame ERSPAN durante il mirroring.
Con le intestazioni delle funzionalità proprie di ERSPAN, possiamo ottenere un'analisi più raffinata del traffico di rete e quindi montare semplicemente l'ACL corrispondente nel processo ERSPAN in modo che corrisponda al traffico di rete a cui siamo interessati.
ERSPAN implementa la visibilità della sessione RDMA
Facciamo un esempio dell'utilizzo della tecnologia ERSPAN per ottenere la visualizzazione della sessione RDMA in uno scenario RDMA:
RDMA: L'accesso diretto alla memoria remota consente all'adattatore di rete del server A di leggere e scrivere la memoria del server B utilizzando schede di interfaccia di rete intelligenti (inics) e switch, ottenendo larghezza di banda elevata, bassa latenza e basso utilizzo delle risorse. È ampiamente utilizzato in scenari di big data e storage distribuito ad alte prestazioni.
RoCEv2: RDMA su Converged Ethernet Versione 2. I dati RDMA sono incapsulati nell'intestazione UDP. Il numero della porta di destinazione è 4791.
Il funzionamento e la manutenzione quotidiana di RDMA richiedono la raccolta di molti dati, che vengono utilizzati per raccogliere linee di riferimento giornaliere del livello dell'acqua e allarmi anomali, nonché la base per individuare problemi anomali. In combinazione con ERSPAN, è possibile acquisire rapidamente grandi quantità di dati per ottenere dati di qualità di inoltro in microsecondi e lo stato di interazione del protocollo del chip di commutazione. Attraverso le statistiche e l'analisi dei dati, è possibile ottenere la valutazione e la previsione della qualità dell'inoltro end-to-end RDMA.
Per ottenere la visualizzazione della sessione RDAM, abbiamo bisogno che ERSPAN corrisponda alle parole chiave per le sessioni di interazione RDMA durante il mirroring del traffico e dobbiamo utilizzare l'elenco esteso degli esperti.
Definizione del campo corrispondente all'elenco esteso a livello di esperto:
La UDF è composta da cinque campi: parola chiave UDF, campo base, campo offset, campo valore e campo maschera. Limitati dalla capacità delle voci 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 corrispondente all'UDF
• Campo base: identifica la posizione iniziale del campo di corrispondenza UDF. Il seguente
L4_header (applicabile a RG-S6520-64CQ)
L5_intestazione (per RG-S6510-48VS8Cq)
• Offset: indica l'offset in base al campo base. Il valore varia da 0 a 126
• Campo valore: valore corrispondente. Può essere utilizzato insieme al campo maschera per configurare il valore specifico da abbinare. Il bit valido è due byte
• Campo maschera: maschera, il bit valido è due byte
(Aggiungi: se vengono utilizzate più voci nello stesso campo di corrispondenza UDF, i campi base e offset devono essere gli stessi.)
I due pacchetti chiave associati allo stato della sessione RDMA sono Congestion Notification Packet (CNP) e Negative Acknowledgment (NAK):
Il primo viene generato dal ricevitore RDMA dopo aver ricevuto il messaggio ECN inviato dallo switch (quando l'eout Buffer raggiunge la soglia), che contiene informazioni sul flusso o QP che causa congestione. Quest'ultimo viene utilizzato per indicare che la trasmissione RDMA ha un messaggio di risposta alla perdita di pacchetti.
Diamo un'occhiata a come abbinare questi due messaggi utilizzando l'elenco esteso a livello di esperto:
elenco di accesso esperto rdma esteso
consenti udp qualsiasi qualsiasi qualsiasi qualsiasi eq 4791udf 1 l4_header 8 0x8100 0xFF00(Corrispondente a RG-S6520-64CQ)
consenti udp qualsiasi qualsiasi qualsiasi qualsiasi eq 4791udf 1 l5_header 0 0x8100 0xFF00(Corrispondente a RG-S6510-48VS8CQ)
elenco di accesso esperto rdma esteso
consenti 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)
consenti 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 passaggio finale, è possibile visualizzare la sessione RDMA montando l'elenco delle estensioni expert nel processo ERSPAN appropriato.
Scrivi nell'ultimo
ERSPAN è uno degli strumenti indispensabili nelle odierne reti di data center sempre più grandi, nel traffico di rete sempre più complesso e nei requisiti di funzionamento e manutenzione della rete sempre più sofisticati.
Con il crescente grado di automazione dell'O&M, tecnologie come Netconf, RESTconf e gRPC sono popolari tra gli studenti di O&M nell'O&M automatico di rete. Anche l'utilizzo di gRPC come protocollo sottostante per l'invio del traffico mirror presenta numerosi vantaggi. Ad esempio, basato sul protocollo HTTP/2, può supportare il meccanismo di streaming push nella stessa connessione. Con la codifica ProtoBuf, la dimensione delle informazioni viene ridotta della metà rispetto al formato JSON, rendendo la trasmissione dei dati più rapida ed efficiente. Immagina, se utilizzi ERSPAN per eseguire il mirroring dei flussi interessati e quindi inviarli al server di analisi su gRPC, migliorerà notevolmente la capacità e l'efficienza del funzionamento e della manutenzione automatici della rete?
Orario di pubblicazione: 10 maggio 2022