Najpopularniejszym narzędziem do monitorowania sieci i rozwiązywania problemów jest dziś Switch Port Analyzer (SPAN), znany również jako Port mirroring. Umożliwia on monitorowanie ruchu sieciowego 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, IDS lub innych typów 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;
• Wykrywaj anomalie 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 zwanej 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 ERSPAN
Przyjrzyjmy się najpierw 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 User Defined Field (UDF) układu scalonego każde przesunięcie od 1 do 126 bajtów jest wykonywane na podstawie domeny bazowej poprzez rozszerzoną listę na poziomie eksperckim, a słowa kluczowe sesji są dopasowywane w celu realizacji wizualizacji sesji, takiej jak trzyetapowe uzgadnianie TCP i sesja RDMA;
• Obsługa ustawiania 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, wykonać kopię i zakapsułkować każdą ramkę kopii w specjalnym „kontenerze superramki”, który zawiera wystarczającą ilość dodatkowych informacji, aby można było ją prawidłowo skierować do urządzenia odbiorczego. Ponadto należy umożliwić urządzeniu odbiorczemu wyodrębnienie i pełne odzyskanie oryginalnego monitorowanego ruchu.
Urządzeniem odbiorczym może być inny serwer obsługujący dekapsulację pakietów ERSPAN.
Analiza typu i formatu pakietu ERSPAN
Pakiety ERSPAN są kapsułkowane przy użyciu GRE i przekazywane do dowolnego adresowalnego miejsca docelowego 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ę kapsułkowania protokołu ERSAPN, czyli lustrzane przechwycenie pakietów ICMP:
Ponadto pole Protocol Type w nagłówku GRE wskazuje również wewnętrzny typ ERSPAN. Pole Protocol Type 0x88BE wskazuje typ ERSPAN II, a 0x22EB wskazuje 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 to, że ma kompaktowy rozmiar nagłówka i zmniejsza koszt transmisji. Jednak ponieważ ustawia pola flagi GRE i wersji na 0, nie przenosi żadnych rozszerzonych pól, a typ I nie jest szeroko stosowany, więc 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 są wszystkie równe 0, z wyjątkiem pola S. Dlatego pole Sequence Number jest wyświetlane w nagłówku GRE typu II. Oznacza to, że typ II może zapewnić kolejność otrzymywania pakietów GRE, tak aby duża liczba nieuporządkowanych pakietów GRE nie mogła zostać posortowana z powodu awarii sieci.
Format nagłówka GRE typu II wygląda następująco:
Ponadto format ramki ERSPAN typu II dodaje 8-bajtowy nagłówek ERSPAN pomiędzy nagłówkiem GRE a 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 oryginalnej ramki, 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 oryginalnej ramki i możemy jedynie założyć, że lustrzane są tylko nieuszkodzone ramki.
3. Typ III
Typ III wprowadza większy i bardziej elastyczny nagłówek złożony, aby sprostać coraz bardziej złożonym i zróżnicowanym scenariuszom monitorowania sieci, w tym, ale nie wyłącznie, zarządzaniu siecią, wykrywaniu włamań, analizie wydajności i opóźnień i nie tylko. Sceny te muszą znać wszystkie oryginalne parametry ramki lustrzanej i obejmować te, które nie występują w samej ramce oryginalnej.
Nagłówek kompozytowy ERSPAN typu III obejmuje obowiązkowy nagłówek 12-bajtowy i opcjonalny podnagłówek 8-bajtowy, specyficzny dla danej platformy.
Format nagłówka ERSPAN dla typu III jest następujący:
Ponownie, po oryginalnej ramce lustrzanej następuje 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 dobra 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 co najmniej 100 mikrosekund granularności znaku czasu;
• 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 granularność 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 zawierające informacje specyficzne 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 zwykłych aplikacjach ERSPAN, nawet w lustrzanym odbiciu 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 mogą być dodawane 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ę 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: Remote Direct Memory Access umożliwia karcie sieciowej serwera A odczytywanie i zapisywanie pamięci serwera B za pomocą inteligentnych kart interfejsu sieciowego (inics) i przełączników, co zapewnia wysoką przepustowość, niskie opóźnienie i niskie wykorzystanie zasobów. Jest szeroko stosowany w scenariuszach dużych danych i wysokowydajnej pamięci rozproszonej.
RoCEv2: RDMA przez Converged Ethernet Wersja 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 zbierania codziennych linii odniesienia poziomu wody i alarmów nieprawidłowych, a także stanowią podstawę do lokalizowania nieprawidłowych problemów. W połączeniu z ERSPAN można szybko przechwycić ogromne ilości danych, aby uzyskać mikrosekundowe dane o jakości przekazywania i status interakcji protokołu układu przełączającego. Poprzez statystyki danych i analizę można uzyskać kompleksową ocenę jakości przekazywania RDMA i prognozę.
Aby uzyskać wizualizację sesji RDAM, potrzebujemy narzędzia ERSPAN do dopasowywania słów kluczowych do sesji interakcji RDMA podczas kopiowania ruchu i musimy użyć rozszerzonej listy eksperckiej.
Definicja pola dopasowania rozszerzonej listy na poziomie eksperckim:
UDF składa się z pięciu pól: słowa kluczowego UDF, pola bazowego, pola przesunięcia, pola wartości i pola maski. Ograniczone pojemnością wpisów sprzętowych, można użyć łącznie ośmiu UDF. Jeden UDF może pasować maksymalnie do dwóch bajtów.
• Słowo kluczowe UDF: UDF1... UDF8 Zawiera osiem słów kluczowych domeny dopasowania UDF
• Pole bazowe: identyfikuje pozycję początkową pola dopasowania UDF. Następujące
Nagłówek L4 (dotyczy RG-S6520-64CQ)
Nagłówek L5 (dla RG-S6510-48VS8Cq)
• Offset: wskazuje offset na podstawie pola bazowego. Wartość mieści się w zakresie od 0 do 126
• Pole wartości: pasująca wartość. 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 bazowe i przesunięcia muszą być takie same.)
Dwa kluczowe pakiety powiązane ze stanem sesji RDMA to pakiet powiadomienia o przeciążeniu (CNP) i pakiet negatywnego potwierdzenia (NAK):
Pierwszy jest generowany przez odbiornik RDMA po odebraniu komunikatu ECN wysłanego przez przełącznik (gdy bufor eout 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 ma komunikat odpowiedzi na utratę pakietu.
Przyjrzyjmy się, jak dopasować te dwie wiadomości, korzystając z rozszerzonej listy na poziomie eksperckim:
lista dostępu eksperckiego rozszerzona 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 nagłówek l5 0 0x8100 0xFF00(Pasuje do RG-S6510-48VS8CQ)
lista dostępu eksperckiego rozszerzona 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 i 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 są popularne wśród studentów O&M w automatycznej sieciowej O&M. Używanie gRPC jako podstawowego protokołu 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 push w ramach tego samego połączenia. Dzięki kodowaniu ProtoBuf rozmiar informacji jest zmniejszony o połowę w porównaniu do formatu JSON, co sprawia, że transmisja danych jest szybsza i bardziej wydajna. Wyobraź sobie, że jeśli użyjesz ERSPAN do lustrzanego odbicia interesujących strumieni, a następnie wyślesz je do serwera analizy w gRPC, czy znacznie poprawi to zdolność i wydajność automatycznej obsługi i konserwacji sieci?
Czas publikacji: 10-05-2022