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 |
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 |
TCP · UDP · QUIC · DCCP · SCTP · RSVP · RIP · ECN |
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

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
- Nate Hopper: The Thorny Problem of Keeping the Internet’s Time newyorker.com. 30.9.2022. Viitattu 6.10.2022. (englanniksi)
- The NTP Timescale and Leap Seconds eecis.udel.edu. Viitattu 6.10.2022. (englanniksi)
- Leap Smear developers.google.com. Viitattu 6.10.2022. (englanniksi)
- Suomen aika: NTP-palvelu vttresearch.com. VTT. Viitattu 22.7.2021.