Utrata pakietów ma miejsce, gdy połączenie sieciowe traci informacje podczas przesyłania. Może to sprawić, że połączenie będzie wydawać się wolniejsze niż powinno i zmniejsza niezawodność komunikacji sieciowej z urządzeniami lokalnymi i zdalnymi. Wiedza o tym, jak zatrzymać utratę pakietów, powinna być najwyższym priorytetem dla każdego, kto chce poprawić problematyczną sieć.
Przyczyny utraty pakietów
Utrata pakietów nie zdarza się tylko z jednego powodu. Zdiagnozowanie przyczyny utraty pakietów w sieci powie Ci, co należy naprawić:
- Przepustowość i przeciążenie sieci: Główną przyczyną utraty pakietów jest niewystarczająca przepustowość sieci. Dzieje się tak, gdy zbyt wiele urządzeń próbuje komunikować się w tej samej sieci.
- Niewystarczający sprzęt: Problemy z jakimkolwiek sprzętem w sieci, który kieruje pakiety, mogą spowodować utratę pakietów. Najbardziej narażone są routery, przełączniki, zapory i inne urządzenia sieciowe.
- Uszkodzone kable: Utrata pakietów może wystąpić w fizycznej warstwie sieci. Jeśli kable Ethernet są uszkodzone, niewłaściwie okablowane lub zbyt wolne, aby obsłużyć ruch sieciowy, z kabli wyciekają pakiety.
- Błędy oprogramowania: Firmware w sprzęcie sieciowym lub oprogramowaniu komputerowym może zawierać błędy, które powodują utratę pakietów.
Jak naprawić utratę pakietów w sieci
Aby ustalić przyczynę utraty pakietów, zacznij od najłatwiejszego problemu do wykrycia:
- Sprawdź połączenia fizyczne. Sprawdź połączenie Ethernet między urządzeniami. Poszukaj oznak uszkodzeń fizycznych lub przerw w zapłonie i sprawdź, czy odłączenie kabli rozwiązuje problem.
- Zwolnij przepustowość. Czy jakikolwiek sprzęt obsługuje więcej połączeń niż powinien? Jeśli tak, ogranicz przepustowość routera.
- Wymień sprzęt. Zamień potencjalnie problematyczne urządzenia w sieci, aby sprawdzić, czy utrata pakietów zniknie po usunięciu określonego urządzenia.
- Zgłoś błędy w oprogramowaniu. Jeśli podejrzewasz, że błędy oprogramowania spowodowały utratę pakietów, jedynym sposobem, aby to naprawić, jest poprawka oprogramowania układowego od dostawcy dostarczającego sprzęt. Zgłaszaj podejrzane błędy, gdy znajdziesz te problemy, aby zachęcić dostawców do rozwiązania problemu.
Jak wykryć utratę pakietów
Kilka aplikacji może wykryć utratę pakietów w sieci. Działają one na zasadzie sniffowania pakietów, analizując czas podróży lub patrząc na zawartość pakietów. Najprostszym sposobem wykrycia utraty pakietów jest pingowanie urządzeń w sieci:
-
W systemie Windows otwórz okno wiersza polecenia i użyj polecenia ping, aby wskazać router. Na przykład, jeśli lokalny adres IP routera to 127.0.0.1, wprowadź ping 127.0.0.1 -t, aby pingować router. W systemie macOS lub Linux otwórz okno terminala i wprowadź ping 127.0.0.1
Jedyna różnica w przypadku komputerów z systemem Windows to brak - t na końcu polecenia.
- Po przetworzeniu przez polecenie ping wystarczającej liczby pakietów (co najmniej 10), naciśnij Ctrl+ C lub Command+ C aby zatrzymać polecenie.
-
Sprawdź, czy nastąpiła utrata pakietów. Jeśli określone połączenie między urządzeniem pingującym a celem działa poprawnie, powinieneś zobaczyć 0% utraty pakietów. Raport może wyglądać tak:
- -- 127.0.0.1 statystyki ping ---
27 wysłanych pakietów, 27 odebranych pakietów, 0,0% utraty pakietów
w obie strony min/śr/maks/stddev=1,820/8,351/72,343/14,186 ms
Wykryj utratę pakietów za pomocą tcpdump
Polecenie tcpdump w systemach macOS i Linux jest potężniejsze niż ping. Polecenie przechwytuje pakiety, a następnie oblicza ilość utraconych pakietów. Aby użyć polecenia, otwórz wiersz polecenia lub okno terminala i wprowadź tcpdump -i any.
Uruchamia tcpdump przez dowolne połączenie sieciowe. Polecenie można również uruchomić z - i eth0, aby przechwycić tylko główny interfejs sieciowy lub - c 10, aby przechwycić tylko 10 pakietów.
Po uruchomieniu polecenia spójrz na dolny wiersz, aby sprawdzić, czy jakieś pakiety zostały utracone:
17 przechwyconych pakietów
85 pakietów odebranych przez filtr
0 pakietów porzucone przez jądro
Proces wykrywania pakietów jest stosunkowo mało techniczny. Po ustaleniu sposobu sprawdzania komunikacji w sieci postępuj zgodnie z praktyką izolacji i eliminacji, aby określić źródło i przyczynę utraty pakietów. Będzie to wymagało pingowania większości urządzeń w sieci. Znajomość topologii sieci jest niezbędna.
W systemie Windows użyj tcpdump przez powłokę Bash w systemie Windows 10 lub uruchom Wireshark.