Network Time Protocol -
NTP
Lizandro Damian Solano-Quinde
NTP - Introduction
NTP is a protocol for synchronizing the clocks on
computers over packet-switched data networks
NTP delivers accurate and reliable time in spite of
faults in the network
Provides a connectionless service (UDP in the
Transport Layer)
NTP is used on Internet
NTP - Clock Strata
NTP uses a hierarchical organization of clocks
• Stratum 0.- Composed by: Atomic Clocks, GPS Clocks.
• Stratum 1 - Primary
• Time Servers.- Computers attached to stratus 0 devices
• They act as servers for requests from Stratus 2
• Stratum 2
• Computers sending NTP requests to Time Servers in Stratum 1
• Computers in this level will reference to several time servers to
synchronize their clocks
• S2 Computers will peer with another S2 computers to provide
more reliable and robust time for all devices in the peer group
• They act as servers for requests from Stratus 3
NTP - Clock Strata
• Stratum 3, 4, …
• Computers employ the same NTP function as in
Stratum 2
• Potentially up to 16 levels
* Image taken from www.wikipedia.com
NTP - Synchronization Subnet
Computer local clock are synchronized to a
number of Time Servers and peer computer
The set of these computers and Time
Servers is known as the Synchronization
Subnet
The Stratum Number for each computer is
determined by the hop count to the root
(Strata 0)
NTP - Synchronization Subnet
Example:
NTP - Determining Time
Timestamps exchanged between the server
and clients (subnet peers)
NTP - Determining Time
Examples:
NTP - Determining Time
Bounds for Clock Offset
NTP - Peer Selection &
Combining Algorithms
Definitions:
• Synchronization Distance: Roundtrip path delay
to the root
• Synchronization Dispersion: Total dispersion to
the root.
Dispersion is defined by:
NTP - Peer Selection &
Combining Algorithms
Assumptions:
• The best offset samples should occur at the
lowest delays
• The highest reliability is usually associated with
the lowest stratum and synchronization
dispersion.
NTP - Peer Selection &
Combining Algorithms
Filtering
• The candidate list is sorted by stratum and
synchronization dispersion
• A sanity check is performed
• If no peers pass the sanity check, the algorithm
is aborted and no updates are made
• List is pruned to obtain one with a maximum
predetermined size (m)
NTP - Peer Selection &
Combining Algorithms
Faulty clocks detection
The candidate list is sorted by stratum and
synchronization distance
For each candidate j (0 ≤ j ≤ m) compute the Select
Dispersion:
Discard the candidate with the maximum єj and repeat
this faulty clocks detection algorithm
The algorithm stops when all the maximum selection
dispersion over all the remaining candidates is less than
the minimum value or there is only one candidate
remaining in the list
NTP - Peer Selection &
Combining Algorithms
NTP - Modes of Operation
Multicast
• For high speed networks
• High Accuracies are not required
• Time Servers send periodic NTP broadcasts
• Determine the time based on an assumed delay
• Time servers provides synchronization, but do
not accept NTP messages from clients
NTP - Modes of Operation
Procedure-Call
• Intended for file servers or workstations that require high
levels of accuracy
• A Time Server acting as a client send a request to a
peer operating as a server
• Server after inserting timestamps and recalculating the
checksum, sends back the message
• A server operating as a client can be synchronized, but
cannot provide synchronization
• A server operating as a server can provide
synchronization, but cannot be synchronized
NTP - Modes of Operation
Symmetric
• A server can provide synchronization or to be
synchronized
• Two modes of operation:
• Active Mode: For servers in the high levels of the
stratum (near the leaves)
• Passive Mode: For servers in the low levels of the
stratum (near the root)
NTP - References
[ 1 ] D. Mills, “Internet Time Synchronization: The Network
Time Protocol”, IEEE Trans. on Communications, vol. 39,
no. 10, pp. 1482 – 1493, Oct. 1991.
[ 2 ] NTP: The Network Time Protocol - www.ntp.org
[ 3 ] Fault Tolerant Time Synchronization -
www.eecis.udel.edu/~millslab
[ 4 ] Wikipedia - www.wikipedia.com
NTP - References
Questions ?