Kiertoaika ja pakettiväli
Järjestelmän ulkopuolisia suureita · ilmaistaan SI-sekunteina · RTT ja pakettien välinen Δt
Vuonna 1983 Mike Muuss kirjoitti yhtenä iltana, verkon vikaa selvitellessään, pienen ohjelman, joka lähetti koneelle lyhyen pyynnön ja tulosti vastaukseen kuluneen ajan. Nimen hän otti kaikuluotaajilta: sukellusvene lähettää naksahduksen ja kuuntelee kaikua, ja etäisyys lasketaan yhdestä ainoasta aikaerosta. Tuosta mittaamisen tavasta syntyi yksikkö: kirjatuksi ei tule meno eikä paluu, vaan koko silmukka.
Hienous on siinä, että kierto mitataan yhdellä ainoalla kellolla: pyyntö lähtee samalta koneelta, jolle vastaus saapuu, eikä lukemien erotus siksi riipu siitä, käyvätkö toisen pään kellot yhtä. Yhdensuuntaista viivettä ei saa yhtä helposti — siihen tarvitaan kelloja, jotka käyvät yhtä hienommin kuin viive itse, siis joko oma protokolla ajan siirtoon tai satelliittiajan vastaanotin kumpaankin päähän.
01 · Määritelmä
Kiertoaika on väli paketin lähettämisen ja siihen tulevan vastauksen saapumisen välillä, mitattuna yhdellä ja samalla kellolla. Pakettiväli on aika saman virran kahden peräkkäisen paketin päästämisen välillä; sitä ei aseta verkko vaan se, joka sitä kuormittaa.
Kierto koostuu kolmesta eriluonteisesta osasta, ja niiden erottaminen on tärkeää, koska kutakin hoidetaan eri tavoin. Ensimmäinen on etenemisaika, jonka määräävät reitin pituus ja valon nopeus kuidussa ja joka ei väisty muulle kuin lyhyemmälle kaapelille. Toinen on sarjoitus, aika työntää paketti linjalle, ja se pienenee sitä mukaa kuin linja on nopeampi. Kolmas on jonotus välisolmujen puskureissa, ja vain se riippuu siitä, kuinka kuormitettu verkko juuri silloin on.
Tästä seuraa vähän ilmeinen seikka: linjan voi leventää kymmenkertaiseksi eikä kierto muutu lainkaan, sillä leventäminen poistaa vain sarjoituksen, kun taas jonot ja reitin pituus jäävät sinne missä olivat. Enemmänkin: puskureissa, jotka on tehty väljiksi «kaiken varalta», paketit eivät katoa vaan odottavat, ja kierto kuormituksessa kasvaa sekunteihin — sitä pahaa on kutsuttu nimellä bufferbloat.
Pakettiväli ei seiso vieressä sattumalta: lähes kaikki, mitä virralle tapahtuu, ratkeaa välin ja kierron suhteessa. Niin kauan kuin paketit lähtevät useammin kuin kuittaukset palaavat, lähettäjä työskentelee sokkona ja joutuu pitämään reitillä niin paljon dataa kuin siihen fyysisesti mahtuu — ja tuo määrä on juuri nopeuden ja kierron tulo.
Valitse reitti ja vie liukusäädintä paketin koon yli. Sininen paketti lähtee vasemmasta telineestä oikeaan ja palaa oranssina; reitin alla oleva nauha jakaa kierron kolmeen osaan, jotta näkyisi, mihin se todella kuluu. Linjan leventäminen lyhentää vain keskimmäistä osaa — juuri sitä, joka pitkillä reiteillä on muutenkin pienin.
Muisti halpeni ennen kuin algoritmit muuttuivat, ja valmistajat alkoivat panna laitteisiin satojen pakettien jonoja siinä uskossa, ettei ylimääräinen puskuri voi vahingoittaa. Kävi päinvastoin: täysi jono ei hukkaa paketteja vaan pidättää niitä, lähettäjä ei saa mitään merkkiä ruuhkasta ja jatkaa kuormittamista. Kotilinjan kierto kuormituksessa kasvoi puoleentoista sekuntiin, vaikka nopeus pysyi samana.
02 · Muunnos
Kierto, putki ja pakettivirta
Syötä kierto millä yksiköillä tahansa, niin lehti muuntaa sen muihin ja laskee sitten sen, mikä siitä riippuu: kuinka paljon dataa reitille mahtuu eri nopeuksilla, minkä rajan ikkuna asettaa ja minkä pakettivälin eri koodaimet valitsevat.
Vetoisuuden laskemiseen käytettävä nopeus otetaan vuorovaikutteisessa osassa valitulta reitiltä; hienommissa asetuksissa sen voi kiinnittää gigabittiin.
Ping ei mittaa aivan sitä, mitä sovellusohjelma tarvitsee. Kaikupyynnön käsittely kaukaisessa solmussa kulkee omaa tietään, usein pääsuorittimen ohi, eikä sen viive siksi osu yhteen todellisen yhteyden viiveen kanssa; toiset laitteet taas vastaavat sellaisiin pyyntöihin kaikkein viimeiseksi, tai eivät lainkaan. Siksi suuri ping ei aina merkitse hidasta yhteyttä eikä pieni takaa nopeaa.
| Arvo | Huomautus | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Suuruusluokat
logaritminen asteikko: mikrosekunnista sekuntiin04 · Mittalaitteet
Millä kiertoaika saadaan kiinni
Ohjelma lähettää paketin aikaleiman kera ja odottaa sen palaavan, ja lukemien erotus on kierto. Sen ansio on siinä, että yksi kello riittää eikä vastapuolelta vaadita muuta kuin halua vastata; sen puute siinä, että se vastaa omaa, ei välttämättä nopeaa tietään.
Kun koko vaihto on tallennettu, kierto saadaan itse virrasta: ajasta segmentin lähdön ja sen kuittauksen saapumisen välillä. Näin mitataan juuri se viive, jonka sovellusohjelma näkee, ja samalla tulee näkyviin hajonta — se, mikä keskustelussa haittaa enemmän kuin tasainen viive.
Laitteet, jotka leimaavat ajan suoraan verkkopiirissä, poistavat epävarmuuden, jonka käyttöjärjestelmä tuo, ja vievät erotuskyvyn kymmeniin nanosekunteihin. Ne vaihtavat oman sopimuksen mukaan, jossa kumpikin pää asettaa kaksi leimaa — ja juuri se sallii kierron jakamisen kahteen eriarvoiseen puoliskoonsa.
Yhdensuuntaista viivettä mitataan vain siellä, missä molempien päiden kellot on tuotu yhteiseen aikaan hienommin kuin viive itse — sitä varten linjat merkitään omalla tahdistusprotokollalla tai asennetaan satelliittiajan vastaanottimia. Ilman sitä kierto jää ainoaksi rehelliseksi luvuksi.
05 · Kirjoitussäännöt
Kierto yksikköineen, hajonta erikseen
Merkintä kirjoitetaan kolmella isolla latinalaisella kirjaimella ilman pisteitä, arvo yksikköineen ja mainintoineen siitä, mitä oikeastaan mitattiin: yksittäinen näyte, sarjan keskiarvo vai sen mediaani. Hajonta annetaan vieressä omana lukunaan, sillä keskiarvo yksin ei kerro mitään siitä, kulkevatko paketit tasaisesti.
Ensimmäinen kirjoitustapa tulee toimeen ilman yksikköä ja sen mukana ilman mieltä: satakolmekymmentä mitä — millisekuntia vai mikrosekuntia? Toinen antaa oletuksen mittauksesta, vaikka meno- ja paluutie kulkevat usein eri ratoja ja puoliskot tulevat erisuuriksi. Kolmas toistaa yleisimmän virheen ja pitää kiertoa linjan eikä koko reitin ominaisuutena. Neljäs sekoittaa suureet: pakettien väli ei ole kierto.
06 · Naapuriyksiköt
Kierto kuvaa reittiä ajan puolelta, nopeus määrän puolelta, ja niiden tulo antaa kolmannen suureen, reitin vetoisuuden, jota ilman ei saa säädetyksi yhtään nopeaa pitkän matkan yhteyttä. Vieressä on viiveen hajonta, joka keskustelussa ja pelissä haittaa enemmän kuin tasainen jälkeenjääminen.
kuinka paljon mahtuu sekuntiin
nopeus × kierto
värinä RFC 3550:n mukaan
Simetriumin korteista vieressä ovat bitti ja tavu, joissa reitin vetoisuus lasketaan, sekunti, johon molemmat suureet lopulta palautuvat, desibeli linjabudjeteista ja kellojakso, joka asettaa laitteiston aikaleimojen erotusrajan.
07 · Historiallinen osa
Naksahdus ja kaiku
Kun Kalifornian yliopiston ja Menlo Parkin laitoksen välillä siirrettiin ensimmäinen sana, käyttäjä saneli sen puhelimessa ja odotti vahvistusta kirjain kerrallaan. Yhteys katkesi kolmannen kirjaimen kohdalla, mutta itse menettely — lähetettiin, odotettiin vastausta, katsottiin kelloa — osoittautui juuri siksi, joka on käytössä tänäkin päivänä.
Mike Muuss kirjoitti ohjelmansa yhtenä iltana vikaa selvitellessään ja nimesi sen kaikuluotaimen äänen mukaan: lyhyt sysäys, sitten heijastuksen odotus. Nimi osui niin hyvin, että verbi «pingata» tuli kieleen kauas verkkoalan ulkopuolelle ja tarkoittaa nykyään mitä tahansa lyhyttä viestiä, joka lähetetään sen tietämiseksi, onko joku paikalla.
Syksyllä 1986 erään yliopistolinjan läpäisy putosi tuhannesosaan: lähettäjät, jotka eivät saaneet kuittauksia, lähettivät yhä uusia jäljennöksiä ja tekivät reitistä lopun. Van Jacobson ehdotti hoitoa, joka vaikuttaa tänäkin päivänä: pitää silmällä kiertoa ja sen hajontaa ja ottaa niiden kasvu ruuhkan merkiksi, siis hillitä lähettämistä ennen kuin hukka alkaa.
Nykyiset vuonhallinnan algoritmit eivät enää tarkkaile hukkaa vaan suoraan sitä, kuinka kierto kasvaa, ja hillitsevät lähettämistä ennen kuin jono ehtii täyttyä. Kotireitittimet ovat saaneet menettelyjä, jotka pitävät puskurin tahallaan lyhyenä — ja kierto kuormituksessa putoaa puolestatoista sekunnista kymmeniin millisekunteihin samalla linjalla.
Puolet kierrosta on oletus, ei mittaus
Kierto on kätevä siinä, ettei se vaadi kellojen yhtäpitävyyttä: sekä lähetyksen että vastaanoton leimaa yksi laite, eikä asteikkojen ero yksinkertaisesti tule erotukseen mukaan. Juuri siksi ping toimii kaikkialla eikä kaipaa säätöä, kun taas yhdensuuntainen viive on paljon oikukkaampi suure, joka vaatii hienompaa tahdistusta kuin se, mitä mitataan.
Tapa puolittaa kierto pysyy siksi, vaikka sen puolesta puhuu vähän: virta vastapuolelle ja takaisin kulkevat usein eri reittejä, eri pituisia ja eri tavoin kuormitettuja, joten todelliset puoliskot voivat erota kaksinkertaisesti. Suure, joka on koko verkkoalan helpoin mitata, on samalla se, joka useimmin luetaan väärin.
Luettelo · mittayksiköt
Kortti jokaiselle suureelle
Seitsemän SI-perusyksikköä, kaksikymmentäkaksi johdettua omine nimineen ja järjestelmän ulkopuolisia suureita, joita ilman ei toimisi tekniikka eikä kalenteri.