Visual RFC.
ALL RFCs / RFC 5905
Read the RFC ↗
RFC 5905 / MEASURING THE NETWORK

Offset & round-trip delay

04

The timing exchange estimates how far the server clock is ahead and how much time the packets spent traveling.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 8 ↗
RFC 5905 · § 8EXAMPLE
4 / 4
Offset & round-trip delayThe four worked timestamps yield a +5 millisecond server-minus-client offset and a 20 millisecond network round-trip delay, then become filter input.A worked timing measurementIllustrative values in millisecondsT1 = 0client sendT2 = 15server receiveT3 = 17server sendT4 = 22client receiveOffset: server clock minus client clockθ = ((15 − 0) + (17 − 22)) / 2θ = +5 ms → server is aheadδ = (22 − 0) − (17 − 15) = 20 msPass delay and uncertainty with the estimateKeep delay and uncertainty alongside offset
04
Attach uncertainty information.

Filtering uses delay and dispersion along with the offset.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

The offset is an estimate shaped by path asymmetry.

  • Offset θ = ((T2−T1) + (T3−T4)) / 2. A positive value means the server clock is ahead of the client.
  • Round-trip delay δ = (T4−T1) − (T3−T2).
  • Unequal forward and reverse delays bias the offset estimate; one exchange cannot discover that asymmetry by itself.
DETAILS

For example, T1=0 ms, T2=15 ms, T3=17 ms, and T4=22 ms produce offset +5 ms and round-trip delay 20 ms. The example is illustrative, not a performance guarantee.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. A hierarchy of clocks
  2. Modes & associations
  3. Four timestamps
  4. Offset & round-trip delay
  5. Packets & sanity checks
  6. Filter noisy samples
  7. Select, cluster, combine
  8. Discipline & poll control
  9. Eras, leap indicators & KoD
  10. Authentication & later updates
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗