Najpopularniejszym obecnie narzędziem do monitorowania i rozwiązywania problemów sieciowych jest Switch Port Analyzer (SPAN), znany również jako Port Mirroring. Pozwala on monitorować ruch sieciowy w trybie bypass out of band bez zakłócania usług w aktywnej sieci i wysyła kopię monitorowanego ruchu do urządzeń lokalnych lub zdalnych, w tym Snifferów, IDS i innych narzędzi do analizy sieci.
Oto niektóre typowe zastosowania:
• Rozwiązywanie problemów sieciowych poprzez śledzenie ramek sterujących/danych;
• Analizuj opóźnienia i drgania poprzez monitorowanie pakietów VoIP;
• Analizowanie opóźnień poprzez monitorowanie interakcji sieciowych;
• Wykrywanie anomalii poprzez monitorowanie ruchu sieciowego.
Ruch SPAN może być lokalnie kopiowany do innych portów tego samego urządzenia źródłowego lub zdalnie kopiowany do innych urządzeń sieciowych sąsiadujących z warstwą 2 urządzenia źródłowego (RSPAN).
Dzisiaj porozmawiamy o technologii zdalnego monitorowania ruchu internetowego o nazwie ERSPAN (Encapsulated Remote Switch Port Analyzer), która może być przesyłana przez trzy warstwy IP. Jest to rozszerzenie SPAN do Encapsulated Remote.
Podstawowe zasady działania systemu ERSPAN
Najpierw przyjrzyjmy się funkcjom ERSPAN:
• Kopia pakietu z portu źródłowego jest wysyłana do serwera docelowego w celu analizy przez Generic Routing Encapsulation (GRE). Fizyczna lokalizacja serwera nie jest ograniczona.
• Dzięki funkcji UDF (User Defined Field) układu scalonego każde przesunięcie od 1 do 126 bajtów jest wykonywane na podstawie domeny bazowej za pomocą rozszerzonej listy na poziomie eksperckim, a słowa kluczowe sesji są dopasowywane w celu realizacji wizualizacji sesji, takiej jak trójstronne uzgadnianie TCP i sesja RDMA;
• Obsługa ustawień częstotliwości próbkowania;
• Obsługuje długość przechwytywania pakietów (Packet Slicing), zmniejszając obciążenie serwera docelowego.
Dzięki tym funkcjom można zrozumieć, dlaczego ERSPAN jest dziś niezbędnym narzędziem do monitorowania sieci w centrach danych.
Główne funkcje ERSPAN można podsumować w dwóch aspektach:
• Widoczność sesji: Użyj ERSPAN, aby zebrać wszystkie utworzone nowe sesje TCP i zdalnego bezpośredniego dostępu do pamięci (RDMA) na serwerze zaplecza w celu wyświetlenia;
• Rozwiązywanie problemów sieciowych: rejestruje ruch sieciowy w celu analizy błędów w przypadku wystąpienia problemu z siecią.
Aby to zrobić, źródłowe urządzenie sieciowe musi odfiltrować ruch interesujący użytkownika z ogromnego strumienia danych, utworzyć kopię i hermetyzować każdą ramkę kopii w specjalnym „kontenerze superramki”, który zawiera wystarczającą ilość dodatkowych informacji, aby można ją było poprawnie skierować do urządzenia odbiorczego. Ponadto, urządzenie odbiorcze musi umożliwić wyodrębnienie i pełne odzyskanie oryginalnego monitorowanego ruchu.
Urządzeniem odbiorczym może być inny serwer obsługujący dekapsułkowanie pakietów ERSPAN.
Analiza typu i formatu pakietu ERSPAN
Pakiety ERSPAN są kapsułkowane za pomocą protokołu GRE i przesyłane do dowolnego adresu IP przez Ethernet. ERSPAN jest obecnie używany głównie w sieciach IPv4, a obsługa IPv6 będzie wymagana w przyszłości.
Poniżej przedstawiono ogólną strukturę enkapsulacji protokołu ERSAPN, odzwierciedlającą przechwytywanie pakietów ICMP:
Dodatkowo pole „Typ protokołu” w nagłówku GRE wskazuje również wewnętrzny typ protokołu ERSPAN. Pole „Typ protokołu” 0x88BE oznacza typ ERSPAN II, a pole „Typ protokołu” 0x22EB oznacza typ ERSPAN III.
1. Typ I
Ramka ERSPAN typu I kapsułkuje IP i GRE bezpośrednio nad nagłówkiem oryginalnej ramki lustrzanej. Ta kapsułka dodaje 38 bajtów do oryginalnej ramki: 14 (MAC) + 20 (IP) + 4 (GRE). Zaletą tego formatu jest kompaktowy rozmiar nagłówka i niższy koszt transmisji. Ponieważ jednak ustawia pola flagi i wersji GRE na 0, nie zawiera on żadnych pól rozszerzonych, a typ I nie jest powszechnie używany, nie ma potrzeby dalszego rozszerzania.
Format nagłówka GRE typu I jest następujący:
2. Typ II
W typie II pola C, R, K, S, S, Recur, Flags i Version w nagłówku GRE mają wartość 0, z wyjątkiem pola S. Dlatego w nagłówku GRE typu II wyświetlane jest pole numeru sekwencyjnego. Oznacza to, że typ II może zapewnić kolejność odbioru pakietów GRE, uniemożliwiając posortowanie dużej liczby nieuporządkowanych pakietów GRE z powodu awarii sieci.
Format nagłówka GRE typu II jest następujący:
Ponadto format ramki ERSPAN typu II dodaje 8-bajtowy nagłówek ERSPAN pomiędzy nagłówkiem GRE i oryginalną lustrzaną ramką.
Format nagłówka ERSPAN dla typu II jest następujący:
Na końcu, tuż po oryginalnej klatce obrazu, znajduje się standardowy 4-bajtowy kod kontroli nadmiarowości cyklicznej (CRC) sieci Ethernet.
Warto zauważyć, że w implementacji, ramka lustrzana nie zawiera pola FCS ramki oryginalnej, zamiast tego nowa wartość CRC jest przeliczana na podstawie całego ERSPAN. Oznacza to, że urządzenie odbiorcze nie może zweryfikować poprawności CRC ramki oryginalnej i możemy jedynie założyć, że lustrzane są tylko ramki bez uszkodzeń.
3. Typ III
Typ III wprowadza większy i bardziej elastyczny nagłówek kompozytowy, aby sprostać coraz bardziej złożonym i zróżnicowanym scenariuszom monitorowania sieci, obejmującym między innymi zarządzanie siecią, wykrywanie włamań, analizę wydajności i opóźnień oraz wiele innych. Sceny te muszą znać wszystkie oryginalne parametry ramki lustrzanej, a także te, których nie ma w samej ramce.
Nagłówek kompozytowy ERSPAN typu III obejmuje obowiązkowy nagłówek 12-bajtowy i opcjonalny podnagłówek 8-bajtowy, zależny od platformy.
Format nagłówka ERSPAN dla typu III jest następujący:
Ponownie, po oryginalnej ramce lustrzanej znajduje się 4-bajtowy CRC.
Jak widać z formatu nagłówka typu III, oprócz zachowania pól Ver, VLAN, COS, T i Session ID na podstawie typu II, dodawanych jest wiele pól specjalnych, takich jak:
• BSO: służy do wskazania integralności obciążenia ramek danych przesyłanych przez ERSPAN. 00 to prawidłowa ramka, 11 to zła ramka, 01 to krótka ramka, 11 to duża ramka;
• Znak czasu: eksportowany z zegara sprzętowego zsynchronizowanego z czasem systemowym. To 32-bitowe pole obsługuje granularność znaku czasu co najmniej 100 mikrosekund;
• Typ ramki (P) i Typ ramki (FT): pierwszy służy do określenia, czy ERSPAN przenosi ramki protokołu Ethernet (ramki PDU), a drugi do określenia, czy ERSPAN przenosi ramki Ethernet, czy pakiety IP.
• HW ID: unikalny identyfikator silnika ERSPAN w systemie;
• Gra (granularność znacznika czasu): Określa granularność znacznika czasu. Na przykład, 00B oznacza granularność 100 mikrosekund, 01B – 100 nanosekund, 10B – granularność IEEE 1588, a 11B wymaga specyficznych dla platformy podnagłówków, aby osiągnąć wyższą granularność.
• Identyfikator platformy a informacje specyficzne dla platformy: Pola z informacjami specyficznymi dla platformy mają różne formaty i zawartość w zależności od wartości identyfikatora platformy.
Należy zauważyć, że różne pola nagłówka obsługiwane powyżej mogą być używane w standardowych aplikacjach ERSPAN, nawet w przypadku lustrzanego odbicia ramek błędów lub ramek BPDU, przy zachowaniu oryginalnego pakietu Trunk i identyfikatora VLAN. Ponadto, kluczowe informacje o znaczniku czasu i inne pola informacyjne można dodać do każdej ramki ERSPAN podczas lustrzanego odbicia.
Dzięki własnym nagłówkom funkcji ERSPAN możemy przeprowadzić bardziej szczegółową analizę ruchu sieciowego, a następnie po prostu zamontować odpowiednią listę kontroli dostępu (ACL) w procesie ERSPAN, dostosowując ją do interesującego nas ruchu sieciowego.
ERSPAN wdraża widoczność sesji RDMA
Przyjrzyjmy się przykładowi wykorzystania technologii ERSPAN do wizualizacji sesji RDMA w scenariuszu RDMA:
RDMA: Zdalny bezpośredni dostęp do pamięci umożliwia karcie sieciowej serwera A odczyt i zapis pamięci serwera B za pomocą inteligentnych kart sieciowych (INIC) i przełączników, zapewniając wysoką przepustowość, niskie opóźnienia i niskie wykorzystanie zasobów. Jest on szeroko stosowany w środowiskach Big Data i wysokowydajnych rozproszonych pamięci masowych.
RoCEv2:RDMA przez konwergentny Ethernet w wersji 2. Dane RDMA są kapsułkowane w nagłówku UDP. Numer portu docelowego to 4791.
Codzienna obsługa i konserwacja RDMA wymaga gromadzenia dużej ilości danych, które służą do wyznaczania dziennych linii odniesienia poziomu wody i alarmów o nieprawidłowościach, a także do lokalizowania nietypowych problemów. W połączeniu z ERSPAN, ogromne ilości danych mogą być szybko gromadzone, co pozwala na uzyskanie mikrosekundowych danych o jakości przesyłania danych oraz statusu interakcji protokołów układu przełączającego. Dzięki statystykom i analizie danych, można uzyskać kompleksową ocenę i prognozę jakości przesyłania danych RDMA.
Aby uzyskać wizualizację sesji RDAM, potrzebujemy narzędzia ERSPAN do dopasowywania słów kluczowych do sesji interakcji RDMA podczas odzwierciedlania ruchu, a także musimy użyć rozszerzonej listy ekspertów.
Definicja pola dopasowania rozszerzonej listy na poziomie eksperckim:
Funkcja UDF składa się z pięciu pól: słowa kluczowego UDF, pola bazowego, pola przesunięcia, pola wartości i pola maski. Z uwagi na ograniczenia wynikające z pojemności wpisów sprzętowych, można użyć łącznie ośmiu funkcji UDF. Jedna funkcja UDF może dopasować maksymalnie dwa bajty.
• Słowo kluczowe UDF: UDF1... UDF8 Zawiera osiem słów kluczowych domeny dopasowania UDF
• Pole bazowe: identyfikuje pozycję początkową pola dopasowania UDF. Poniżej
Nagłówek L4 (dotyczy RG-S6520-64CQ)
Złącze nagłówkowe L5 (dla RG-S6510-48VS8Cq)
• Przesunięcie: wskazuje przesunięcie na podstawie pola bazowego. Zakres wartości wynosi od 0 do 126.
• Pole wartości: wartość dopasowania. Można go używać razem z polem maski, aby skonfigurować konkretną wartość do dopasowania. Prawidłowy bit to dwa bajty.
• Pole maski: maska, prawidłowy bit to dwa bajty
(Dodaj: Jeśli w tym samym polu dopasowania UDF użyto wielu wpisów, pola bazy i przesunięcia muszą być takie same.)
Dwoma kluczowymi pakietami powiązanymi ze stanem sesji RDMA są pakiet powiadomienia o przeciążeniu (CNP) i pakiet potwierdzenia negatywnego (NAK):
Pierwszy z nich jest generowany przez odbiornik RDMA po odebraniu komunikatu ECN wysłanego przez przełącznik (gdy bufor wyjściowy osiągnie próg), który zawiera informacje o przepływie lub QP powodującym przeciążenie. Drugi jest używany do wskazania, że transmisja RDMA zawiera komunikat odpowiedzi o utracie pakietu.
Przyjrzyjmy się, jak dopasować te dwie wiadomości, korzystając z rozszerzonej listy na poziomie eksperckim:
rozszerzona lista dostępu eksperta RDMA
zezwól na udp dowolny dowolny dowolny dowolny eq 4791udf 1 l4_header 8 0x8100 0xFF00(Pasuje do RG-S6520-64CQ)
zezwól na udp dowolny dowolny dowolny dowolny eq 4791udf 1 l5_header 0 0x8100 0xFF00(Pasuje do RG-S6510-48VS8CQ)
rozszerzona lista dostępu eksperta RDMA
zezwól na udp dowolny dowolny dowolny dowolny eq 4791udf 1 nagłówek l4 8 0x1100 0xFF00 udf 2 nagłówek l4 20 0x6000 0xFF00(Pasuje do RG-S6520-64CQ)
zezwól na udp dowolny dowolny dowolny dowolny eq 4791udf 1 nagłówek l5 0 0x1100 0xFF00 udf 2 nagłówek l5 12 0x6000 0xFF00(Pasuje do RG-S6510-48VS8CQ)
Ostatnim krokiem jest wizualizacja sesji RDMA poprzez zamontowanie listy rozszerzeń ekspertów w odpowiednim procesie ERSPAN.
Napisz na końcu
ERSPAN to jedno z niezbędnych narzędzi w obliczu coraz większych sieci centrów danych, coraz bardziej złożonego ruchu sieciowego oraz coraz bardziej złożonych wymagań dotyczących eksploatacji i konserwacji sieci.
Wraz ze wzrostem stopnia automatyzacji O&M, technologie takie jak Netconf, RESTconf i gRPC cieszą się popularnością wśród studentów O&M w zakresie automatycznej obsługi i utrzymania sieci. Wykorzystanie gRPC jako protokołu bazowego do odsyłania ruchu lustrzanego ma również wiele zalet. Na przykład, bazując na protokole HTTP/2, może obsługiwać mechanizm przesyłania strumieniowego w ramach tego samego połączenia. Dzięki kodowaniu ProtoBuf rozmiar informacji jest zmniejszony o połowę w porównaniu z formatem JSON, co przyspiesza i usprawnia transmisję danych. Wyobraź sobie, że użycie ERSPAN do lustrzanego odbicia interesujących strumieni, a następnie przesłanie ich do serwera analizy w gRPC, znacznie poprawi możliwości i wydajność automatycznej obsługi i konserwacji sieci.
Czas publikacji: 10 maja 2022 r.