Czas obiegu i odstęp między pakietami
Wielkości spoza układu · wyrażane w sekundach SI · RTT i Δt między pakietami
W roku 1983 Mike Muuss, dochodząc przyczyny usterki w sieci, napisał w jeden wieczór mały program, który wysyłał maszynie krótkie zapytanie i wypisywał czas, jaki upłynął do odpowiedzi. Nazwę wziął od ludzi od sonaru: okręt podwodny wysyła kliknięcie i nasłuchuje echa, a odległość liczy się z jednej jedynej różnicy czasów. Z tego nawyku mierzenia narodziła się jednostka: zapisuje się ani drogę tam, ani drogę z powrotem, lecz całą pętlę.
Subtelność polega na tym, że obieg mierzy się jednym zegarem: zapytanie wychodzi z tej samej maszyny, do której przychodzi odpowiedź, i dlatego różnica odczytów nie zależy od tego, czy zegary po drugiej stronie są zgodne. Opóźnienia w jedną stronę nie da się uzyskać tak łatwo — potrzebne są do niego zegary zestrojone drobniej niż samo opóźnienie, czyli albo osobny protokół przenoszenia czasu, albo odbiornik czasu satelitarnego na każdym końcu.
01 · Definicja
Czas obiegu to odstęp między wysłaniem pakietu a nadejściem odpowiedzi na niego, mierzony jednym i tym samym zegarem. Odstęp między pakietami to czas między wypuszczeniem dwóch sąsiednich pakietów tego samego strumienia; wyznacza go nie sieć, lecz ten, kto ją obciąża.
Obieg składa się z trzech składników różnej natury i rozróżnianie ich ma znaczenie, ponieważ każdy leczy się inaczej. Pierwszy to czas rozchodzenia się, który wyznacza długość trasy i prędkość światła we włóknie i który nie ustąpi niczemu prócz krótszego kabla. Drugi to serializacja, czas wypchnięcia pakietu w linię, i maleje ona, im szybsze jest łącze. Trzeci to kolejka w buforach węzłów pośrednich, i tylko on zależy od tego, jak mocno sieć jest właśnie obciążona.
Wynika stąd okoliczność mało oczywista: łącze można poszerzyć dziesięciokrotnie, a obieg nie zmieni się wcale, gdyż poszerzenie usuwa jedynie serializację, kolejki zaś i długość trasy zostają tam, gdzie były. Co więcej, w buforach zrobionych z zapasem «na wszelki wypadek» pakiety nie giną, lecz czekają, a obieg pod obciążeniem rośnie do sekund — to owa bieda, którą nazwano bufferbloat.
Odstęp między pakietami nie stoi obok przypadkiem: niemal wszystko, co dzieje się ze strumieniem, rozstrzyga stosunek odstępu do obiegu. Dopóki pakiety wychodzą częściej, niż wracają potwierdzenia, nadawca pracuje na ślepo i musi trzymać w trasie tyle danych, ile fizycznie się w niej mieści — a ta ilość to właśnie iloczyn prędkości i obiegu.
Wybierz trasę i przesuwaj suwak po wielkości pakietu. Niebieski pakiet wyrusza z lewej szafy do prawej i wraca pomarańczowy; pas pod trasą rozkłada obieg na trzy składniki, żeby było widać, na co naprawdę idzie. Poszerzenie łącza skraca tylko część środkową — właśnie tę, która na długich trasach i tak bywa najmniejsza.
Pamięć staniała wcześniej, niż zmieniły się algorytmy, i wytwórcy zaczęli wstawiać w urządzenia kolejki na setki pakietów, sądząc, że bufor w nadmiarze zaszkodzić nie może. Wyszło odwrotnie: pełna kolejka nie gubi pakietów, lecz je przetrzymuje, nadawca nie dostaje żadnego znaku o zatorze i dokłada dalej. Obieg na łączu domowym pod obciążeniem urósł do półtorej sekundy, a prędkość pozostała ta sama.
02 · Przeliczanie
Obieg, rura i strumień pakietów
Wprowadź obieg w dowolnych jednostkach, a karta przeliczy go na pozostałe, a potem obliczy to, co od niego zależy: ile danych mieści się w trasie przy różnych prędkościach, jaką granicę stawia okno i jaki odstęp między pakietami wybierają różne kodery.
Prędkość do obliczenia pojemności brana jest z trasy wybranej w części interaktywnej; w ustawieniach szczegółowych można ją ustalić na gigabicie.
Ping mierzy nie całkiem to, czego potrzebuje program użytkowy. Obsługa zapytania echa w odległym węźle idzie osobną drogą, często z pominięciem głównej części liczącej, i dlatego jej opóźnienie nie pokrywa się z opóźnieniem prawdziwego połączenia; inne urządzenia z kolei odpowiadają na takie zapytania na samym końcu albo wcale. Dlatego duży ping nie zawsze oznacza wolne połączenie, a mały nie ręczy za szybkie.
| Wartość | Uwaga | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Rzędy wielkości
skala logarytmiczna: od mikrosekundy do sekundy04 · Przyrządy pomiarowe
Czym łowi się czas obiegu
Program wysyła pakiet ze znacznikiem czasu i czeka na jego powrót, a różnica odczytów to obieg. Jego zaletą jest to, że wystarcza jeden zegar i od rozmówcy nie żąda się niczego prócz gotowości odpowiedzi; jego wadą — że odpowiada on drogą osobną, niekoniecznie szybką.
Nagrawszy całą wymianę, obieg otrzymuje się z samego strumienia: z czasu między odejściem segmentu a nadejściem potwierdzenia na niego. Tak mierzy się właśnie to opóźnienie, które widzi program użytkowy, a przy okazji staje się widoczny rozrzut — to, co w rozmowie przeszkadza bardziej niż równe opóźnienie.
Urządzenia znaczące czas wprost w układzie sieciowym usuwają niepewność wnoszoną przez system operacyjny i podnoszą rozdzielczość do dziesiątek nanosekund. Wymieniają się wedle osobnej umowy, w której każdy koniec stawia po dwa znaczniki — i właśnie to pozwala rozdzielić obieg na dwie nierówne połowy.
Opóźnienie w jedną stronę mierzy się tylko tam, gdzie zegary na obu końcach sprowadzono do wspólnego czasu drobniej niż samo opóźnienie — po to linie wytycza się osobnym protokołem uzgadniania albo stawia odbiorniki czasu satelitarnego. Bez tego obieg pozostaje jedyną uczciwą liczbą.
05 · Zasady zapisu
Obieg z jednostką, rozrzut osobno
Oznaczenie pisze się trzema wielkimi literami łacińskimi bez kropek, wartość z jednostką i z podaniem, co właściwie mierzono: pojedyncza próba, średnia z serii czy jej mediana. Rozrzut podaje się obok jako osobną liczbę, gdyż sama średnia nic nie mówi o tym, czy pakiety idą równo.
Pierwszy zapis obchodzi się bez jednostki, a wraz z nią bez sensu: sto trzydzieści czego — milisekund czy mikrosekund? Drugi wydaje przypuszczenie za pomiar, podczas gdy droga tam i droga z powrotem często idą różnymi szlakami i połowy wychodzą nierówne. Trzeci powtarza błąd najbardziej rozpowszechniony i bierze obieg za własność łącza, a nie całej trasy. Czwarty myli wielkości: odstęp między pakietami nie jest obiegiem.
06 · Jednostki sąsiednie
Obieg opisuje trasę od strony czasu, prędkość od strony ilości, a ich iloczyn daje trzecią wielkość, pojemność trasy, bez której nie da się nastawić żadnego szybkiego połączenia na dużą odległość. Obok stoi rozrzut opóźnienia, który w rozmowie i w grze przeszkadza bardziej niż równe opóźnienie.
ile mieści się w sekundzie
prędkość × obieg
drżenie wedle RFC 3550
Spośród kart Simetrium obok stoją bit i bajt, w których liczy się pojemność trasy, sekunda, do której obie wielkości w końcu się sprowadzają, decybel z bilansów łączy i takt zegara, który wyznacza granicę rozdzielczości sprzętowych znaczników czasu.
07 · Dział historyczny
Kliknięcie i echo
Kiedy między Uniwersytetem Kalifornijskim a instytutem w Menlo Park przenoszono pierwsze słowo, operator dyktował je przez telefon i czekał na potwierdzenie litera po literze. Łączność urwała się na trzeciej literze, ale samo postępowanie — wysłano, poczekano na odpowiedź, spojrzano na zegar — okazało się właśnie tym, które jest w użyciu po dziś dzień.
Mike Muuss napisał swój program w jeden wieczór, dochodząc przyczyny usterki, i nazwał go od dźwięku echosondy: krótki impuls, a potem czekanie na odbicie. Nazwa okazała się tak trafna, że czasownik «pingnąć» wszedł do języka daleko poza rzemiosło sieciowe i oznacza już każdą krótką wiadomość wysłaną po to, by sprawdzić, czy ktoś jest.
Jesienią 1986 roku przepustowość jednego z łączy uniwersyteckich spadła tysiąckrotnie: nadawcy, nie otrzymując potwierdzeń, słali coraz to nowe odpisy i dobijali trasę do reszty. Van Jacobson zaproponował lekarstwo, które działa po dziś dzień: pilnować obiegu i jego rozrzutu, a ich wzrost brać za znak zatoru, czyli powściągać wysyłkę, zanim zaczną się straty.
Dzisiejsze algorytmy sterowania strumieniem nie pilnują już strat, lecz wprost tego, jak rośnie obieg, i powściągają wysyłkę, zanim kolejka zdąży się napełnić. Domowe routery dostały dyscypliny, które trzymają bufor krótki naumyślnie — a obieg pod obciążeniem spada z półtorej sekundy do dziesiątek milisekund na tym samym łączu.
Połowa obiegu to przypuszczenie, nie pomiar
Obieg jest wygodny tym, że nie wymaga zgodności zegarów: zarówno wysyłkę, jak i odbiór znaczy jedno urządzenie, a rozejście się skal po prostu nie wchodzi do różnicy. Właśnie dlatego ping działa wszędzie i nie potrzebuje nastawiania, podczas gdy opóźnienie w jedną stronę to wielkość znacznie kapryśniejsza, żądająca drobniejszego uzgodnienia niż to, co się mierzy.
Nawyk dzielenia obiegu na pół trzyma się z tego powodu, choć niewiele za nim przemawia: strumień do rozmówcy i ten z powrotem idą nierzadko różnymi trasami, różnej długości i różnie obciążonymi, tak że prawdziwe połowy mogą różnić się dwukrotnie. Wielkość najłatwiejsza do zmierzenia z całego rzemiosła sieciowego jest zarazem tą, którą najczęściej czyta się źle.
Katalog · jednostki miary
Karta dla każdej wielkości
Siedem jednostek podstawowych SI, dwadzieścia dwie pochodne z własnymi nazwami i wielkości spoza układu, bez których nie działałaby ani technika, ani kalendarz.