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

Four timestamps

03

Two local timestamps and two remote timestamps let a client separate server processing time from network travel.

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
3 / 3
Four timestampsTwo illustrated clocks keep their own timelines. The request carries T1 to the server at T2; after processing it returns T1, T2 and T3, and the client measures T4 locally.Two clocks. One round trip.Each timestamp belongs to the clock beside itClient clockServer clocktimeT1request →T2processing timeT3← reply: T1, T2, T3T4The client records arrival on its own clock
03
Record client arrival.

The client measures T4 locally and now has the four timestamps needed for calculation.

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

Record each boundary with the correct clock.

  • T1 and T4 are measured by the client; T2 and T3 by the server.
  • The reply returns the original request timestamp along with the server receive and transmit timestamps.
  • The destination timestamp is captured locally on receipt, rather than being trusted from the server.
DETAILS

The two lifelines show the client and server clocks; T1 through T4 mark send and receive events. Timestamp placement near packet transmission and reception reduces avoidable measurement error.

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 ↗