A little background on this custom service:

It was used on a Lantronix NTP server, that uses version 1 of NTP.  When the clock was not synced, it would NOT report that it was a server.

The first 8 bits of the received message are as follows:

  0  1   2  3  4  5   6  7
+--+--+--+--+--+--+--+--+
|  L  I  |  VN    | MODE |
+--+--+--+--+--+--+--+--+

LI is leap indicator (bits 0 & 1)

00 = No Warning
01 = Last Minute has 61 seconds
10 = Last Minute has 59 seconds
11 = Alarm Condition

VN = Version of NTP used  (bits 2-4)


Mode (bits 5-7)
0 = Reserved
1 = symmetric active
2 = symmetric passive
3 = client
4 = server
5 = broadcast
6 = reserved for NTP control message
7 = reserved for private use

When I sent the clock the "command" %11 (and the 47 string of zeros, it wanted 48 bytes total) it was saying "I'm rev 1 ntp client", and the clock responded with "I'm rev 1 server (and the timestamp, which I ignored).

So maybe the clock your dealing with is running a different rev of NTP.  As I read RFC 2030 on NTP, the server will accept client versions less that what they are running.  So perhaps the server is responding at a higher rev than 1, in which case the EAC of %12 would fail.

The % values for the version changes would be as follows:

%11 Version 1 client
%12 Version 1 server

%19 Version 2 client
%20 Version 2 server

%27 Version 3 client
%28 Version 3 server

Another method would be to alarm if that first byte comes back with the first two bits turned on (I'm not in sync).  That would mean any value between %192 and %255 would indicate service failure.


To be honest, I stopped using this test because I would get a couple of false alarms per day with it.  I just fired it up again and quickly tested it out against a Truetime Timevault and it seems to work as is.

Jay Drew


At 11:21 AM 8/29/2002 +0200, you wrote:

Hi !

I'm trying to make a custom service for NTP (port 123).

In the KB I found this

http://support.ipswitch.com/kb/WG-20010131-DM01.htm

[SNTP]
EOC=
SOC=%11%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0% 0%0%0%0%0%0%0%0%0%0%0%0%0
EAC=%12
PORT=123
TIMEOUT=2000


I can't get this to work, my NTP server is a Linux with a NTP deamon running.


Does anyone have a solution ?

I run 6.03

Med venlig hilsen / Kind regards

Henning Markussen

Reply via email to