Pakettkommutatsiooniga võrgu latentsusaeg
See artikkel vajab toimetamist. (Mai 2018) |
See artikkel ootab keeletoimetamist. (Mai 2018) |
Pakettkommutatsiooniga võrgu latentsusaeg on aeg, mis kulub andmepaketi saatmiseks ühest võrgupunktist teise. Latentsusaeg koos ribalaiusega (ingl bandwidth) defineerivad võrgu kiirust ja võimsust.[1]
Mõõtmiseks kasutatakse kas ühesuunalist või edasi-tagasi viivitusaega. Ühesuunaliseks latentsusajaks on paketi saatmise lähtepunktist ja selle kättesaamise sihtpunktis vaheline ajavahemik. Edasi-tagasi latentsusajaks on ühesuunaline latentsusaeg lähtepunktist sihtpunkti pluss ühesuunaline latentsusaeg sihtpunktist lähtepunkti. Enamasti mõõdetakse edasi-tagasi latentsusaega, mida saab mõõta ühest masinast.[2]
Paljudel tarkvaraplatvormidel on olemas teenus ping, mille abil saab latentsusaega mõõta. Pingimisteenus ei teosta paketi töötlemist; paketi saamise korral see saadab kohe vastuspaketi tagasi. Pingimisteenuse abil ei saa teha täpseid mõõtmisi. Põhjuseks on ICMP protokolli kasutamine, mille eesmärgiks on süsteemi diagnoosimine ja kontroll. [3]
Täpsete mõõtude saamiseks on soovitatav kasutada selleks ette nähtud tarkvara.
Latentsusaja komponendid
muudaLatentsusaeg koosneb järgmistest komponentidest: [2]
- Aeg, mis kuluks andmete edastamiseks ühest punktist teise valguse kiirusega.
- Keskkonnast (kiudoptiline kaabel, raadiokanal, traatliinid vms) põhjustatud viide.
- Marsruuterites ja lüüsides tekkiv viide. Iga lüüsisõlm vajab mingit aega, et uurida ja vajaduse korral muuta paketi päist.
- Sihtpunkti arvutis tekkiv viide, kui pakett salvestatakse kõvakettale ja loetakse sealt jälle välja, samuti viited kommutaatorites ja sildades.
Latentsusaeg Internet-kommunikatsiooniga mängudes
muudaInternet-kommunikatsiooniga (ingl online) mängud on väga tundlikud latentsusaegale, eriti need mängud, mille tempo on kiire ja tegevusaeg on piiratud. Tihtipeale väikese latentsusajaga mängimine on autasustatud ja suurega karistatud. [4]
Partner võrguarhitektuur
muudaOnline-mängude sünniajal oli kasutusel partner võrguarhitektuur (ingl peer-to-peer), mida tänapäevaselt kasutatakse harvasti. Põhjusteks on eksponentsiaalselt raske mängu deterministlikkuse tagamine, mängijate sünkroonimise vajadus ning ka see, et iga mängija käsud peaksid olema saadud enne järgmist käiku (mis tähendab, et iga mängija latentsusaeg on võrdne kõige suurima latentsusajaga mängijale). [5]
Kliendi-serveri võrguarhitektuur
muudaKõige levinum online-mängude võrguarhitektuuriks on klient-server arhitektuur (ingl client-server), mille põhimõtteliselt ainus piirang on mängijate latentsusaeg. Klient-server arhitektuuri põhiprintsiip on see, et on olemas arvuti-server, kus jookseb tegelik mänguprotsess, mille kaudu mängijad (kliendid) saavad teineteisega suhelda. mängijate arvutites jooksevad klientmängud on tavaliselt graafilised representatsioonid sellest, mida toimub serveris. Latentsusaeg põhjustab seda, et iga mängija näeb oma mängu klientrakenduses teisi mängijaid n-ö minevikus. [5]
Näiteks, kui mängija A vajutab aktiivse nuppu peale, mida server peab edastama teistele mängijatele, siis selle registreerimine serveril toimub peale mängija A ja serveri ühesuunalise latentsusaega. Server omakorda saadab selle informatsiooni edasi mängijale B, mis jõuab mängijani B peale serveri ja mängija B ühesuunalise latentsusaega. Online-mängude latentsusaega probleemi heaks näideks on situatsioon tulistamismängudes, kus mängija A just peidis ennast seina taga, ning mängija B tulistab ja tabab mängijat A enda kliendis (kus ta näeb, et mängija A ei ole veel seina taga peitnud). See probleem ei ole täielikult lahendatud ning seetõttu erinevate mängijate erinev latentsusaeg on peamine takistus ja puudus online-mängudes.
Viited
muuda- ↑ "What is Latency?" / "latency". Vaadatud 26. aprill 2018.
- ↑ 2,0 2,1 "e-Teatmik". Vaadatud 26. aprill 2018.
- ↑ "Don't misuse ping!". Originaali arhiivikoopia seisuga 12. oktoober 2017. Vaadatud 26. aprill 2018.
- ↑ "What are latency and ping and what do they mean for gaming?". Vaadatud 26. aprill 2018.
- ↑ 5,0 5,1 Glenn Fiedler. "What Every Programmer Needs To Know About Game Networking". Vaadatud 26. aprill 2018.