|
(dzisiejszy temat to prawidziwa petarda!)
|
|
|
|
Cześć i czołem 👋
Udanego NSSletterowego wtorku!
Święta, święta i po świętach. Można z pełnym brzuchem usiąść do kolejnego wydania NSSlettera. Dzisiejszy temat to prawdziwa petarda 🧨 - wierzymy, że przypadnie Ci do gustu 🙂
Zapraszamy do lektury.
|
|
|
|
Jak wyłapać microbursts w Wiresharku?
|
|
|
Na łamach “Na Styku Sieci” opisywaliśmy już różne problemy w sieci, takie jak routing asymetryczny, unicast flooding, out-of-order packets i micro-bursts. Może kiedyś zetknąłeś się z nimi i zastanawiałeś się zatem jak je wykryć w realnej sytuacji?
Często w programach do monitorowania sieci NMS jak np. Cacti, Grafana itd. nie będziesz w stanie wykryć micro-bursts ze względu na to, że domyślny interwał czasowy to 1 minuta lub 1 sekunda. Czasy te są za duże, aby zaobserwować peak ruchu w milisekundach. I tutaj na pomoc przychodzi niezawodny Wireshark.
Poza pokazaniem przeciążenia portu nie ma żadnych innych danych wyjściowych, których można by użyć do udowodnienia micro-burstu. Jeśli uda nam się przechwycić ruch i pokazać go w programie Wireshark, możemy pokazać micro-bursty na wykresie I/O.
|
|
|
|
Zidentyfikuj interfejs, na którym występują przyrostowe spadki wydajności. Na przykład, zauważono spadki wydajności na łączu 1 Gbps, podczas gdy średnie wykorzystanie łącza wynosi tylko 150 Mbps.
Opcje scenariusza testowania:
- W realnej sieci gdzie występuje problem skonfigurować na przełączniku mirror egress w celu przechwycenia ruchu transmitowanego (TX). W celu przechwycenia tego ruchu należy podłączyć komputer PC z programem Wireshark i przechwycić pakiety na porcie docelowym lustrzanego odbicia.
- W sieci testowej, gdzie tylko chcemy pokazać jak można wykrywać i obserwować micro-bursts można do ich symulowania użyć programu do pomiaru parametrów sieci - iperf. W tym poradniku użyję opcji 2 aby tylko pokazać Ci jak to działa, gdyż nie mam dostępu do “produkcyjnej” sieci, w której ten problem występuje.
Do sieci podłączam zatem dwa PC między którymi wygeneruję i przechwycę ruch (np za pomocą SPAN).
Uruchamianie serwera na PC 1:
|
|
|
|
Uruchamianie klienta na PC2, ze specjalnymi opcjami:
- -t1 oznacza czas w sekundach, ustawiony na wartość 1 sekundy
- -i1 oznacza interwał wyjściowy w sekundach, ustawiony na wartość 1 sekundy
- -b oznacza bandwidth ustawiony na wartość 1000M
|
|
|
|
iperf3 -c [adres IP serwera] -t1 -i1 -b 1000M
|
|
|
|
Powyżej ustawione parametry dodatkowe nie są niezbędne, lecz pomogą nam później lepiej zobaczyć ruch na wykresie.
Otwórz przechwycony już wcześniej plik .pcap / .pcapng lub zacznij przechwytywanie w czasie rzeczywistym z interfejsu sieciowego w Twoim urządzeniu w programie Wireshark i wyświetl wykres I/O:
|
|
|
Odczytywanie wykresu I/O z menu Statystyka > I/O Graphs
|
|
|
Przy domyślnej skali wydaje się, że nie występuje ruch rozproszony. Jednak jedna sekunda to bardzo duży przedział czasu, jeśli weźmie się pod uwagę szybkość buforowania i przełączania pakietów. W ciągu jednej sekundy łącze o przepustowości 1 Gb/s może przyjąć 1000 Mb ruchu przez interfejs przy minimalnej potrzebie buforowania pakietów.
|
|
|
Ustawianie wartości na bity na osi Y wykresu.
|
|
|
Jeśli jednak większa część tego ruchu próbuje opuścić interfejs w ciągu ułamka sekundy, przełącznik musi szeroko buforować pakiety i porzucać je, gdy bufory są pełne. Jeśli skala będzie bardziej szczegółowa, uzyskamy dokładniejszy obraz rzeczywistego profilu ruchu. Zmień oś Y na bity, ponieważ interfejsy pokazują szybkość transmisji w bitach/sek.
Szybkość łącza wynosi 1 Gb/s = 1 000 000 000 bitów/s = 1 000 000 bitów/0,001 s
Przelicz skale na osiach X i Y. Zmień interwał zaznaczania na oś X=0,001 s, a skalę na oś Y=bity.
|
|
|
Ustawianie interwału przechwytywania na 1 ms aby można było zidentyfikować microbursty.
|
|
|
Przewiń wykres w celu zidentyfikowania nagłych wzrostów ruchu. W tym przykładzie widać, że natężenie ruchu przekroczyło 1 000 000 bitów w skali 0,001 sekundy. Potwierdza to, że ruch jest gwałtowny na poziomie poniżej sekundy i oczekuje się, że zostanie porzucony przez przełącznik, gdy bufory zostaną zapełnione w celu obsłużenia takich impulsów:
|
|
|
Zaobserwowane bursty, wraz z ich czasem trwania i skalą w bitach / 1 ms.
|
|
|
Kliknij peak ruchu na wykresie, aby wyświetlić ten pakiet w przechwycie Wireshark. Analiza przechwytywania jest użytecznym sposobem odkrywania, jaki ruch składa się na dane skoki:
|
|
|
Odczytanie informacji z konkretnego skoku wraz z odnośnikiem czasowym, alby zidentyfikować co jest źródłem danego ruchu.
|
|
|
Narzędzie Regex Vis
Budowa wyrażeń regularnych (REGEX) przyprawia Cię o zawrót głowy? Regex Vis to proste i przydatne narzędzie pozwalające rozpracować temat wizualnie. Bardzo poprawia zrozumienie najczęściej wykorzystywanych wyrażeń.
|
|
|
|
Gdzie przechwytywać pakiety?
Analiza pakietów to kluczowe narzędzie dla inżynierów sieci. Wybór punktu i metody przechwytywania pakietów zależą jednak od indywidualnych potrzeb. Wśród dostępnych możliwości są takie jak TAP, narzędzia wbudowane w urządzenia czy programy typu tcpdump.
|
|
|
|
Relacja między Administratorami Sieci oraz SysAdminami to klasyczna definicja "love/hate relationship". Nie mogą żyć bez siebie, ale to zawsze ten drugi jest winny 😂
|
|
|
|
Chcesz podzielić się z kimś tym wydaniem NSSlettera? Wystarczy, że skopiujesz i wkleisz link poniżej:
|
|
|
Do zobaczenia za tydzień 👋
Pozdrawiam, Damian Michalak
|
|
|
|
|