NTP (tietotekniikka)

tietoliikenneprotokolla

NTP (engl. Network Time Protocol) on UDP-pohjainen protokolla täsmällisen aikatiedon välittämiseen tietokoneiden välillä.

Protokolla on suunniteltu ottamaan huomioon verkon muuttuvat viiveet. Sama protokolla toimii sekä usean palvelimen kellojen keskinäiseen tahdistamiseen, että asiakas-palvelin käytössä.

HistoriaMuokkaa

NTP:n suunnitteli David Mills, joka sai rahoitusta ARPANETiin liittyvään kehitystyöhön.[1] 1990-luvun puolivälissä Mills luovutti NTP:n uusien julkaisujen tekemisen Harlan Stennille.[1]

NTP-hierarkiaMuokkaa

 
NTP-palvelinten hierarkia

Usein NTP-palvelimet toimivat hierarkkisesti siten että yksi tai useampi 1. tason (stratum) palvelin saa aikansa suoraan ulkoisesta aikalähteestä tai esimerkiksi GPS:n välityksellä, atomikellolta tai BIOS:in kellosta. Stratum-taso ei siis kerro palvelimen kellon tarkkuudesta, vaan palvelimen sijainnista verkkohierarkiassa.

Stratum-tasot ovat hierarkkisia. 2-tason palvelimet hakevat aikansa vähintään yhdeltä 1. tason palvelimelta. Stratum 3 -tason kellot hakevat aikansa kakkosilta jne. Tasoja voi olla 16.

Perinteisesti loppukäyttäjät hakevat ajan stratum 2 -tason palvelimilta. Asiakas voi käyttää joko yhtä tai useampaa palvelinta. Kolme NTP-palvelinta on vähimmäismäärä, jotta asiakas voi päätellä mikä kelloista on väärässä.

Ajan välitys voidaan hoitaa lähiverkossa broadcast- tai multicast-lähetyksenä, jolloin useat asiakkaat saavat ajan yhdestä multicast- tai broadcast-paketista.

Ajan käsittelyMuokkaa

Karkaussekuntien käsittelyssä NTP pysäyttää kellon eikä etene karkaussekunnin aikana, joka eroaa POSIXin käytännöistä.[2] Google on ehdottanut karkaustahran käyttöä, joka jakaa karkaussekunnin pienemmissä erissä vuorokauden ajalle, jolloin jokainen sekunti on 11,6 mikrosekuntia pidempi.[3]

StandarditMuokkaa

NTP määritellään seuraavissa RFC-dokumenteissa:

  • RFC 956 Algorithms for Synchronizing Network Clocks
  • RFC 958 Network Time Protocol (NTP)
  • RFC 1305 Network Time Protocol (Version 3)
  • RFC 5905 Network Time Protocol Version 4 (NTPv4)
  • RFC 7822 Network Time Protocol Version 4 (NTPv4) Extension Fields
  • RFC 8573 Message Authentication Code for the Network Time Protocol

ToteutuksiaMuokkaa

Protokollan toteuttavia ohjelmia ovat muun muassa ntpd ja Chrony.

Suomen viralliseen aikaan synkronoidut viralliset ja julkiset NTP-palvelut ovat VTT MIKES:in ylläpitämiä. Kuka tahansa voi käyttää MIKESin julkista stratum 2 -tason NTP-palvelua. [4]

LähteetMuokkaa

  1. a b Nate Hopper: The Thorny Problem of Keeping the Internet’s Time newyorker.com. 30.9.2022. Viitattu 6.10.2022. (englanniksi)
  2. The NTP Timescale and Leap Seconds eecis.udel.edu. Viitattu 6.10.2022. (englanniksi)
  3. Leap Smear developers.google.com. Viitattu 6.10.2022. (englanniksi)
  4. Suomen aika: NTP-palvelu vttresearch.com. VTT. Viitattu 22.7.2021.
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.