The Network Time Protocol (NTP) is a protocol that enables the accurate synchronization of time and
date information across networked computer systems. NTP uses a hierarchical system of time
servers, where each server has a stratum level that indicates its distance from the primary reference
source. The primary reference source is usually an atomic clock or a GPS receiver, which provides the
Coordinated Universal Time (UTC). The NTP clients are the computer systems that want to
synchronize their system clocks with the UTC. The system clock is a software clock that runs in the
kernel and keeps track of the current time and date. The system clock can be influenced by various
factors, such as the hardware clock, the CPU frequency, the temperature, the load, and the network
latency. These factors can cause the system clock to drift or skew from the UTC, resulting in
inaccurate timekeeping. A NTP client observes and corrects the skew in time between the system
clock and the reference clock, which is the clock of the NTP server that the client is connected to. The
NTP client periodically sends requests to the NTP server and receives the server’s time stamps. The
NTP client then calculates the offset and the round-trip delay between its system clock and the
reference clock, and adjusts its system clock accordingly. The NTP client can also use multiple NTP
servers and apply algorithms to select the best one and filter out outliers. The NTP client can also
discipline the system clock by using a feedback loop that controls the clock frequency and reduces
the clock drift. By using NTP, the system clock can achieve a high accuracy and precision, usually
within a few milliseconds or microseconds of the UTC123.
The other options are not correct. The skew in time between the system clock and the hardware
clock is not observed and corrected by a NTP client, but by a separate utility called hwclock, which
can read and set the hardware clock. The hardware clock is a battery-powered device that keeps time
even when the system is powered off. The hardware clock is usually less accurate than the system
clock, and can be synchronized with the system clock at boot or shutdown time. The changes in the
time zone of the current computer’s location are not observed and corrected by a NTP client, but by
a configuration tool called timedatectl, which can set the system time zone and other parameters.
The time zone is a geographical region that has a uniform standard time and date. The time zone
does not affect the system clock, which always keeps the UTC, but only the display of the local time
and date for the user. The adjustments needed to support Daylight Saving Time (DST) are not
observed and corrected by a NTP client, but by the system’s time zone database, which contains the
rules and transitions for DST. DST is a practice of advancing the clocks by one hour during summer
months to make better use of daylight. DST is not observed in all regions and countries, and can vary
in start and end dates. The system’s time zone database is updated regularly to reflect the changes in
DST rules, and can be applied to the system clock to calculate the correct local time and
date. Reference: 1: Network Time Protocol - Wikipedia 2: How NTP Works - NTP Pool Project 3: How
To Set Up Time Synchronization on Ubuntu 20.042 : hwclock(8) - Linux manual page : timedatectl(1) -
Linux manual page : Daylight saving time - Wikipedia