NTP (tietotekniikka)

Wikipediasta
Siirry navigaatioon Siirry hakuun
TCP/IP-pino
sovelluskerros

sovelluskerros
BGP · DHCP · DNS · ESMTP · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP3 · RPC · RTP · RTSP · SIP · SMTP · SNMP · SOCKS · SSH · Telnet · TLS/SSL · XMPP  · (..lisää..)
kuljetuskerros

kuljetuskerros
TCP · UDP · DCCP · SCTP · RSVP · RIP · ECN
verkkokerros

verkkokerros
IP (IPv4 ja IPv6) · ICMP (ICMPv6) · IGMP · IPsec
siirtoyhteyskerros ARP · IS-IS · NDP · OSPF · L2TP · PPP
fyysinen kerros

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ä.

Historia[muokkaa | muokkaa wikitekstiä]

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-hierarkia[muokkaa | muokkaa wikitekstiä]

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äsittely[muokkaa | muokkaa wikitekstiä]

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]

Standardit[muokkaa | muokkaa wikitekstiä]

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

Toteutuksia[muokkaa | muokkaa wikitekstiä]

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ähteet[muokkaa | muokkaa wikitekstiä]

  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.