How should NTP-server behave?

I’ve set up NTP-client on my RouterBoard 450G and it is synchronised with a server.

Then I installed the NTP-server package and configured it as follows:

/system ntp server> print
    enabled: yes
  broadcast: no
  multicast: no
   manycast: no

My Windows client update just fine from the server but I’ve noticed some odd behaviour nonetheless.

At the specified time, my Windows host send this to the router (Wireshark captured frame)

Flags: 0x19
00.. .... = Leap Indicator: no warning (0)
..01 1... = Version number: NTP Version 3 (3)
.... .001 = Mode: symmetric active (1)

Peer Clock Stratum: secondary reference (4)
Peer Polling Interval: 10 (1024 sec)
Peer Clock Precision: 0,015625 sec
Root Delay:    0,0495 sec
Root Dispersion:    0,1801 sec
Reference Clock ID: 192.168.0.251
Reference Clock Update Time: Mar  7, 2011 14:28:35,5970 UTC
Originate Time Stamp: Mar  7, 2011 14:28:37,6916 UTC
Receive Time Stamp: Mar  7, 2011 14:28:35,5970 UTC
Receive Time Stamp: Mar  7, 2011 14:28:35,5970 UTC

The router replies to this request 16 times. This might or might not be normal. First I’ll show what the router replies:

Flags: 0x1a
00.. .... = Leap Indicator: no warning (0)
..01 1... = Version number: NTP Version 3 (3)
.... .010 = Mode: symmetric passive (2)

Peer Clock Stratum: secondary reference (3)
Peer Polling Interval: 6 (64 sec)
Peer Clock Precision: 0,000008 sec
Root Delay:    0,0183 sec
Root Dispersion:    0,0394 sec
Reference Clock ID: 109.72.80.61
Reference Clock Update Time: Mar  7, 2011 15:16:22,7043 UTC
Originate Time Stamp: Mar  7, 2011 15:16:36,8839 UTC
Receive Time Stamp: Mar  7, 2011 15:16:42,8178 UTC
Transmit Time Stamp: Mar  7, 2011 15:16:55,6916 UTC

Root delay, rout dispersion, transmit timestamp differ with every reply. There may be other values that differ but the one’s I mention are really obvious.
If you multiply 64 by 16 you’ll get 1024. Anyway, is this normal NTP-behaviour? I’ve googled it but so far I can’t really make too much sense out of all this:)

The problem is the stratum I believe. Windows likes to see 2 or less ( I believe ) and its even more strict when it’s a AD member. I’ve posted many times in the past asking if Mikrotik can force stratum 0 or 1 if a GPS is used, but they haven’t acted.

If the stratum of Windows is 2, it will not accept the Mikrotik as a more reliable source. I had that issue first:). That kind of resolved itself after a reboot (Windows reboot that is). The Mikrotik has stratum 3, and Windows now (correctly) says it has 4.

My question is specifically with the large number of packets sent from the Mikrotik to the host. NTP is a more complicated protocol than meets the eye. Apperently, Windows uses SNTP which is not quite the same.


edit: I’ve now used time.nist.gov as a sever, and there the polling interval is also 1024. This results in only 1 packet sent in reply by the nist time server. If I’m correct, the Mikrotik should increase the polling interval from 64 to 1024 over time. It does not appear to do that. Perhaps I should mail support for some more details.