NTP packet

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

NTP packet

2,588 次查看
cbursk
Contributor I

Hello,

I need to come up with an implementation of an NTP packet.  I was hoping that there was already built in support for this in MQX, but so far I'm coming up empty.  I thought I saw in another thread that SNTP is supported, but I can't seem to find any info on it.

Any pointers would be appreciated.

Thanks,

0 项奖励
回复
3 回复数

962 次查看
PetrL
NXP Employee
NXP Employee

Hi,

 

MQX implements SNTP client. See MQX RTCS User's guide (MQXRTCSUG.pdf) chapeters 7.1.147 SNTP_oneshot() and 7.1.146 SNTP_init()..

 

Regards,

PetrL

0 项奖励
回复

962 次查看
cbursk
Contributor I

Thanks for your help, its amazing how much easier this becomes when e look in the right spot.  I do have a follow up question, in the sntp.c file in the SNTP_build_header method the header is built but the timestamp that gets set is the TRANSMIT_TIMESTAMP1 & 2.  I'm confised by this, if the header is being built to be transmitted by a client, shouldn't this be setting the ORIGINATE_TIMESTAMPs?  Also I can't seem to find where who fills in the REFERENCE_TIMESTAMPs.

 

Thank you!

0 项奖励
回复

962 次查看
EAI
Contributor IV

Per RFC-4330:

   Although setting the Transmit Timestamp field in the request to the
   time of day according to the client clock in NTP timestamp format is
   not necessary in a conforming client implementation, it is highly
   recommended in unicast and manycast modes.  This allows a simple
   calculation to determine the propagation delay between the server and
   client and to align the system clock generally within a few tens of
   milliseconds relative to the server.  In addition, this provides a
   simple method for verifying that the server reply is in fact a
   legitimate response to the specific client request and thereby for
   avoiding replays.  In broadcast mode, the client has no information
   to calculate the propagation delay or to determine the validity of
   the server, unless one of the NTP authentication schemes is used.

   To calculate the roundtrip delay d and system clock offset t relative
   to the server, the client sets the Transmit Timestamp field in the
   request to the time of day according to the client clock in NTP
   timestamp format.  For this purpose, the clock need not be
   synchronized.  The server copies this field to the Originate
   Timestamp in the reply and sets the Receive Timestamp and Transmit
   Timestamp fields to the time of day according to the server clock in
   NTP timestamp format.

 

0 项奖励
回复