Jonotusviive tarkoittaa kaukoviestinnässä ja tietotekniikassa aikaa, jonka tehtävä odottaa jonossa, ennen kuin se voidaan suorittaa. Se on verkkoviipeen avaintekijä. Kytketyssä verkossa jonotusviipeellä tarkoitetaan aikaa kutsun alullepanijan merkinannon loppumisen ja saapuvan lähetteen vastaanottamisen välillä. Se voi johtua alkukytkimestä, välikytkimistä tai puheluvastaanottimen huoltokytkimestä. Dataverkkojen jonotusviive on viipeiden summa palvelupyynnön ja virtapiirin muodostamisen päätelaitteelle välillä. Pakettikytkentäverkkojen jonotusviive on datapaketin kohtaamien viipeiden summa sillä välillä, kun paketti laitetaan verkkoon, ja kun se toimitetaan kohdeosoitteeseensa.[1]
Termiä käytetään useimmiten reititinten yhteydessä. Kun paketit saapuvat reititimeen, ne täytyy käsitellä ja lähettää. Reititin voi käsitellä vain yhden paketin kerrallaan. Jos paketin saapuvat reitittimen käsittelynopeutta nopeammin (kuten purskelähetteenä), reititin laittaa ne jonoon (kutsutaan myös puskuriksi) siihen asti, että se pystyy lähettämään ne. Viive voi vaihdella myös paketeiden välillä, joten keskiarvot ja tilastot luodaan yleensä jonotusviivettä arvioimalla ja mittaamalla.[2]
Kun saapuvaa liikennettä on reitittimen käsittelykykyä enemmän, ja jono alkaa täyttyä, jolloin jonon läpi kulkevien paketeiden viipeiden määrä kasvaa. Nopeus, jolla jonon sisältö voidaan käsitellä, on laitteiston lähetysnopeuden funktio, mikä johtaa klassiseen viivekäyrään. Keskimääräinen viive, jonka tietty paketti todennäköisesti kohtaa, saadaan kaavalla 1/(μ-λ), jossa µ on laitteiston sekunnissa käsittelemien pakettien määrä, ja λ on keskimääräinen arvo, kuinka nopeasti paketteja saapuu käsiteltäväksi.[3] Tätä kaavaa voi käyttää silloin, kun jonosta ei putoa paketteja.
Enimmäisjonotusviive on verrannollinen puskurin kokoon. Mitä pidempi lähetystä odottavien pakettien jono on, sitä pidempi on keskimääräinen odotusaika. Reitittimen lähetystä odottavien paketeiden jono kertoo myös mahdollisen syyn paketin katoamiselle. Koska reitittimen jonon käytössä oleva puskurimuisti on rajallinen, reitittimen, joka vastaanottaa paketteja liian nopeasti, jono saattaa täyttyä. Tällöin reitittimellä ei ole muuta mahdollisuutta kuin yksinkertaisesti hylätä jonon ylittävät paketit.[4]
Kun lähetysyhteyskäytäntö käyttää täysissä puskureissa pakettien pudotusta lähytysnopeutensa säätämisessä, kuten Internetin TCP tekee, kaistanleveys on jaettu kohtuullisesti lähes teoriittisella suorituskyvyllä, jolloin verkon tukkeutumisen aiheuttamat viipeet ovat vähäisiä. Kun tämä takaisinkytkentämekanismi puuttuu, viipeistä tulee ennalta arvaamattomia, ja ne kasvavat jyrkästi. Pakettien pudotusta voi pitää myös suorituskyvyn moottoritienä, jolla sisäänajorampit ovat tehokkain ratkaisu; vastaavasti TCP:n itsesäätely on tehokkain tapa, kun liikenteenä on paketteja ajoneuvojen asemesta. Tämä on sekä vaikea mallintaa matemaattisesti että vaikea ymmärtää ihmisille, jotka eivät ole riittävät harjaantuneita matematiikassa tai verkkotiedoissa. Jos paketeiden pudottaminen epäonnistuu ja puskurointimäärä alkaa kasvaa, puskuri paisuu.
Kendallin merkintätavan M/M/1/K-jonotusmallia, jossa K on puskurin koko, voidaan käyttää analysoimaan tietyn järjestelmän jonotusviivettä. Kun paketteja putoaa jonosta, jonotusviipeen laskemiseen tulee käyttää Kendallin merkintätapaa. M/M/1/K-jonotusmalli on yksinkertaisin ja tärkein verkon analysoinnissa käytettävä malli.[5]