Wat is het Network Time Protocol?
Het Network Time Protocol is een manier om tijd nauwkeurig te synchroniseren tussen meerdere computers in een netwerk. De meeste computerklokken verliezen elke dag minstens een volledige seconde tijd, wat niet zo belangrijk is voor de gemiddelde gebruiker. Veel beveiligings- en gebeurtenisregistratiesystemen moeten computers volgen op verschillende netwerken, waaronder internet. Deze systemen vertrouwen op kloksynchronisatie van hun gekoppelde computers met het Network Time Protocol. Dit protocol werkt regelmatig de exacte tijd op zijn clients bij vanaf servers die de internationale atoomtijdstandaard handhaven.
Ook bekend onder de acroniem NTP, werd het Network Time Protocol voor het eerst als standaard vastgesteld in de late jaren tachtig. In de jaren negentig zijn verschillende revisies doorgevoerd om authenticatie, algoritmen, precisie en externe synchronisatie te verbeteren. In 2010 werd NTP-versie 4 voorgesteld door de Internet Engineering Task Force (IETF) in Request For Comments (RFC) 5905. Versie 4 omvat cryptografie met openbare sleutels, nanoseconde tijdprecisie en een methode voor het automatisch lokaliseren van een tijdserver. Het bevat ook verbeterde algoritmen en nauwkeurigheid, evenals ondersteuning voor nieuwe hardwarereferentieklokken en besturingssystemen.
Een gebruiker op een klein lokaal netwerk kan slechts licht geïrriteerd zijn als de tijdstempels voor e-mail of bestandswijziging buiten gebruik zijn. Netwerken met veel gebruikers en gedeelde bronnen op internet zullen hier echter aanzienlijk door worden beïnvloed. Voor financiële transactiedatabases, industriële besturingstoepassingen en netwerkbewakingssoftware is nauwkeurige tijd meestal van cruciaal belang, niet alleen op het systeem dat de transactie registreert, maar op alle computers die gegevens 24 uur per dag rapporteren. Het Network Time Protocol en de internationale tijdservers die het ondersteunen, kunnen aan deze behoeften voldoen.
Een netwerkbeheerder kan de tijd op elke client dagelijks handmatig bijwerken vanaf een tijdserver. Systemen kunnen ook worden geconfigureerd om de tijd opnieuw te laden bij elke herstart. Tijdafwijking van uur tot uur is echter aanzienlijk vanwege vele factoren, waaronder temperatuur en problemen met het besturingssysteem. De beste oplossing is meestal om elke klok meerdere keren per dag in zeer kleine stappen automatisch te resetten met het Network Time Protocol. Met deze methode worden systemen en gebruikers niet "verrast" door relatief grote, plotselinge sprongen vooruit of achteruit in de tijd.
Een client die het Network Time Protocol gebruikt, kan de juiste tijd verkrijgen van een op internet gebaseerde server of een bekabelde externe tijdbron. Uiteindelijk ontvangen beide bronnen de Coordinated Universal Time (UTC) van een internationale tijdserver. Een hardwired bron kan deze direct of indirect ontvangen via een speciaal radiosignaal. Een netwerkbron verkrijgt deze meestal indirect via verschillende lagen servers met NTP-software. Hoewel er slechts een paar tijdservers zijn die rechtstreeks zijn aangesloten op atoomklokken, geven tienduizenden servers wereldwijd de tijd door aan lokale systemen.
Tijdgebonden netwerksoftware die op elke NTP-client wordt uitgevoerd, houdt zijn klok bijgewerkt met extreme nauwkeurigheid en regelmaat. Wanneer een client niet is verbonden met internet, schatten de NTP-algoritmen de huidige tijd op basis van prestaties uit het verleden. Systemen die niet de volledige mogelijkheden van NTP nodig hebben, kunnen een uitgeklede versie gebruiken die het Simple Network Time Protocol (SNTP) wordt genoemd.