NTP (tietotekniikka)

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

TCP/IP-pino
sovelluskerros
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

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

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

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

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

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

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

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

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

  1. 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.
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.