ntpd ( Network Time Protocol daemon) er en dæmon, der indstiller og vedligeholder systemtiden og bruges til at synkronisere nøjagtige tidsservere.
ntpd - programmet er en operativsystemdæmon , der indstiller og vedligeholder systemtiden synkroniseret med tidsservere. Det er en fuld implementering af NTP version 4, men bibeholder også kompatibilitet med version 3 som defineret i RFC-1305 [1] og version 1 og 2 som defineret i henholdsvis RFC-1059 [2] og RFC-1119 [3] . ntpd udfører de fleste beregninger ved hjælp af 64-bit flydende-komma-aritmetik og fungerer kun relativt godt i 64-bit-fix-point-operationer, når høj præcision på omkring 232 picosekunder er nødvendig. Selvom en så høj nøjagtighed er uopnåelig på konventionelle computere og netværk i dag, kan det være nødvendigt for fremtidige gigahertz-CPU'er og gigabit-netværk.
xntpd er en version 3 NTP-dæmon. "x" blev føjet til navnet, da den kodegren, der til sidst ville blive NTPDv3, var "eksperimentel". Dæmonens navn blev ændret til den oprindelige "ntpd" af den fjerde version, da NTP-skaberen David Mills besluttede, at det sandsynligvis ikke var muligt for noget at være "eksperimentelt" i tyve år uden at undergå nogen væsentlige ændringer i den tid.
ntpd har to muligheder for lagring af konfigurationsfiler:
En anden vigtig fil er drift -filen , som bruges af ntpd til at rette hardware-uret, når det ikke er forbundet til en mere præcis tidsserver, og som normalt er placeret i /var/db/ntp.drift.
Nøjagtig tid kan opnås ved hjælp af specialudstyr baseret på atomure . Der findes også en metode baseret på GPS (Global Positioning System, global positioning system). Begge metoder kræver specialiseret og dyr hardware, men deres ejere (normalt universiteter og forskningslaboratorier) forbinder denne hardware til computere, der kører NTP-dæmonen. Ofte er de samme maskiner forbundet til internettet, hvilket i sidste ende giver folk mulighed for gratis at finde ud af det nøjagtige tidspunkt.
ntpd kommunikerer med en eller flere konfigurerede servere med jævne mellemrum. Ved opstart skal programmet de første eller efterfølgende gange udveksle beskeder med de fleste af disse servere flere gange, så signalbehandlings- og optimeringsalgoritmerne kan indsamle og forberede data og indstille tiden. Som standard er intervallet 64 sekunder, så det kan tage flere minutter at indstille tiden. Den indledende forsinkelse i indstilling af uret kan reduceres ved at bruge nøgleordet iburst med serverkonfigurationskommandoen , som beskrevet på siden Konfigurationsindstillinger [4] .
De fleste operativsystemer og hardware bruger i dag en indbygget TOY (tid på året) chip til at holde tid, når strømmen er slukket. Når maskinen er tændt, bruges chippen til at initialisere operativsystemets ur. Efter at maskinen har synkroniseret sit ur med NTP-serveren, justerer operativsystemet chippens ur fra tid til anden. I tilfælde af at TOY-chippen mangler, eller af en eller anden grund, tiden på den afviger fra servertiden med mere end 1000 sekunder, vurderer ntpd , at noget er gået galt, og den eneste rigtige handling i en sådan situation er operatørindgreb og indstille uret i hånden. I dette tilfælde afsluttes ntpd med en fejlmeddelelse i systemloggen. Indstillingen -g giver dig mulighed for at ignorere denne kontrol og indstille servertiden uanset tiden på chippen.
Når den er konfigureret, vil NTP bevare tidsnøjagtigheden ved at lave meget små justeringer af uret, så små, at de ikke vil påvirke kørende applikationer på nogen måde.
Som standard kører ntpd i kontinuerlig tilstand, hvor hver af flere eksterne servere polles med intervaller bestemt af en kompleks heuristisk algoritme, der tager hensyn til latency jitter og frekvensfejl. På de fleste operativsystemer er startintervallet typisk 64 sekunder og øges i trin op til 1024 sekunder.
I nogle tilfælde er det måske ikke praktisk at bruge ntpd i kontinuerlig tilstand. En typisk løsning er at køre ntpdate fra cron på det planlagte tidspunkt. ntpdate har dog ikke indbyggede fejlkontrol- og optimeringsalgoritmer. Indstillingen -q er for dette tilfælde . Startet med det, vil ntpd kun indstille tiden én gang og afslutte derefter.
-fire
Brug IPv4 -adresserum
-6
Brug IPv6 -adresserum
-en
Anmod om kryptografisk godkendelse. Anvendes som standard.
-EN
Kræver ikke kryptografisk godkendelse. Ikke anbefalet.
-b
Tillader klienten at synkronisere med broadcast-servere.
-c confile
Angiver navnet og stien til konfigurationsfilen, som standard /etc/ntp.conf
-d
Angiver fejlretningstilstanden.
-D niveau
Angiver fejlretningstilstandsniveauet direkte.
-f driftfil
Angiver navnet og stien til frekvensfilen.
-g
Fjerner begrænsningen på forskellen mellem server og lokal tid.
-l logfil
Angiver navnet og stien til logfilen.
-q
Kopierer handlingen fra ntpdate- programmet - udfører klokkesynkronisering én gang.
ntpd-programmet dukkede først op i OpenBSD 3.6