Co to jest packet loss?
Packet loss (utrata pakietów) to pakiety, które nie docierają do celu. Wyjaśniamy przyczyny, wpływ na TCP i ruch realtime oraz diagnozę za pomocą MTR.
Ostatnia aktualizacja:
Packet loss, czyli utrata pakietów, to sytuacja, w której jeden lub więcej pakietów IP wysłanych przez sieć nie dociera do miejsca docelowego. Mierzy się go jako odsetek pakietów zgubionych względem wysłanych, na przykład 2% straty oznacza, że dwa na sto pakietów przepadły w drodze. Strata jest naturalnym elementem działania internetu opartego na IP, który dostarcza pakiety według zasady best-effort bez gwarancji doręczenia, ale powyżej pewnego progu wyraźnie pogarsza jakość usług i wymaga diagnozy.
Jak packet loss wpływa na ruch
Skutki utraty pakietów zależą od protokołu. TCP wykrywa zgubione segmenty i retransmituje je, więc dane ostatecznie docierają, ale kosztem opóźnienia i spadku przepustowości, ponieważ mechanizm kontroli przeciążenia ogranicza okno przy każdej stracie. UDP i ruch realtime nie retransmitują, więc utrata przekłada się bezpośrednio na zniekształcenia.
- TCP: retransmisje, mniejsze okno przeciążenia i niższa efektywna przepustowość, zwłaszcza na łączach o dużym RTT.
- VoIP i wideokonferencje: zacinanie głosu, artefakty obrazu; zwykle już 1% straty jest słyszalne.
- Gry online i streaming na żywo: skoki opóźnień, rozsynchronizowanie i przerwy w obrazie.
- DNS po UDP: timeouty i ponowne zapytania, które wydłużają czas rozwiązywania nazw.
Najczęstsze przyczyny utraty pakietów
Utrata pakietów ma zwykle jedną z kilku powtarzalnych przyczyn, a ich rozróżnienie decyduje o skutecznej naprawie. Najczęstszym powodem jest przeciążenie łącza: gdy kolejka na interfejsie się przepełnia, router odrzuca nadmiarowe pakiety (tail drop). Do tego dochodzą problemy warstwy fizycznej, błędy konfiguracji i celowe ograniczanie ruchu.
- Przeciążenie i przepełnienie kolejek na przeciążonym łączu lub porcie peeringowym.
- Błędy warstwy 1: uszkodzony kabel, brudny lub wadliwy moduł optyczny, błędy CRC na interfejsie.
- Niedopasowanie MTU i fragmentacja, prowadzące do gubienia dużych pakietów (problemy z PMTUD).
- Przeciążony lub źle skonfigurowany sprzęt, wyczerpanie CPU routera, błędna polityka QoS.
- Policing i rate-limiting, które celowo odrzucają ruch powyżej ustalonego progu.
Diagnoza za pomocą MTR
MTR (My Traceroute) łączy traceroute z ping i wysyła ciągły strumień sond do każdego węzła na ścieżce, pokazując w czasie rzeczywistym opóźnienie i odsetek straty na każdym przeskoku. Pozwala to zlokalizować, gdzie pakiety zaczynają ginąć. Wyniki trzeba jednak czytać uważnie. Strata widoczna tylko na pojedynczym, pośrednim przeskoku, która nie propaguje się dalej, niemal zawsze wynika z ograniczania ICMP przez dany router (deprioryzacja sond kierowanych do control plane), a nie z rzeczywistej utraty ruchu tranzytowego. Realny problem to dopiero strata, która pojawia się na danym przeskoku i utrzymuje się na wszystkich kolejnych aż do celu. Uruchom MTR w obie strony, bo trasy w internecie bywają asymetryczne i strata w jednym kierunku nie musi oznaczać straty w drugim.
Czysta ścieżka w sieci AS202520 SkyPass
Niska utrata pakietów wynika wprost z dobrze zaprojektowanej, niedociążonej sieci. AS202520 SkyPass utrzymuje rezerwy przepustowości na łączach tranzytowych i peeringowych oraz peeruje na polskich punktach wymiany ruchu (THINX, TPIX, WRIX, 1-IX), dzięki czemu ruch krajowy pozostaje krótki i stabilny. Nasz publiczny looking glass pozwala zweryfikować ścieżki BGP i przeprowadzić ping oraz traceroute z naszych PoP-ów w Warszawie i Wrocławiu, a tranzyt IP i ochrona DDoS chronią Cię przed stratą wywołaną przeciążeniem podczas wolumetrycznych ataków.
Najczęstsze pytania
Jaki poziom utraty pakietów jest akceptowalny?
Na łączu szkieletowym i tranzytowym oczekuje się utraty bliskiej 0%. Dla TCP zauważalny spadek przepustowości zaczyna się już od kilku dziesiątych procenta, a dla VoIP i wideo zwykle 1% straty jest słyszalne. Utrzymująca się strata powyżej 1% wymaga diagnozy.
Dlaczego MTR pokazuje stratę na pośrednim przeskoku, ale nie na końcowym?
To niemal zawsze artefakt: dany router ogranicza odpowiedzi ICMP kierowane do jego control plane i deprioryzuje sondy MTR. Skoro strata nie propaguje się na kolejne przeskoki aż do celu, ruch tranzytowy nie jest tracony i nie ma realnego problemu.
Czym różni się packet loss od jittera i opóźnienia?
Opóźnienie to czas dotarcia pakietu, jitter to zmienność tego opóźnienia, a packet loss to pakiety, które w ogóle nie docierają. Wszystkie trzy bywają objawami tej samej przyczyny, na przykład przeciążenia kolejek, ale są odrębnymi metrykami.
Czy packet loss zawsze oznacza awarię?
Nie. Pojedyncze, sporadyczne straty mieszczą się w naturze sieci best-effort i są maskowane przez retransmisje TCP. Problemem jest dopiero strata utrzymująca się, wysoka lub zlokalizowana na konkretnym łączu, która degraduje usługi.
