NTP: Deep level
How NTP really works?

I help companies scale across ๐ฐ๐น๐ผ๐๐ฑ ๐ฎ๐ป๐ฑ ๐ผ๐ป-๐ฝ๐ฟ๐ฒ๐บ environments without ๐ผ๐๐ฒ๐ฟ๐ฒ๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ๐ถ๐ป๐ด. My focus is on building ๐ฝ๐ฟ๐ฎ๐ด๐บ๐ฎ๐๐ถ๐ฐ, ๐ฟ๐ถ๐ด๐ต๐-๐๐ถ๐๐ฒ๐ฑ ๐๐ฒ๐ฐ๐ต๐ป๐ผ๐น๐ผ๐ด๐ ๐๐๐๐๐ฒ๐บ๐ that support real business needs systems that are reliable, cost-efficient, and easy to operate as the organization grows. I believe technology should enable momentum, not create unnecessary complexity or long-term maintenance burden. I work closely with ๐น๐ฒ๐ฎ๐ฑ๐ฒ๐ฟ๐๐ต๐ถ๐ฝ and ๐ฒ๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ๐ถ๐ป๐ด teams to make intentional technology decisions, balancing speed, stability, security, and cost. My approach is grounded in simplicity, clarity, and long-term sustainability rather than chasing tools or trends. My experience includes: โข Designing and scaling platforms across cloud and on-prem โข Improving system reliability and operational maturity โข Optimizing infrastructure costs through thoughtful architecture โข Automating delivery and operations to reduce friction and risk Iโm hands-on when execution is needed and strategic when direction matters most. Whether a company is preparing to scale or untangling complexity that has built up over time, I focus on solutions that work today and remain sensible tomorrow. If you value ๐ฐ๐น๐ฒ๐ฎ๐ฟ ๐๐ต๐ถ๐ป๐ธ๐ถ๐ป๐ด, ๐ฝ๐ฟ๐ฎ๐ฐ๐๐ถ๐ฐ๐ฎ๐น ๐ฒ๐ ๐ฒ๐ฐ๐๐๐ถ๐ผ๐ป, ๐ฎ๐ป๐ฑ ๐๐ฒ๐ฐ๐ต๐ป๐ผ๐น๐ผ๐ด๐ ๐๐ต๐ฎ๐ ๐๐ฒ๐ฟ๐๐ฒ๐ ๐๐ต๐ฒ ๐ฏ๐๐๐ถ๐ป๐ฒ๐๐, weโll work well togetherGiving up is not in the blood, sir. It's not in the blood.
What is an NTP server?
In a network of computers, the Network Time Protocol (NTP) is a protocol that is used to synchronize computer clock timings. Computer clock timings are synchronized to a millisecond, and occasionally to a fraction of a millisecond, via NTP using Coordinated Universal Time (UTC). Radio and satellite technologies are only two of the many ways to get UTC. For high-level services like the Global Positioning System (GPS) and the governments of some countries, specialized receivers are available. However, it would not be practicable or economical to install one of these receivers on every computer.
The receivers are instead installed on computers designated as primary time servers, which employ protocols like NTP to synchronize the clock timings of networked computers. Strata are specified as distances from the UTC source. A computer that is directly connected to the radio clock is in stratum 0, a computer that receives its time via a computer in stratum 1 is in stratum 2, and so on. A radio clock (which obtains true time from a dedicated transmitter or satellite navigation system) is in stratum 0.
Purpose: Synchronize the clocks of a sever constellation to UTC
Utility: Time stamps are used everywhere. Starting from log files to banking apps
Packet: UDP protocol - port 123
Binary : It uses its own binary format( RFC 1305, RFC 2030)
How packets are exchanged in NTP?
โข Packet sent: ------> client sends the request with its timestamp. <----- Server returns the packet with 3 timestamps:
- Echo of client timestamps.
- When did the server receive the request?
- When did sever send the response?
- Client estimates the offset between him and the server.
- The client can have many servers.
- Client chooses only one NTP server to sync time.
- Minimize the offset and skew with a feedback loop.
Network Uses of NTP:
- Pair of very small packets at every 64-1024 seconds are being exchanged for each server.
- As per the latest estimate only 0.01 % of world traffic on the internet is of NTP (less than 5GB per day).
How NTP works?
NTP is based on "Marzullo's" algorithm. But is used only by high stratum servers to get accurate time using serval sources.
So what is stratum?
- Stratum levels define the distance from a high-precision Reference Clock. A Stratum-0 device is assumed to be the most accurate and it has no delay. Each server participating in the hierarchy is allocated a stratum, with Stratum-1 being the master servers (which are connected to High Precision time source), and Stratum-2 being the secondary servers, down to the lower end of Stratum-15.
- Stratum-0 consists of high-precision time sources. Stratum-0 Time Devices are very accurate reference clocks (For example: Atomic Clocks). Stratum-0 time devices cannot be used on the network directly as an NTP Server. Stratum-0 time devices are connected to Stratum-1 Time Servers. That is, Stratum-1 Time Servers get their time synchronized from a Stratum-0 time source. Stratum-1 Servers are also referred to as primary NTP time servers.
- An NTP server that is directly connected to a Stratum-0 device is called a Stratum-1 Time Server. An NTP Server, which is getting its time synchronized from a Stratum-1 time server is called a Stratum-2 NTP time server. Stratum-2 Time Servers get their time synchronized from a Stratum-1 time source. A Server, which is getting its time synchronized from a Stratum-2 time server is called a Stratum-3 time server, and so on. Stratum-3 Time Servers get their time synchronized from a Stratum-2 time source. In the NTP hierarchy, the Stratum-0 level device has the most precise time, Since Stratum-1 NTP Server is synchronizing its time from the Stratum-0 time device, Stratum-1 is less precise than Stratum-0 and so on.
- But normally, a normal client, on a normal day will use only one server
- NTP time is not being stored or sent in an actual YY/MM/DD format. NTP timestamps are stored in seconds, and the seconds are calculated since 1 Jan 1990
- Timestamp is actually a 64-bit in size. 32-bit is for a number of seconds and 32-bit is for fraction of a second.
- For instance, let's say a client initiates communication with the server, and it sends requests with the time stamps. Now, this timestamp is calculated in a number of seconds since 1 Jan 1990 and is a 64-bit in size of 32-bit number second and 32-bit of a fraction of a second.
Why are we using NTP?
- Client time is "wrong time"
- NTP server time is "true time"
Steps involved:
- Client sends the request at the "wrong time" 100.
- A=100 ( note that 100 is a second )
- Because of Internet connectivity and the presence of delay. The server gets the request at "true time" (server time) at 150.
- X=150
- Server might be busy, so it doesnโt send out the response until " true time " at 160.
- Y=160
- Because again of internet connectivity, client will get the request at the " wrong time " 120.
- B=120.
- Client determines the time spent on the network is:
- B-A- (Y-X)
- 120-100-(160-150) 10 sec
- Client assumes that time it took for the response to get from severe to client
- 10/2=5 sec
- Client will add that time to the "true time" when the server sends the response to estimate that it received the response at "true".
- 160 + 5 = 165
- Client now knows that he needs to add 45 seconds to the clock.
- Subtract the time at which the client received the request from the server and the estimated time i.e 165
- 165-120 = 45
DRIFT FILE
- Drift happens when your hardware clock is either fast or slow compared to the reference clock ( NTP Server)
- NTP V4 -- can accurately keep a clock within 233 picoseconds.
- If itโs a +ve number in the drift file --- your clock is faster than the reference clock
- If itโs a -ve number in the drift file ---- your clock is slow as compared to the reference clock.
- Number in the Drift file is measured in PPM(Parts per million)




