本文关键词:SNTP工作原理、工作模式、数据格式!

本文关键词:SNTP、工作原理、工作模式、数据格式

SNTP是简单网络时间协议(Simple Network Time protocol)的简称,它是目前Internet网上实现时间同步的一种重要工程化方法。

SNTP协议工作原理

SNTP 协议采用客户/服务器工作方式,服务器通过接收 GPS信号或自带的原子钟作为系统的时间基准,客户机通过定期访问服务器提供的时间服务获得准确的时间信息,并调整自己的系统时钟,达到网络时间同步的目的。

本文关键词:SNTP工作原理、工作模式、数据格式!

SNTP 校时原理

SNTP协议主要是通过记录客户端向服务器发送数据包时的时间戳t1,服务器端接收到该数据包时的时间戳t2,服务器向客户端回应时的时间戳t3和最后客户端接收到服务器回应时的时间戳t4来计算客户端时间和服务器端时间的偏差,从而进行校时操作,如下图所示:

本文关键词:SNTP工作原理、工作模式、数据格式!

t1与t2之间的时间差为 ((T2-T1)+ (T3-T4))/2

数据包在网络上的传播时间是 (T2-T1) + (T4-T3)

SNTP协议工作模式

SNTP 协议可以使用单播、广播或多播模式进行工作。

单播模式是指一个客户发送请求到预先指定的一个服务器地址,然后从服务器获得准确的时间、来回时延和与服务器时间的偏差。

单播模式下,一种简单的计算可以用来计算与服务器有关的往返传播延迟 d及本地时钟补偿 t,通常对在数十毫秒内。当收到答复时,客户端将目的时间戳作为到达时间,并根据它的本地时钟,将其转变成NTP格式。下述表格总结4个时间戳:

本文关键词:SNTP工作原理、工作模式、数据格式!

广播模式是指一个广播服务器周期地向指定广播地址发送时间信息,在这组地址内的服务器侦听广播并且不发送请求。

多播模式是对广播模式的一种扩展,它设计的目的是对地址未知的一组服务器进行协调。在这种模式下,多播客户发送一个普通的NTP请求给指定的广播地址,多个多播服务器在此地址上进行侦听。

一旦收到一个请求信息,一个多播服务器就对客户返回一个普通的 NTP服务器应答,然后客户依此对广播地址内剩下的所有服务器作同样的操作,最后利用 NTP迁移算法筛选出最好的三台服务器使用。

在 Internet上,SNTP 广播或多播客户极易受到来自其它SNTP服务器的攻击,因此在 Internet上使用该服务时,一定要采用访问控制和加密的措施。

SNTP数据格式

SNTP协议同其它

的网络应用层协议一样,都具有一定的数据格式,它主要涉及时间的表示,即时间戳的格式;数据如何组帧在网络上传输,即信息帧格式。

SNTP信息帧格式

SNTP协议是UDP协议的客户,它利用UDP的123端口提供服务,SNTP客户在设置请求信息时要把UDP目的端口设置为该值,源端口可以为任何非零值,服务器在响应信息中对这些值进行交换。同其它应用层协议一样,SNTP协议的数据通信也是按数据帧的格式进行。

SNTP时间戳格式

SNTP时间戳是该协议的重要产品,用来对时间进行精确表示。它由一个64位无符号浮点数组成,整数部分为头32位,小数部分为后32位;单位为秒,时间相对于1900年1月零点。它能表示的最大数字为4,294,967,295秒,同时具有232PS的精确性,这能满足最苛刻的时间要求。

本文关键词:SNTP工作原理、工作模式、数据格式!

值得注意的是在1968年的某一个时间(2,147,483,648秒)时间戳的最高位已被设置为1,在2036年的某一个时间(4,294,967,295秒)64位字段将会溢出,所有位将会被置为零,此时的时间戳将会被视为无效。


分享到:


相關文章: