Protocol in Code · Track

NTP

offset and delay solved from four timestamps under an assumption of symmetry

4 sessions Course material (English)

Sessions

NTP track sessions

Session 01

Four Timestamps, Two Unknowns

An NTP exchange hands back four timestamps. What can you actually solve for from just those four numbers, and what has to be assumed to get there?

Open Session 01
Session 02

Stratum Is Depth in a Tree

Every NTP server advertises a stratum number. What is that number actually counting, and why does a client prefer a lower one even when it means a longer round trip?

Open Session 02
Session 03

Symmetry Is an Assumption

offset() assumes the outbound and return delays are equal. When they are not, exactly how wrong does the reported offset get -- and can the protocol ever tell?

Open Session 03
Session 04

Build the Toy NTP Client Loop

Given several exchanges with a server (or servers), how does a real client decide which sample to trust, and how does it apply that sample's correction without risking a dangerous jump?

Open Session 04