ERSPAN tidigare och nutid för Mylinking™ Network Synlighet

Det vanligaste verktyget för nätverksövervakning och felsökning idag är Switch Port Analyzer (SPAN), även känd som portspegling. Det tillåter oss att övervaka nätverkstrafik i bypass out of band-läge utan att störa tjänster på livenätverket, och skickar en kopia av den övervakade trafiken till lokala eller fjärranslutna enheter, inklusive Sniffer, IDS eller andra typer av nätverksanalysverktyg.

Några typiska användningsområden är:

• Felsök nätverksproblem genom att spåra kontroll/dataramar;

• Analysera latens och jitter genom att övervaka VoIP-paket;

• Analysera latens genom att övervaka nätverksinteraktioner;

• Upptäck avvikelser genom att övervaka nätverkstrafik.

SPAN-trafik kan speglas lokalt till andra portar på samma källenhet, eller fjärrspeglas till andra nätverksenheter som gränsar till lager 2 på källenheten (RSPAN).

Idag ska vi prata om Remote Internet-trafikövervakningsteknik som kallas ERSPAN (Encapsulated Remote Switch Port Analyzer) som kan överföras över tre lager av IP. Detta är en förlängning av SPAN till Encapsulated Remote.

Grundläggande funktionsprinciper för ERSPAN

Låt oss först ta en titt på ERSPANs funktioner:

• En kopia av paketet från källporten skickas till destinationsservern för analys genom Generic Routing Encapsulation (GRE). Den fysiska platsen för servern är inte begränsad.

• Med hjälp av funktionen User Defined Field (UDF) i chippet, utförs varje offset på 1 till 126 byte baserat på Base-domänen genom den utökade listan på expertnivå, och sessionsnyckelorden matchas för att realisera visualiseringen av sessionen, såsom TCP-trevägshandskakning och RDMA-session;

• Stöd inställning av samplingsfrekvens;

• Stöder längd för paketavlyssning (Packet Slicing), vilket minskar trycket på målservern.

Med dessa funktioner kan du se varför ERSPAN är ett viktigt verktyg för att övervaka nätverk i datacenter idag.

ERSPANs huvudfunktioner kan sammanfattas i två aspekter:

• Sessionssynlighet: Använd ERSPAN för att samla in alla skapade nya TCP- och RDMA-sessioner (Remote Direct Memory Access) till back-end-servern för visning;

• Nätverksfelsökning: Fångar nätverkstrafik för felanalys när ett nätverksproblem uppstår.

För att göra detta måste källnätverksenheten filtrera bort trafiken av intresse för användaren från den massiva dataströmmen, göra en kopia och kapsla in varje kopieringsram i en speciell "superframe-behållare" som innehåller tillräckligt med ytterligare information så att den kan vara korrekt dirigerad till den mottagande enheten. Aktivera dessutom den mottagande enheten att extrahera och helt återställa den ursprungliga övervakade trafiken.

Den mottagande enheten kan vara en annan server som stöder dekapsulering av ERSPAN-paket.

Inkapslar ERSPAN-paket

Analysen av ERSPAN-typ och paketformat

ERSPAN-paket kapslas in med GRE och vidarebefordras till valfri IP-adresserbar destination via Ethernet. ERSPAN används för närvarande huvudsakligen på IPv4-nätverk och IPv6-stöd kommer att bli ett krav i framtiden.

För den allmänna inkapslingsstrukturen för ERSAPN är följande en spegelpaketinsamling av ICMP-paket:

inkapslingsstruktur för ERSAPN

ERSPAN-protokollet har utvecklats under lång tid, och med förbättringen av dess kapacitet har flera versioner bildats, kallade "ERSPAN-typer". Olika typer har olika ramhuvudformat.

Det definieras i det första versionsfältet i ERSPAN-huvudet:

ERSPAN header version

Dessutom indikerar fältet Protocol Type i GRE-huvudet också den interna ERSPAN-typen. Fältet Protocol Type 0x88BE indikerar ERSPAN Typ II och 0x22EB indikerar ERSPAN Typ III.

1. Typ I

ERSPAN-ramen av typ I kapslar in IP och GRE direkt över huvudet på den ursprungliga spegelramen. Denna inkapsling lägger till 38 byte över den ursprungliga ramen: 14(MAC) + 20 (IP) + 4(GRE). Fördelen med detta format är att det har en kompakt huvudstorlek och minskar kostnaden för överföring. Men eftersom den ställer in GRE-flagga och versionsfält till 0, innehåller den inga utökade fält och typ I används inte i stor utsträckning, så det finns inget behov av att utöka mer.

GRE-huvudformatet för typ I är som följer:

GRE-huvudformat I

2. Typ II

I typ II är fälten C, R, K, S, S, Recur, Flags och Version i GRE-huvudet alla 0 utom S-fältet. Därför visas fältet Sekvensnummer i GRE-huvudet för typ II. Det vill säga, typ II kan säkerställa ordningen för mottagning av GRE-paket, så att ett stort antal ur-ordnade GRE-paket inte kan sorteras på grund av ett nätverksfel.

GRE-huvudformatet för typ II är som följer:

GRE-huvudformat II

Dessutom lägger ramformatet ERSPAN Typ II till en 8-byte ERSPAN-rubrik mellan GRE-huvudet och den ursprungliga speglade ramen.

ERSPAN-huvudformatet för typ II är följande:

ERSPAN-huvudformat II

Slutligen, omedelbart efter den ursprungliga bildramen, finns standardkoden för 4-byte Ethernet cyklisk redundanskontroll (CRC).

CRC

Det är värt att notera att i implementeringen innehåller spegelramen inte FCS-fältet för den ursprungliga ramen, istället omräknas ett nytt CRC-värde baserat på hela ERSPAN. Detta innebär att den mottagande enheten inte kan verifiera CRC-korrektheten för den ursprungliga ramen, och vi kan bara anta att endast oförstörda ramar speglas.

3. Typ III

Typ III introducerar en större och mer flexibel sammansatt rubrik för att hantera allt mer komplexa och mångsidiga nätverksövervakningsscenarier, inklusive men inte begränsat till nätverkshantering, intrångsdetektering, prestanda- och fördröjningsanalys med mera. Dessa scener behöver känna till alla originalparametrar för spegelramen och inkluderar de som inte finns i själva originalramen.

Den sammansatta rubriken ERSPAN Typ III inkluderar en obligatorisk 12-byte-rubrik och en valfri 8-byte-plattformsspecifik underrubrik.

ERSPAN-huvudformatet för typ III är som följer:

ERSPAN-huvudformat III

Återigen, efter den ursprungliga spegelramen finns en 4-byte CRC.

CRC

Som framgår av rubrikformatet för Typ III, förutom att behålla Ver, VLAN, COS, T och Session ID-fälten på basis av Typ II, läggs många specialfält till, såsom:

• BSO: används för att indikera belastningsintegriteten för dataramar som transporteras genom ERSPAN. 00 är en bra ram, 11 är en dålig ram, 01 är en kort ram, 11 är en stor ram;

• Tidsstämpel: exporteras från hårdvaruklockan synkroniserad med systemtiden. Detta 32-bitarsfält stöder minst 100 mikrosekunders granularitet för tidsstämpel;

• Ramtyp (P) och ramtyp (FT): den förra används för att specificera om ERSPAN bär Ethernet-protokollramar (PDU-ramar), och den senare används för att specificera om ERSPAN bär Ethernet-ramar eller IP-paket.

• HW ID: unik identifierare för ERSPAN-motorn i systemet;

• Gra (tidsstämpelgranularitet): Anger granulariteten för tidsstämpeln. Till exempel representerar 00B 100 mikrosekunders granularitet, 01B 100 nanosekunders granularitet, 10B IEEE 1588 granularitet och 11B kräver plattformsspecifika underrubriker för att uppnå högre granularitet.

• Plattforms-ID vs. plattformsspecifik information: Fälten för plattformsspecifik information har olika format och innehåll beroende på plattforms-ID-värdet.

Port ID Index

Det bör noteras att de olika rubrikfälten som stöds ovan kan användas i vanliga ERSPAN-applikationer, även speglade felramar eller BPDU-ramar, samtidigt som det ursprungliga trunkpaketet och VLAN-ID:t bibehålls. Dessutom kan viktig tidsstämpelinformation och andra informationsfält läggas till varje ERSPAN-bildruta under spegling.

Med ERSPANs egna funktionsrubriker kan vi uppnå en mer förfinad analys av nätverkstrafik och sedan enkelt montera motsvarande ACL i ERSPAN-processen för att matcha nätverkstrafiken vi är intresserade av.

ERSPAN implementerar RDMA-sessionssynlighet

Låt oss ta ett exempel på att använda ERSPAN-teknik för att uppnå RDMA-sessionsvisualisering i ett RDMA-scenario:

RDMA: Remote Direct Memory Access gör det möjligt för nätverksadaptern för server A att läsa och skriva minnet på server B genom att använda intelligenta nätverkskort (inics) och switchar, vilket uppnår hög bandbredd, låg latens och låg resursanvändning. Det används i stor utsträckning i scenarier för big data och högpresterande distribuerad lagring.

RoCEv2: RDMA över konvergerat Ethernet version 2. RDMA-data är inkapslade i UDP-huvudet. Destinationsportnumret är 4791.

Daglig drift och underhåll av RDMA kräver insamling av mycket data, som används för att samla in dagliga vattennivåreferenslinjer och onormala larm, samt underlag för att lokalisera onormala problem. I kombination med ERSPAN kan enorma data snabbt fångas för att erhålla mikrosekunders vidarebefordranskvalitetsdata och protokollinteraktionsstatus för switching chip. Genom datastatistik och analys kan RDMA end-to-end vidarebefordran kvalitetsbedömning och förutsägelse erhållas.

För att uppnå RDAM-sessionsvisualisering behöver vi ERSPAN för att matcha sökord för RDMA-interaktionssessioner när trafik speglar, och vi måste använda den utökade expertlistan.

Definition av matchningsfält för utökad lista på expertnivå:

UDF består av fem fält: UDF nyckelord, basfält, offsetfält, värdefält och maskfält. Begränsad av kapaciteten hos hårdvaruposter kan totalt åtta UDF:er användas. En UDF kan matcha maximalt två byte.

• UDF-nyckelord: UDF1... UDF8 Innehåller åtta nyckelord för den matchande UDF-domänen

• Basfält: identifierar startpositionen för UDF-matchningsfältet. Följande

L4_header (gäller RG-S6520-64CQ)

L5_header (för RG-S6510-48VS8Cq)

• Offset: indikerar offset baserat på basfältet. Värdet sträcker sig från 0 till 126

• Värdefält: matchande värde. Den kan användas tillsammans med maskfältet för att konfigurera det specifika värdet som ska matchas. Den giltiga biten är två byte

• Maskfält: mask, giltig bit är två byte

(Lägg till: Om flera poster används i samma UDF-matchningsfält måste bas- och offsetfälten vara desamma.)

De två nyckelpaketen associerade med RDMA-sessionsstatus är Congestion Notification Packet (CNP) och Negative Acknowledgement (NAK):

Den förra genereras av RDMA-mottagaren efter att ha tagit emot ECN-meddelandet som skickas av switchen (när eout-bufferten når tröskeln), som innehåller information om flödet eller QP som orsakar överbelastning. Den senare används för att indikera att RDMA-överföringen har ett paketförlustsvarsmeddelande.

Låt oss titta på hur man matchar dessa två meddelanden med hjälp av den utökade listan på expertnivå:

RDMA CNP

expertåtkomstlista utökad rdma

tillåt udp vilken som helst vilken som helst vilken som helst eq 4791udf 1 l4_header 8 0x8100 0xFF00(Matchande RG-S6520-64CQ)

tillåt udp vilken som helst vilken som helst vilken som helst eq 4791udf 1 l5_header 0 0x8100 0xFF00(Matchande RG-S6510-48VS8CQ)

RDMA CNP 2

expertåtkomstlista utökad rdma

tillåt udp vilken som helst vilken som helst vilken som helst eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Matchande RG-S6520-64CQ)

tillåt udp vilken som helst vilken som helst vilken som helst eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Matchande RG-S6510-48VS8CQ)

Som ett sista steg kan du visualisera RDMA-sessionen genom att montera experttilläggslistan i lämplig ERSPAN-process.

Skriv in det sista

ERSPAN är ett av de oumbärliga verktygen i dagens allt större datacenternätverk, allt mer komplex nätverkstrafik och allt mer sofistikerade nätverksdrift och underhållskrav.

Med den ökande graden av O&M-automatisering är teknologier som Netconf, RESTconf och gRPC populära bland O&M-studenter inom nätverksautomatisk O&M. Att använda gRPC som underliggande protokoll för att skicka tillbaka spegeltrafik har också många fördelar. Till exempel, baserat på HTTP/2-protokollet, kan det stödja streaming push-mekanismen under samma anslutning. Med ProtoBuf-kodning reduceras storleken på information till hälften jämfört med JSON-format, vilket gör dataöverföringen snabbare och effektivare. Tänk dig bara, om du använder ERSPAN för att spegla intresserade strömmar och sedan skickar dem till analysservern på gRPC, kommer det att avsevärt förbättra förmågan och effektiviteten för nätverkets automatiska drift och underhåll?


Posttid: 10 maj 2022