新闻中心

EEPW首页>嵌入式系统>设计应用> 基于STM32控制器的SNTP授时服务器的研究与设计

基于STM32控制器的SNTP授时服务器的研究与设计

作者: 时间:2012-08-07 来源:网络 收藏

2 SNTP协议分析
SNTP即简单,它是一个用于局域网子网末端的协议,其要求在操作过程中只允许存在一个可靠的同步时钟源,是
NTP协议的一个简化版本。
2.1 SNTP的同步原理
SNTP协议主要通过同步算法来交换时间服务器和客户端的时间戳,从而估算出数据包在网络上的往返延迟,进而独立地估算系统的时钟偏差。它的原理的传输模型如图2所示。

2b.JPG


图2中,T1为客户方发送查询请求时间(以客户方时间系统为参照),T2为服务器收到查询请求时间(以服务器时间系统为参照),T3为服务器回复时间信息包时间(以服务器时间系统为参照),T4为客户方收到时间信息包时间(以客户方时间系统为参照),D1为请求信息在网上传播所消耗的时间,D2为回复信息在网上传播所消耗的时间。假设请求和回复在网上的传播时间相同,即:δ1=δ2,则可得出如下公式:
2c.JPG
式中,θ为客户端时间与标准时间之差,δ为信息在网上传播的时间。可以看到,θ、δ只与T2、T1的差值和T4、T3的差值相关,而与T2、T3的差值无关,即最终的结果与服务器处理请求所需的时间无关。据此,客户端(CLIENT)即可通过T1、T2、T3、T4十算出的时差0去调整本地时钟。
2.2 SNTP协议格式
SNTP消息一般封装在UDP报文中,UDP的端口号是123,UDP头中的源端口和目的端口是一样的。SNTP消息紧跟在IP和UDP报头之后,其协
议格式如图3所示。

2d.JPG


图3中,U为跳跃指示器,可警告在当月最后一天的最终时刻插入的迫近闺秒(闺秒)。VN表示版本号。Mode为模式,该字段包括以下值:
O(预留);1(对称行为);3(客户机);4(服务器);5(广播);6(NTP控制信息)。Stratum用于对本地时钟级别的整体识别。Poll表示有符号整
数表示连续信息间的最大间隔。Precision表示有符号整数,表示本地时钟精确度。Root Delay为有符号固定点序号,表示主要参考源的总延迟,如很短时间内的15到16间的分段点。Root Dispersion为无符号固定点序号表示相对于主要参考源的正常差错,如很短时间内的位15到16间的分段点。



评论


相关推荐

技术专区

关闭