[ntp:questions] Packet timestamps when using Windows-7/Vista

David J Taylor david-taylor at blueyonder.delete-this-bit.and-this-part.co.uk.invalid
Fri Dec 11 08:23:00 UTC 2009


[Posted to NTP Hackers, but no reaction there as yet]

I've written a small program which sends some SNTP packets to various NTP 
servers on my LAN, and looks at the timestamps which the server adds as 
its RX and TX times.  With Windows-7 and Vista I'm seeing some odd 
results.  I'm measuring (server TX) - (server RX) time.

1 - Bacchus - Windows 2000 Server - GPS/PPS ref. clock - older computer - 
550MHz Pentium III.  Most values around 70 us (microseconds) with a tail 
up to about 120us.

2 - Feenix - Windows XP Home - GPS/PPS ref. clock - 1.9GHz single core 
Pentium 4.  Most values around 20-40us, tail to 100us.  Occasional values 
out to 1000us or more.

3 - Narvik - Windows XP Pro - LAN-synced - ~2.2GHz dual-core PC.  Most 
values 6 - 11us.  Occasionally more.

4 - Gemini - Windows Vista - LAN synced - ~2.2GHz dual-core PC.  A 
distribution ranging from about -1000us to +1000us, possibly triangular 
(I'm looking on a log Y-axis).

5 - Puffin - Windows Vista - wifi-LAN-synced - ~2+ GHz dual-core PC. 
Similar results to Gemini.

6 - Stamsund - Windows 7 - GPS/PPS ref. clock - 2.8GHz single core HT 
Pentium 4.  Most results in the range 17-25us, but with some extremes.

7 - Hydra - Windows 7 - LAN synced - single-core AMD 3200+. Similar 
distribution to Gemini.

So there are two things about these results which concern me:

A - if my program is correct, it seems that the timestamps on the 
Windows-7/Vista systems are being set inconsistently, in that the server 
transmit timestamp can be /before/ the receive timestamp!  From the 
distribution it seems that one timestamp is "precise" and the other a 
Windows value based on a one millisecond (approx) timer.

B - Why does the Windows-7 system with a GPS/PPS reference clock not 
behave in the same way i.e. it doesn't give negative (TX-RX) times?

What I don't know is whether these results are to be expected, whether 
they may have any effect on the operation of NTP, and whether they might 
even be the results of coding errors.  I'm wondering whether this 
indicates that something could be done to improve NTP on Windows-7/Vista, 
and whether it might even provide a further clue as to why 4.2.5 performs 
worse on Windows-7/Vista than on 2000/XP.


More information about the questions mailing list