Ke ztrátě paketů dochází, když síťové připojení během přenosu ztratí informace. Může vaše připojení vypadat pomaleji, než by mělo být, a snižuje spolehlivost síťové komunikace s místními a vzdálenými zařízeními. Vědět, jak zastavit ztrátu paketů, by mělo být nejvyšší prioritou pro každého, kdo hledá zlepšení rušivé sítě.
Příčiny ztráty paketů
Ztráta paketů se nestává pouze z jednoho důvodu. Diagnostika příčiny ztráty paketů ve vaší síti vám řekne, co musíte opravit:
- Šířka pásma sítě a přetížení: Primární příčinou ztráty paketů je nedostatečná šířka pásma sítě. K tomu dochází, když se příliš mnoho zařízení pokusí komunikovat ve stejné síti.
- Nedostatečný hardware: Problémy s jakýmkoli hardwarem v síti, která směruje pakety, mohou způsobit ztrátu paketů. Směrovače, přepínače, brány firewall a další síťová zařízení jsou nejzranitelnější.
- Poškozené kabely: Ke ztrátě paketů může dojít na fyzické síťové vrstvě. Pokud jsou kabely Ethernet poškozené, nesprávně zapojené nebo příliš pomalé na to, aby zvládly provoz v síti, z kabelů unikají pakety.
- Softwarové chyby: Firmware v síťovém hardwaru nebo počítačovém softwaru může obsahovat chyby, které způsobují ztrátu paketů.
Jak opravit ztrátu paketů v síti
Chcete-li zjistit příčinu ztráty paketů, začněte s nejjednodušším problémem detekce:
-
Zkontrolujte fyzická připojení. Zkontrolujte ethernetové připojení mezi zařízeními. Hledejte známky fyzického poškození nebo chybného zapalování a zkontrolujte, zda problém vyřeší vypnutí kabelů.
-
Uvolněte šířku pásma. Zpracovává nějaký hardware více připojení, než by měl? Pokud ano, omezte šířku pásma na routeru.
-
Vyměňte hardware. Vyměňte potenciálně problematická zařízení v síti a zjistěte, zda ztráta paketů zmizí po odebrání konkrétního zařízení.
-
Hlášení softwarových chyb. Pokud máte podezření, že softwarové chyby způsobily ztrátu paketů, můžete ji opravit pouze pomocí opravy firmwaru od dodavatele dodávajícího hardware. Hlaste podezřelé chyby, jakmile najdete tyto problémy, abyste povzbudili dodavatele k vyřešení problému.
Jak zjistit ztrátu paketů
Několik aplikací dokáže detekovat ztrátu paketů v síti. Fungují tak, že nějakým způsobem čichají pakety, buď analýzou doby cesty, nebo prohlížením obsahu paketu. Nejjednodušší způsob, jak zjistit, zda dochází ke ztrátě paketů, je pomocí příkazu ping na zařízení v síti:
-
Ve Windows otevřete okno Příkazový řádek a pomocí příkazu ping zacilte router. Pokud je například místní adresa IP routeru 127.0.0.1, zadejte ping 127.0.0.1 -t ping na router. V systému macOS nebo Linux otevřete okno Terminál a zadejte ping 127.0.0.1. Jediným rozdílem pro počítače se systémem Windows je chybějící -t na konci příkazu.
-
Poté, co příkaz ping zpracuje dostatečný počet paketů (alespoň 10), stiskněte Ctrl+C nebo Příkaz+C zastavit příkaz.
-
Podívejte se, zda nedošlo ke ztrátě paketů. Pokud konkrétní spojení mezi příkazem ping a cílem funguje správně, měli byste vidět 0% ztráta paketů. Zpráva může vypadat takto:
— Statistika ping 127.0.0.1 —
27 přenesených paketů, 27 přijatých paketů, 0,0% ztráta paketů
zpáteční min / průměr / max / stddev = 1,820 / 8,551 / 72,343 / 14,186 ms
Zjistěte ztrátu paketů pomocí tcpdump
Příkaz tcpdump v systémech macOS a Linux je výkonnější než ping. Příkaz zachytí pakety a poté vypočítá míru ztráty paketů. Chcete-li použít příkaz, otevřete příkazový řádek nebo okno Terminál a zadejte tcpdump -i libovolný. Tím se spustí tcpdump přes jakékoli síťové připojení. Příkaz lze také spustit pomocí -i eth0 zachytit pouze primární síťové rozhraní nebo pomocí -c 10 zachytit pouze 10 paketů. Po spuštění příkazu se podívejte na spodní řádek a zkontrolujte, zda nedošlo ke ztrátě paketů:
17 zachycených paketů
85 paketů přijatých filtrem
0 paketů vynechaných jádrem
Proces detekce paketů je relativně nízký. Po vytvoření způsobu kontroly komunikace v síti postupujte podle postupu izolace a eliminace, abyste určili zdroj a příčinu ztráty paketů. To bude vyžadovat ping většiny zařízení v síti. Znalost topologie sítě je nezbytná. V systému Windows použijte tcpdump přes prostředí Bash ve Windows 10 nebo spusťte Wireshark.