Słownik

Co to jest latencja?

Latencja to czas, jaki pakiet potrzebuje na dotarcie do celu. Wyjaśniamy RTT, składniki opóźnienia oraz dlaczego peering i krótsze ścieżki je obniżają.

Ostatnia aktualizacja:

Latencja to czas, jaki pakiet potrzebuje na przebycie drogi od nadawcy do odbiorcy w sieci, mierzony zwykle w milisekundach (ms). W praktyce najczęściej podaje się ją jako RTT (Round-Trip Time), czyli czas podróży pakietu do celu i z powrotem, bo to właśnie tę wartość zwraca polecenie ping. Obok jittera i utraty pakietów latencja jest jednym z trzech podstawowych parametrów jakości łącza i wpływa na działanie usług wrażliwych na opóźnienia, takich jak gry, VoIP, wideokonferencje czy handel algorytmiczny.

Z czego składa się opóźnienie

Całkowita latencja to suma kilku niezależnych składników, które kumulują się na każdym przeskoku trasy. Część z nich wynika z praw fizyki i nie da się ich obejść, część zależy od konstrukcji i obciążenia sieci. Ten podział pozwala odróżnić opóźnienie, które można zmniejszyć, od tego, które jest stałe dla danej odległości.

  • Opóźnienie propagacji: czas potrzebny na pokonanie dystansu. W światłowodzie sygnał biegnie z prędkością około 200 000 km/s (ok. dwóch trzecich prędkości światła w próżni), co daje mniej więcej 5 ms na każde 1000 km w jedną stronę.
  • Opóźnienie transmisji (serializacji): czas potrzebny na wysłanie wszystkich bitów pakietu na łącze, zależny od przepustowości i rozmiaru pakietu.
  • Opóźnienie kolejkowania: czas oczekiwania w buforach routerów, rosnący przy przeciążeniu łącza (bufferbloat).
  • Opóźnienie przetwarzania: czas, jaki każdy router poświęca na analizę nagłówka i podjęcie decyzji o trasie.
  • Liczba przeskoków (hopów): każdy dodatkowy router i każde nadłożenie trasy dokłada własne opóźnienie.

RTT a opóźnienie jednokierunkowe

RTT mierzy pełną pętlę tam i z powrotem, natomiast opóźnienie jednokierunkowe (one-way delay) dotyczy tylko jednego kierunku. Te dwie wartości nie zawsze są symetryczne, bo ruch w internecie często wraca inną trasą niż został wysłany (routing asymetryczny), więc RTT to nie zawsze dokładnie dwukrotność opóźnienia w jedną stronę. Narzędzia takie jak ping i traceroute raportują RTT, ponieważ łatwo je zmierzyć bez precyzyjnej synchronizacji zegarów po obu stronach. Dokładny pomiar opóźnienia jednokierunkowego wymaga zsynchronizowanego czasu, na przykład przez PTP lub GPS, i jest opisany w RFC 7679.

Dlaczego peering i krótsze ścieżki obniżają latencję

Opóźnienie propagacji jest wprost proporcjonalne do dystansu, a każdy przeskok dokłada opóźnienie kolejkowania i przetwarzania, więc najskuteczniejszym sposobem na niższą latencję jest skrócenie fizycznej i topologicznej drogi pakietu. Tu pomaga peering. Zamiast wysyłać ruch krajowy przez odległe węzły tranzytowe w Europie Zachodniej (Frankfurt, Amsterdam), bezpośrednia wymiana ruchu na lokalnym punkcie wymiany (IXP) utrzymuje go w obrębie jednego kraju lub miasta. Ruch między dwoma polskimi sieciami peerującymi w Warszawie może mieć RTT poniżej 5 ms, podczas gdy ta sama para sieci wymieniająca ruch przez tranzyt we Frankfurcie łatwo przekroczy 30 ms. Krótsza ścieżka to też mniej routerów po drodze, a więc mniejsze ryzyko kolejkowania i niższy jitter.

Niska latencja z AS202520 SkyPass

AS202520 SkyPass utrzymuje PoP-y w Warszawie i Wrocławiu oraz peeruje na polskich punktach wymiany ruchu, w tym w THINX, TPIX, WRIX i 1-IX, dzięki czemu ruch do polskich sieci pozostaje lokalny i ma niskie opóźnienia. Szeroki peering skraca ścieżki AS_PATH i usuwa zbędne nadłożenia trasy przez zagraniczne węzły. Operatorom bez własnego portu w tych miastach udostępniamy zdalny dostęp do IXP, a aktualny stan tras i RTT można sprawdzić w naszym looking glass.

Najczęstsze pytania

Co to jest dobre RTT?

Zależy od dystansu i zastosowania. W obrębie jednego miasta lub kraju RTT poniżej 10 ms jest bardzo dobre, dla połączeń krajowych typowo 5-30 ms, a dla ruchu transkontynentalnego naturalnie rośnie do 100 ms i więcej z powodu samej odległości.

Czym latencja różni się od przepustowości?

Przepustowość to ilość danych, jaką łącze przenosi w jednostce czasu (np. Gb/s), a latencja to czas dotarcia pojedynczego pakietu. Łącze może mieć dużą przepustowość i wysoką latencję jednocześnie, i odwrotnie. To dwa niezależne parametry.

Czy większa przepustowość obniża latencję?

Nie bezpośrednio. Większa przepustowość zmniejsza jedynie opóźnienie serializacji i ryzyko kolejkowania przy przeciążeniu. Opóźnienia propagacji, czyli czasu na pokonanie dystansu, nie da się obejść większym łączem.

Jak zmierzyć latencję?

Najprościej poleceniem ping, które zwraca RTT do wskazanego adresu, oraz traceroute, które pokazuje opóźnienie na kolejnych przeskokach trasy. Do precyzyjnego pomiaru opóźnienia jednokierunkowego potrzebna jest synchronizacja zegarów po obu stronach.

Powiązane artykuły