名称: NTP (NET TIME PROTOCOL) 网络时间校准协议
原理:
过程: 1.假设 Device A : 10:00:00 Device B: 11:00:00 A到B的传输时延为1s
2.A发送报文给b 加上A此刻的时间戳(TimeStamp) 10:00:00 [T1],
3.B接受到报文后立马加上自己的时间戳 11:00:01 [T2];
4.B在返回该报文后加上此刻的时间戳 11:00:02 [T3];
5.A在接受到B发会来的报文 记下此刻的时间 10:00:03 [T4];
计算: 1. 在客户端A看来 , 和 NTP 服务器的通路之间的时间延时为 (T4 – T1) – (T3 – T2)
2. A与B之间的时间间隔(TimeSetoff) 为 ((T2 – T1) + (T3 – T4))/2
理解: T2 – T1 若把这个式子当作最后 的结果 会大于真实值 (当B收到报文后 A的实际时间是会比报文中记载的T1大一个延时)
即真实值为 T2 – (T1 + T[delay]) ,所以要补偿这个T[delay_go] 。
引入T3 – T4, 若把这个式子当作最后的偏差,会比真实值大 ,此刻的真实值为 T3 + T[delay_back] – T4。
如果假设 数据报来回的时间延时是相等的 即T[delay_go] = T[delay_back] ,那么 真实值为 ((T2 – T1) + (T3 – T4))/2;
NTP的报文格式:
NTP时钟校准报文,基于UDP报文进行传输,使用的UDP报文端口为123,时钟同步报文封装在UDP报文中,格式如下:
主要字段解释:
LI(Leap Indicator):长度为2比特,值为“11”时表示告警状态,时钟未被同步。为其他值时NTP本身不做处理。
VN(Version Number):长度为3比特,表示NTP的版本号,目前的最新版本为3。
Mode:长度为3比特,表示NTP的工作模式。不同的值所表示的含义分别是:0未定义、1表示主动对等体模式、2表示被动对等体模式、3表示客户模式、4表示服务器模式、5表示广播模式或组播模式、6表示此报文为NTP控制报文、7预留给内部使用。
Stratum:系统时钟的层数,取值范围为1~16,它定义了时钟的准确度。层数为1的时钟准确度最高,准确度从1到16依次递减,层数为16的时钟处于未同步状态,不能作为参考时钟。
Poll:轮询时间,即两个连续NTP报文之间的时间间隔。
Precision:系统时钟的精度。
Root Delay:本地到主参考时钟源的往返时间。
Root Dispersion:系统时钟相对于主参考时钟的最大误差。
Reference Identifier:参考时钟源的标识。
Reference Timestamp:系统时钟最后一次被设定或更新的时间。
Originate Timestamp:NTP请求报文离开发送端时发送端的本地时间。
Receive Timestamp:NTP请求报文到达接收端时接收端的本地时间。
Transmit Timestamp:应答报文离开应答者时应答者的本地时间。
Authenticator:验证信息。
今天的文章NTP时间校准_时间校准服务器分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74384.html