Questions: Network Time Protocol (NTP) for Clock Synchronization
5 questions to test your understanding
Score: 0 / 5
Question 1 Multiple Choice
An NTP client discovers its clock is 500 milliseconds behind the server. Why does NTP gradually adjust the clock rate rather than immediately jumping the clock 500ms forward?
ANTP cannot correct offsets larger than 100ms and defers those to manual intervention
BAbrupt clock jumps can violate monotonicity assumptions made by applications, causing log ordering errors, cache expirations, and authentication failures
CThe round-trip delay calculation requires gradual adjustment to average out over multiple measurement samples
DJumping the clock would cause NTP to lose its synchronization with the upstream stratum source
Applications throughout a distributed system assume time moves forward monotonically — that time.now() always returns a value greater than the previous call. An abrupt backward jump (correcting an advanced clock) creates log entries that appear before earlier ones. Even a sudden forward jump can prematurely expire caches or invalidate time-based authentication tokens. NTP's clock slewing solution — slightly speeding or slowing the oscillator rate — makes corrections invisible to applications while converging on the correct time. Hard step corrections are reserved for initial startup or very large drifts.
Question 2 Multiple Choice
A server's NTP status shows it is synchronized to a stratum 2 source. What does this tell you?
AThe server is accurate to within 2 milliseconds of UTC
BThe server is two hops removed from an atomic clock or primary reference
CThe server is running NTP protocol version 2
DThe server is less accurate than a stratum 3 server because higher stratum numbers indicate better quality
Stratum numbers indicate topological distance from a primary reference clock, not a direct accuracy measurement in milliseconds. Stratum 0 = atomic clocks or GPS receivers; stratum 1 = servers directly connected to stratum 0; stratum 2 = synchronized from stratum 1; and so on. Lower stratum = fewer hops from the reference = generally higher accuracy. Option D reverses the relationship entirely: lower stratum numbers mean closer to the authoritative source and therefore greater accuracy.
Question 3 True / False
NTP's round-trip delay calculation assumes that the one-way network delay is exactly half the round-trip time, which may introduce error when network paths are asymmetric.
TTrue
FFalse
Answer: True
NTP uses four timestamps to estimate clock offset: it assumes one-way delay is (round-trip time)/2. If the forward and return paths have different latencies — which is common in asymmetric networks or across different ISP routes — this assumption introduces a systematic offset error equal to half the path asymmetry. This is a known fundamental limitation of NTP: asymmetric routing cannot be corrected by the protocol, only partially mitigated by averaging many measurements. It is a dominant residual error source even in well-tuned NTP deployments.
Question 4 True / False
In a well-configured enterprise network, NTP can achieve sub-microsecond clock synchronization between geographically distant servers.
TTrue
FFalse
Answer: False
NTP is designed for millisecond-level synchronization across the internet. Sub-microsecond synchronization across geographically distant servers is unachievable with NTP because network delays introduce uncertainty at that scale — the half-RTT assumption and path asymmetry become dominant error sources. Sub-microsecond synchronization requires hardware timestamping and the Precision Time Protocol (PTP/IEEE 1588), which uses dedicated hardware and typically operates within a single data center or LAN. NTP is excellent for its designed purpose but is not a precision timing protocol.
Question 5 Short Answer
Why does NTP use clock slewing (gradually adjusting the clock rate) rather than simply jumping the clock to the correct time, and when does NTP perform a hard step correction instead?
Think about your answer, then reveal below.
Model answer: Clock slewing preserves the monotonic time progression that applications depend on. An abrupt jump — especially backward — can corrupt log ordering, prematurely expire caches, or break time-based authentication. NTP adjusts the oscillator rate slightly faster or slower until the clock converges on the correct time, making the correction invisible to software. Hard step corrections occur only at initial startup or after very large drifts where slewing would take an unreasonably long time.
The design reflects a key principle: NTP must serve its clients without disrupting them. Since distributed software is built on the assumption that system time is monotonically increasing, any time management must respect this. Slewing works because quartz oscillators can be tuned slightly above or below their nominal frequency via the kernel's adjtime/adjtimex mechanism. A 100ms correction might slew out in a few minutes — invisible to software. A 10-second correction would take much longer to slew, which is why very large initial offsets receive a one-time hard step correction; thereafter, slewing resumes to maintain smooth time.