I'm trying to understand TCP timestamps and their uses.

Suppose I have a TCP session between two hosts, and one of them sends a packet to the other. When the receiver receives the packet, is it possible to use the TCP timestamp to compute the time that packet took to go from the sender to the receiver? Does it matter that the clocks used for the timestamps on the two hosts may not be synchronized?

I know trip time can be measured if you wait for an ACK to get the RTT and then divide by 2, but can the receiver measure trip time from some sender without having to send or receive further packets (and just using TCP/IP header data?

  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer.
    – Ron Maupin
    Dec 25, 2018 at 8:34

1 Answer 1


If the Sender supports TCP Timestamp (it is not required, or needs to be accurate), then it will be based on the Sender's clock. If the clocks are not synchronized, then you can not accurately compute the time that packet took to reach the receiver.

Based on my experience ICMP protocol is better suited for measurement of Time that packet takes to travel between two hosts. As you go higher up on the OSI model, there will be additional delay in processing of the data at host level.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.