De omlooptijd en de pakketafstand
Grootheden buiten het stelsel · uitgedrukt in SI-seconden · de RTT en de Δt tussen pakketten
In 1983 schreef Mike Muuss, terwijl hij een storing in een net uitzocht, op één avond een klein programma dat een machine een korte vraag stuurde en de tijd tot het antwoord afdrukte. De naam ontleende hij aan de sonarmensen: een onderzeeër zendt een klik en luistert naar de echo, en de afstand wordt uit één enkel tijdsverschil berekend. Uit die gewoonte van meten is de eenheid geboren: wat wordt vastgelegd is niet de heenweg en niet de terugweg, maar de hele lus.
Het fijne hieraan is dat de omloop met één klok wordt gemeten: de vraag vertrekt van dezelfde machine waar het antwoord binnenkomt, en dus hangt het verschil der aflezingen er niet van af of de klokken aan de andere kant gelijk lopen. Een vertraging in één richting is zo eenvoudig niet te krijgen — daarvoor zijn klokken nodig die fijner gelijk lopen dan de vertraging zelf, dus ofwel een apart protocol van tijdsoverdracht, ofwel een ontvanger van satelliettijd aan elk uiteinde.
01 · Definitie
De omlooptijd is het tijdsverloop tussen het verzenden van een pakket en het binnenkomen van het antwoord daarop, gemeten door een en dezelfde klok. De pakketafstand is de tijd tussen het uitzenden van twee naburige pakketten van één stroom; die wordt niet door het net gesteld, maar door wie het belast.
De omloop bestaat uit drie termen van verschillende aard, en ze uiteen te houden doet ertoe, want elk wordt anders genezen. De eerste is de voortplantingstijd, bepaald door de lengte van het traject en de lichtsnelheid in de vezel, en die wijkt voor niets behalve een kortere kabel. De tweede is de serialisatie, de tijd om het pakket de lijn in te duwen, en die daalt naarmate de verbinding sneller is. De derde is de wachtrij in de buffers van tussenknooppunten, en alleen die hangt af van hoe zwaar het net op dat ogenblik belast is.
Hieruit volgt een niet voor de hand liggende omstandigheid: men kan de verbinding tienvoudig verbreden en de omloop verandert daarbij in het geheel niet, want het verbreden neemt alleen de serialisatie weg, terwijl de wachtrijen en de lengte van het traject blijven waar ze waren. Sterker nog, in buffers die «voor alle zekerheid» met ruimte zijn gebouwd gaan de pakketten niet verloren maar wachten, en de omloop onder belasting groeit tot seconden — dat is het kwaad dat men bufferbloat is gaan noemen.
De pakketafstand staat niet toevallig ernaast: bijna alles wat een stroom overkomt wordt beslist door de verhouding van afstand tot omloop. Zolang de pakketten vaker uitgaan dan de bevestigingen terugkomen, werkt de zender blind en moet hij zoveel gegevens in het traject houden als er fysiek in gaan — en die hoeveelheid is precies het product van snelheid en omloop.
Kies een traject en voer de schuif over de pakketgrootte. Het blauwe pakket vertrekt van het linker rek naar het rechter en komt oranje terug; de band onder het traject ontleedt de omloop in drie termen, opdat zichtbaar wordt waaraan hij werkelijk opgaat. Het verbreden van de verbinding verkort alleen het middelste deel — juist dat deel dat op lange trajecten toch al het kleinste is.
Het geheugen werd goedkoop eerder dan de algoritmen veranderden, en de fabrikanten gingen wachtrijen van honderden pakketten in de apparaten zetten, in de veronderstelling dat een buffer te veel geen kwaad kon. Het pakte omgekeerd uit: een volle wachtrij verliest de pakketten niet maar houdt ze op, de zender krijgt geen enkel teken van opstopping en blijft bijladen. De omloop van een huisverbinding onder belasting groeide tot anderhalve seconde, terwijl de snelheid dezelfde bleef.
02 · Omrekening
Omloop, pijp en pakketstroom
Voer een omloop in welke eenheden dan ook in, en het blad rekent hem om naar de overige en berekent daarna wat van hem afhangt: hoeveel gegevens er bij verschillende snelheden in het traject passen, welke grens het venster stelt en welke pakketafstand de verschillende coderingen kiezen.
De snelheid voor het berekenen van de capaciteit wordt genomen van het in het interactieve deel gekozen traject; in de fijnere instellingen kan zij op een gigabit worden vastgezet.
Ping meet niet helemaal wat een toepassingsprogramma nodig heeft. De afhandeling van een echoverzoek op een ver knooppunt gaat langs een eigen weg, vaak om de hoofdrekeneenheid heen, en daarom valt haar vertraging niet samen met die van een echte verbinding; andere apparaten beantwoorden zulke verzoeken juist als allerlaatste, of helemaal niet. Daarom betekent een grote ping niet altijd een trage verbinding, en waarborgt een kleine geen snelle.
| Waarde | Toelichting | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Ordes van grootte
logaritmische schaal: van microseconde tot seconde04 · Meetinstrumenten
Waarmee de omlooptijd wordt gevangen
Het programma zendt een pakket met een tijdstempel en wacht op zijn terugkeer, en het verschil der aflezingen is de omloop. Zijn verdienste is dat één klok volstaat en van de tegenpartij niets wordt gevraagd dan de bereidheid te antwoorden; zijn gebrek, dat zij langs een eigen, niet noodzakelijk snelle weg antwoordt.
Heeft men de hele uitwisseling opgenomen, dan krijgt men de omloop uit de stroom zelf: uit de tijd tussen het vertrek van een segment en de aankomst van de bevestiging erop. Zo wordt juist die vertraging gemeten die het toepassingsprogramma ziet, en tegelijk wordt de spreiding zichtbaar — dat wat in een gesprek meer hindert dan een gelijkmatige vertraging.
Apparaten die de tijd rechtstreeks in de netwerkchip stempelen nemen de onzekerheid weg die het besturingssysteem inbrengt en brengen de resolutie tot tientallen nanoseconden. Zij wisselen volgens een eigen afspraak waarbij elk uiteinde twee stempels zet — en juist dat maakt het mogelijk de omloop in zijn twee ongelijke helften te scheiden.
Een vertraging in één richting wordt alleen daar gemeten waar de klokken aan beide uiteinden fijner op een gemeenschappelijke tijd zijn gebracht dan de vertraging zelf — daartoe worden de lijnen met een apart synchronisatieprotocol uitgezet of worden ontvangers van satelliettijd geplaatst. Zonder dat blijft de omloop het enige eerlijke getal.
05 · Schrijfregels
De omloop met zijn eenheid, de spreiding apart
De aanduiding schrijft men met drie Latijnse hoofdletters zonder punten, de waarde met haar eenheid en de vermelding van wat precies gemeten is: één enkele meting, het gemiddelde van een reeks of de mediaan daarvan. De spreiding geeft men ernaast als apart getal, want een gemiddelde alleen zegt niets over de vraag of de pakketten gelijkmatig lopen.
De eerste schrijfwijze doet het zonder eenheid, en daarmee zonder zin: honderddertig waarvan — milliseconden of microseconden? De tweede laat een aanname voor een meting doorgaan, terwijl de weg heen en de weg terug vaak verschillende banen volgen en de helften ongelijk uitvallen. De derde herhaalt de meest verbreide fout en houdt de omloop voor een eigenschap van de verbinding in plaats van het hele traject. De vierde verwart de grootheden: een afstand tussen pakketten is geen omloop.
06 · Naburige eenheden
De omloop beschrijft het traject van de kant van de tijd, de snelheid van de kant van de hoeveelheid, en hun product geeft een derde grootheid, de capaciteit van het traject, zonder welke geen snelle verbinding over grote afstand is af te stellen. Ernaast staat de spreiding van de vertraging, die in gesprek en spel meer hindert dan een gelijkmatige achterstand.
hoeveel er in een seconde past
snelheid × omloop
jitter volgens RFC 3550
Van de fiches van Simetrium staan ernaast de bit en byte, waarin de capaciteit van het traject wordt gerekend, seconde, waartoe beide grootheden ten slotte herleid worden, decibel uit verbindingsbalansen en de klokslag, die de resolutiegrens van de hardwaretijdstempels stelt.
07 · Historisch deel
De klik en de echo
Toen tussen de universiteit van Californië en het instituut in Menlo Park het eerste woord werd overgebracht, dicteerde de bediener het over de telefoon en wachtte letter voor letter op de bevestiging. De verbinding brak af bij de derde letter, maar de handelwijze zelf — verzonden, op het antwoord gewacht, op de klok gekeken — bleek juist die te zijn die tot vandaag in gebruik is.
Mike Muuss schreef zijn programma op één avond, terwijl hij een storing uitzocht, en noemde het naar het geluid van het echolood: een korte stoot, dan het wachten op de weerkaatsing. De naam bleek zo gelukkig dat het werkwoord «pingen» de taal binnenkwam ver buiten het netwerkvak en inmiddels elk kort bericht aanduidt dat men stuurt om te weten of er iemand is.
In het najaar van 1986 viel de doorvoer van een van de universitaire verbindingen duizendvoudig terug: de zenders stuurden, doordat ze geen bevestigingen kregen, steeds nieuwe afschriften en gaven het traject de genadeslag. Van Jacobson stelde een genezing voor die tot op heden werkt: de omloop en zijn spreiding in het oog houden en hun groei voor een teken van opstopping nemen, dus het zenden inhouden voordat de verliezen beginnen.
De huidige algoritmen voor stroombeheersing letten niet meer op de verliezen, maar rechtstreeks op hoe de omloop groeit, en houden het zenden in voordat de wachtrij zich heeft kunnen vullen. Huisrouters hebben regelingen gekregen die de buffer met opzet kort houden — en de omloop onder belasting valt van anderhalve seconde tot tientallen milliseconden op diezelfde verbinding.
De helft van de omloop is een aanname, geen meting
De omloop is daarin gerieflijk dat hij geen overeenstemming van klokken verlangt: zowel het zenden als het ontvangen wordt door één apparaat gestempeld, en een uiteenlopen van schalen komt eenvoudigweg niet in het verschil terecht. Juist daarom werkt ping overal en behoeft geen instelling, terwijl de vertraging in één richting een veel grilliger grootheid is, die een fijnere gelijkzetting vergt dan wat gemeten wordt.
De gewoonte de omloop te halveren houdt daarom stand, al pleit er weinig voor: de stroom naar de tegenpartij en die terug volgen niet zelden verschillende routes, van verschillende lengte en verschillende belasting, zodat de werkelijke helften het dubbele kunnen schelen. De grootheid die van het hele netwerkvak het gemakkelijkst te meten is, is tegelijk die welke het vaakst verkeerd wordt gelezen.
Catalogus · meeteenheden
Een fiche voor elke grootheid
Zeven SI-basiseenheden, tweeëntwintig afgeleide met een eigen naam en grootheden buiten het stelsel waarzonder techniek noch kalender zouden werken.