Opóźnienie sieciowe jest często wrogiem numer jeden administratorów sieci. Wygląda na to, że skrada się wszędzie i zawsze uderza cię, gdy najmniej go potrzebujesz. Z drugiej strony, prawdopodobnie nigdy go nie potrzebujesz. Opóźnienie może sprawić, że Twoja sieć będzie ledwo użyteczna. Co więc można z tym zrobić? Krok pierwszy to odkrycie opóźnień. Następnie musisz go zmierzyć i zlokalizować. Tylko wtedy będziesz w stanie coś zrobić, aby go rozwiązać. Aby Ci pomóc, przygotowaliśmy listę narzędzi do testowania opóźnień w sieci, które mogą pomóc w wykrywaniu i mierzeniu problemów z opóźnieniami.
Zanim zaczniemy, postaramy się wyjaśnić, czym jest opóźnienie i co je powoduje. Pomoże to lepiej zrozumieć, jak różne narzędzia mogą pomóc. Zbadamy również znaczenie opóźnień i ich wpływ na wykorzystanie sieci. Następnie przyjrzymy się, jak możemy mierzyć opóźnienie sieci. A ponieważ bezużyteczne jest znajdowanie i mierzenie opóźnień, jeśli nic z tym nie zostanie zrobione, omówimy również redukcję opóźnień w sieci. Będziemy wtedy gotowi do zaprezentowania naszej listy najlepszych narzędzi do testowania opóźnień w sieci. Przekonasz się jednak, że to nie tylko lista, ale także krótko omawiamy każde z narzędzi.
Co to jest opóźnienie sieci?
W jednym zdaniu, opóźnienie sieci jest miarą czasu potrzebnego na dotarcie pakietu danych ze źródła do miejsca docelowego. W idealnym świecie nie byłoby opóźnień. Ale w rzeczywistości zawsze będą jakieś. I chociaż opóźnienia są nieuniknione, zawsze należy się upewnić, że nie stają się one tak ważne, aby zaczęły wpływać na normalne działanie sieci.
Kilka czynników przyczynia się do opóźnienia. Po pierwsze, jest czas propagacji. Chociaż sieci są szybkie, a bity przemieszczają się z prędkością światła, dotarcie do celu nadal zajmuje trochę czasu. A im dłuższa ścieżka, tym więcej czasu zajmie. Z tego powodu opóźnienie między dwoma komputerami znajdującymi się tysiące mil od siebie będzie zwykle większe niż między komputerami w tym samym pomieszczeniu.
Innym czynnikiem, który się przyczynia, jest opóźnienie transmisji. Jest to opóźnienie, które może zostać wprowadzone przez samo medium. Wynika to również z rozmiaru pakietów danych. Większe pakiety będą miały większe opóźnienie, ponieważ ich dostarczenie zajmie więcej czasu.
Router i inne opóźnienia przetwarzania są również źródłem opóźnień w sieci. Nawet w rzadko używanych obwodach, w których nie ma kolejkowania, każdy router musi manipulować danymi. Na przykład pole nagłówka TTL musi zostać zmniejszone.
W rzeczywistości o wiele więcej opóźnień może wpływać na transmisję danych. Możemy pomyśleć o opóźnieniach kolejkowania, które mają miejsce, gdy danych nie można wysłać natychmiast, lub o opóźnieniu przechowywania, gdy trzeba je buforować na dysku lub w pamięci, a następnie odzyskać.
Monitor opóźnień
Pomiar opóźnienia może być bardziej skomplikowany, niż się wydaje. Dotyczy to w szczególności pomiaru opóźnienia między bardzo odległymi punktami. Powodów jest kilka, ale wynika to głównie z faktu, że nawet duże opóźnienie jest wciąż stosunkowo krótkie, rzędu kilku tysięcznych sekundy. Nie możesz tak naprawdę zadzwonić do swojego przyjaciela na drugim końcu i powiedzieć mu „OK, wysyłam ci pakiet, powiedz mi, kiedy nadejdzie” i zmierzyć opóźnienie. Są szanse, że paczka dotrze, zanim skończysz mówić. Zapomnij o mierzeniu czasu.
Test opóźnień sieci
Zazwyczaj opóźnienie mierzy się, wysyłając pakiet, który jest zwracany do nadawcy i mierząc czas potrzebny na powrót odpowiedzi. To właśnie ten czas podróży w obie strony jest uważany za opóźnienie. Ta metoda oceny ma kilka wad. Na przykład, jeśli ścieżka powrotna jest inna, wartość opóźnienia nie powie Ci, która ze ścieżek do przodu lub powrotnych doświadcza opóźnienia.
Innym możliwym problemem jest to, że typy pakietów używanych do mierzenia opóźnień – zazwyczaj żądania i odpowiedzi ICMP – nie zawsze są traktowane przez urządzenia sieciowe z takim samym priorytetem jak inny ruch sieciowy.
Dlaczego opóźnienie jest ważne?
Prosta odpowiedź jest tutaj oczywista: ponieważ zbyt duże opóźnienie może wpłynąć na użyteczność sieci. Więc to nie opóźnienie samo w sobie jest ważne, ale obserwowanie go. Niezwykle wysokie lub wyższe niż zwykle opóźnienie jest często oznaką, że coś jest nie tak z siecią lub w sieci. W większości przypadków będzie to konsekwencja zatorów. Sieci są jak autostrady, a kiedy jest zbyt duży ruch, rzeczy zwalniają i masz duże opóźnienia.
Jednak zmierzone opóźnienie nie zawsze wskazuje na problem z siecią. Ponieważ zwykle mierzymy opóźnienie, mierząc czas podróży w obie strony, innym źródłem opóźnienia może być odległe urządzenie. Jeśli to urządzenie jest bardzo zajęte robieniem tego, co ma do zrobienia, może nie odpowiedzieć od razu na żądanie ICMP, które otrzymał od hosta testowego. Kiedy tak się stanie, będzie to postrzegane jako opóźnienie sieci, ale w rzeczywistości nie ma to nic wspólnego z siecią, a twój pomiar opóźnienia nie da ci o tym pojęcia.
Podobnie użytkownicy mogą doświadczyć opóźnień, które nie mają nic wspólnego z siecią. Opóźnienia aplikacji są prawdopodobnie tak samo powszechne, jak opóźnienia w sieci. Gdy serwery są przeciążone, zaczynają reagować wolniej. Podobnie jak sieci, gdy są przeciążone. Ale opóźnienia serwerów i aplikacji zdecydowanie nie są dziś tematem.
Zmniejszenie opóźnień w sieci
Jedną (irytującą) rzeczą jest doświadczanie opóźnienia, a inną rzeczą jest zmierzenie go, ale co z tego, jeśli nie znajdziesz sposobu, aby je zmniejszyć. Można to zrobić na kilka sposobów. Krótko mówiąc, sposób naprawiania dużych opóźnień zależy od tego, co je powoduje. A ponieważ najczęstszą przyczyną opóźnień jest nadmierne wykorzystanie sieci, zobaczmy, co można z tym zrobić.
Obwody sieciowe nie są nieograniczone, a gdy są nadmiernie wykorzystywane, dochodzi do przeciążenia, a użytkownicy doświadczają dużych opóźnień. Działa dokładnie tak, jak ruch na autostradzie. Dotyczy to w szczególności obwodów WAN, które często mają poważnie ograniczoną przepustowość.
Tak więc, aby zmniejszyć opóźnienia, najlepszym sposobem jest – można się domyślić – zmniejszenie wykorzystania sieci. Ale oczywiście nie zawsze jest to możliwe. W tym miejscu wkracza optymalizacja sieci. Moglibyśmy napisać cały artykuł o optymalizacji sieci WAN. W rzeczywistości ostatnio zrobiliśmy . Istnieje wiele narzędzi, których możesz użyć, aby pomóc w tym zadaniu.
Mierzenie opóźnienia: najlepsze narzędzia
Jak teraz wiemy, aby rozwiązać problemy z opóźnieniami, najpierw musisz je zmierzyć i zlokalizować, skąd pochodzi. Tutaj mogą pomóc narzędzia, które zamierzamy ujawnić. Niektóre po prostu mierzą opóźnienie, podczas gdy inne pomogą Ci je zlokalizować. Inne jeszcze mierzą wykorzystanie przepustowości, co może pomóc, ponieważ wiemy, że nadmierne wykorzystanie jest główną przyczyną dużych opóźnień. Narzędzia są pogrupowane według typu, a nie według preferencji.
1 — Monitor wydajności sieci SolarWinds (bezpłatna wersja próbna)
SolarWinds jest jednym z najbardziej znanych twórców narzędzi do administrowania siecią. Firma istnieje od wieków i słynie również z wielu darmowych narzędzi, z których każde odpowiada na specyficzne potrzeby administratorów sieci. Kilka darmowych narzędzi zostało przejrzanych na tych stronach, ponieważ omawialiśmy najlepsze serwery TFTP spośród najlepszych serwerów syslog .
Performance Monitor SolarWinds Network lub NPM jest flagowym produktem Solarwinds użytkownika. Prawdopodobnie jedno z najlepszych narzędzi do monitorowania przepustowości SNMP, jest wyposażone w tak wiele funkcji, że moglibyśmy o nim rozmawiać godzinami. Największą zaletą narzędzia jest najprawdopodobniej jego prostota. Ale ta prostota nie idzie w parze z elastycznością. Kokpity, widoki, wykresy i raporty można w pełni dostosować do własnych preferencji lub potrzeb. Narzędzie można skonfigurować w kilka minut i można je skalować od najmniejszych sieci do ogromnych z tysiącami urządzeń.
Jednak NPM nie mierzy bezpośrednio opóźnień w sieci. Ale dostarczając szczegółowych informacji na temat wykorzystania przepustowości w każdej części sieci, pozwoli Ci szybko zidentyfikować problematyczne miejsca, w których przeciążenie może być przyczyną dużych opóźnień.
NPM używa protokołu SNMP do okresowego odpytywania urządzeń i odczytywania ich liczników interfejsu, obliczania wykorzystania przepustowości i wyświetlania go w postaci wykresów. Skonfigurowanie narzędzia wymaga jedynie określenia adresu IP urządzenia i ciągu społeczności. Zaawansowane funkcje umożliwiają tworzenie map sieciowych i wyświetlanie krytycznej ścieżki między dwoma urządzeniami, co jest świetną funkcją podczas rozwiązywania problemów z opóźnieniami.
Ceny monitora wydajności sieci zaczynają się od 2 955 USD. Jeśli chcesz wypróbować narzędzie przed jego zakupem, dostępna jest w pełni funkcjonalna 30-dniowa wersja próbna .
2 — Analizator ruchu SolarWinds NetFlow (BEZPŁATNA wersja próbna)
Kolejny doskonały produkt firmy SolarWinds, NetFlow Traffic Analyzer, może zapewnić administratorom bardziej szczegółowy wgląd w ruch sieciowy. Nie tylko pokaże Ci wykorzystanie i potencjalne opóźnienie, ale także pokaże, gdzie to ma miejsce i często, co je powoduje. Narzędzie dostarcza szczegółowych informacji na temat obserwowanego ruchu. Na przykład narzędzie pozwoli Ci dowiedzieć się, jaki rodzaj ruchu lub jaki użytkownik zużywa najwięcej przepustowości. Pulpit nawigacyjny NetFlow Traffic Analyzer udostępnia kilka przydatnych widoków, takich jak najważniejsze aplikacje, popularne protokoły lub najczęściej rozmawiające osoby.
Analizator ruchu SolarWinds NetFlow wykorzystuje protokół NetFlow do zbierania szczegółowych informacji o użytkowaniu z urządzeń sieciowych. Pierwotnie stworzony przez Cisco, protokół NetFlow umożliwia urządzeniom wysyłanie szczegółowych informacji o każdej „konwersacji” lub przepływie w sieci do kolektora i analizatora NetFlow, takiego jak NetFlow Traffic Analyzer. Informacje te zawierają kilka elementów, które można wykorzystać do analizy ruchu. Wielu producentów innych niż Cisco włącza również funkcjonalność NetFlow lub jej odpowiednik w swoim sprzęcie, czasami nazywając to inną nazwą. Ostatnio protokół NetFlow został ustandaryzowany przez IETF jako IPFIX lub IP Flow Information Exchange. SolarWinds NetFlow Traffic Analyzer będzie działać ze wszystkimi wariantami protokołu, co czyni go doskonałym wyborem.
SolarWinds NetFlow Traffic Analyzer to dodatkowy moduł, który jest instalowany na szczycie Network Performance Monitor. Ceny zaczynają się od 915 USD i różnią się w zależności od liczby hostów. Podobnie jak w przypadku większości płatnych produktów SolarWinds, dostępna jest bezpłatna wersja próbna .
3 — Paessler PRTG
Paessler Router Traffic Grapher lub PRTG , jest kolejnym narzędziem do monitorowania przepustowości. I jest to jeden z najłatwiejszych i najszybszych w konfiguracji. Paessler twierdzi, że możesz zacząć działać w ciągu kilku minut i naprawdę, konfiguracja produktu nie zajmuje dużo czasu, choć trochę więcej niż twierdzi. Produkt ma funkcję automatycznego wykrywania, co oznacza, że przeskanuje sieć i automatycznie doda znalezione składniki.
PRTG jest standardowo wyposażony w kilka interfejsów użytkownika, co pozwala wybrać ten, który najlepiej odpowiada Twoim potrzebom. Istnieje natywna aplikacja konsoli Windows, jest też interfejs sieciowy oparty na Ajax, a także aplikacje mobilne na Androida i iOS. I świetnie wykorzystuje możliwości każdej platformy. Na przykład aplikacje mobilne pozwolą Ci uzyskać dostęp do danych dowolnego urządzenia, po prostu zeskanując umieszczoną na nim etykietę z kodem QR. Oczywiście konsola Windows pozwoli ci wydrukować te etykiety.
PRTG wykorzystuje do swojego monitoringu kombinację technologii. Będzie wykorzystywał monitorowanie SNMP, ale także WMI dla urządzeń Windows oraz NetFlow i Sflow, dwie podobne, ale konkurencyjne technologie analizy przepływu. A narzędzie ma kilka czujników specjalnie zaprojektowanych do pomiaru opóźnień. Jest czujnik QoS, który mierzy opóźnienie podróży w obie strony, czujnik Cisco IP SLA i czujnik Ping.
4 - ManageEngine NetFlow in Yzer
ManageEngine NetFlow Analyzer to narzędzie do monitorowania NetFlow inny opartych który oferuje wiele zaawansowanych funkcji opóźnienia monitoringu. Narzędzie zapewnia szczegółowy widok wykorzystania sieci i wzorców ruchu. Jego internetowy interfejs użytkownika umożliwia przeglądanie ruchu według aplikacji, konwersacji, protokołu i nie tylko. Jedną z najlepszych cech narzędzia jest obszerny pulpit nawigacyjny. Oferuje jedną z najlepszych wszechstronności i pozwala na uwzględnienie dowolnych danych. A dla administratorów będących w ruchu dostępne są aplikacje mobilne.
ManageEngine NetFlow Analyzer obsługuje kilka technologii przepływu, w tym NetFlow, IPFIX, J-flow, NetStream i kilka innych. Jako bonus, również ma doskonałą integrację z urządzeniami Cisco, z obsługą dostosowywania kształtowania ruchu i/lub polityk QoS bezpośrednio z narzędzia.
A do pomiaru opóźnień to narzędzie zawiera monitor czasu podróży w obie strony WAN (RTT), który umożliwia monitorowanie dostępności, opóźnień i jakości usług WAN.
5 — PingPlotter
Pomimo swojej mylącej nazwy, PingPlotter jest w rzeczywistości graficznym oprogramowaniem Traceroute, które może pomóc w rozwiązywaniu problemów sieciowych. To narzędzie diagnostyczne przedstawia wykresy opóźnienia i utraty pakietów między komputerem a celem. Umożliwia wizualizację informacji, przyspiesza proces rozwiązywania problemów i może pomóc w stworzeniu sprawy, jeśli będziesz musiał przekonać kogoś, że istnieje problem po ich zakończeniu.
PingPlotter przedstawia wykresy wydajności sieci przy każdym przeskoku między komputerem, na którym go uruchamiasz, a docelową witryną, serwerem lub urządzeniem. Narzędzie przetestuje ścieżkę do dowolnego urządzenia dostępnego w sieci. Pokazuje, gdzie występuje opóźnienie, oszczędzając dużo czasu na diagnostykę.
Chociaż statystyki wydajności są przydatne, informują one tylko, że sieć uległa awarii — lub nie — podczas testu i gdzie jest awaria. PingPlotter ma przydatną funkcję osi czasu, która zapewnia głębszy poziom zrozumienia, pokazując dokładnie, kiedy występują problemy. Pozwala to odróżnić stałą awarię podczas całego testu od krótkiego okresu poważnej awarii. Może również pomóc skorelować niepowodzenie z innymi jednoczesnymi zdarzeniami.
6 — Wielokrotne pingowanie
MultiPing to kolejny produkt o nieco mylącej nazwie. Chociaż do osiągnięcia tego celu używa głównie Ping, MultiPing jest tak naprawdę systemem monitorowania, podobnym do NPM SolarWinds. Oczywiście używanie Pinga zamiast SNMP oznacza, że informacje, które otrzymasz, są bardzo różne. Nie oczekuj wykorzystania przepustowości za pomocą tego narzędzia. Jedyną rzeczą, którą zobaczysz, jest opóźnienie. I podobnie jak monitory przepustowości będą kreślić wykresy przepustowości w czasie, ten będzie kreślił opóźnienia w czasie.
MultiPing pokaże utratę pakietów w procentach oraz minimalne, średnie i maksymalne opóźnienie. Ma funkcję automatycznego wykrywania, dzięki czemu konfiguracja jest bardzo łatwym zadaniem. Interfejs użytkownika produktu można skonfigurować według własnych upodobań, umieszczając różne elementy według własnego uznania. System oferuje również alerty, które mogą powiadomić Cię, gdy parametry wyjdą poza zakres. Oprócz powiadomień programy mogą być uruchamiane z alertami.
7 — Ping
Nie musisz jednak niczego pobierać ani instalować, aby przetestować opóźnienie. Ping to polecenie wbudowane w większość nowoczesnych systemów operacyjnych. W skrócie, Ping wysyła serię żądań ICMP echo do docelowego adresu IP i czeka na odpowiedź z odpowiednimi odpowiedziami ICMP echo. Opóźnienie między żądaniem a odpowiedzią nazywa się opóźnieniem w obie strony, które jest również określane jako opóźnienie. A gdy nie otrzyma odpowiedzi na jedno ze swoich żądań, narzędzie zakłada, że żądanie lub odpowiedź zostały utracone podczas przesyłania i kompiluje informacje o utracie pakietów, które są wyświetlane po zakończeniu wykonywania polecenia.
8 — Traceroute (lub Tracert)
Podobnie Traceroute – lub Tracert, jeśli pochodzisz ze świata Windows – może być również używany do celów testowania opóźnień. To kolejne polecenie wbudowane w większość systemów operacyjnych. Używa tego samego typu żądań i odpowiedzi ICMP, co Ping, ale robi to w sposób, który pozwala mu indywidualnie testować czas odpowiedzi lub opóźnienie każdego segmentu sieci na ścieżce. Jest to nawet lepsze niż Ping, ponieważ daje całkiem dobre pojęcie o tym, gdzie dzieje się większość opóźnień. Więc to narzędzie może nie tylko mierzyć, ale także lokalizować opóźnienia.