NTP协议格式中文word版本.docx
《NTP协议格式中文word版本.docx》由会员分享,可在线阅读,更多相关《NTP协议格式中文word版本.docx(9页珍藏版)》请在冰豆网上搜索。
NTP协议格式中文word版本
NTP协议格式(中文)
NTP协议格式
1.NTP时间戳格式
SNTP使用在RFC1305及其以前的版本所描述标准NTP时间戳的格式。
与因特网标准标准
一致,NTP数据被指定为整数或定点小数,位以big-endian风格从左边0位或者高位计数。
除非不这样指定,全部数量都将设成unsigned的类型,并且可能用一个在bit0前的隐含0
填充全部字段宽度。
因为SNTP时间戳是重要的数据和用来描述协议主要产品的,一个专门的时间戳格式已经
建立。
NTP用时间戳表示为一64bitsunsigned定点数,以秒的形式从1900年1月1日
的0:
0:
0算起。
整数部分在前32位里,后32bits(secondsFraction)用以表示秒以下
的部分。
在SecondsFraction部分,无意义的低位应该设置为0。
这种格式把方便的多精
度算法和变换用于UDP/TIME的表示(单位:
秒),但使得转化为ICMP的时间戳消息表示法(单
位:
毫秒)的过程变得复杂了。
它代表的精度是大约是200picoseconds,这应该足以满足
最高的要求了。
01234567890123456789012345678901
--------------------------------
|Seconds|
--------------------------------
|SecondsFraction(0-padded)|
--------------------------------
2.NTP报文格式
NTP和SNTP是用户数据报协议(UDP)的客户端[POS80],而UDP自己是网际协议(IP)
[DAR81]的客户端.IP和UDP报头的结构在被引用的指定资料里描述,这里就不更进一步
描述了。
UDP的端口是123,UDP头中的源断口和目的断口都是一样的,保留的UDP头如规范
中所述。
以下是SNTP报文格式的描述,它紧跟在IP和UDP报头之后。
SNTP的消息格式与
RFC-1305中所描述的NTP格式是一致的,不同的地方是:
一些SNTP的数据域已被风装,也就是说已初始化为一些预定的值。
NTP消息的格式被显示如
下。
123
01234567890123456789012345678901
--------------------------------
|LI|VN|Mode|Stratum|Poll|Precision|
--------------------------------
|根延迟|
--------------------------------
|根差量|
--------------------------------
|参考标识符|
--------------------------------
||
|参考时间戳(64)|
||
--------------------------------
||
|原始时间戳(64)|
||
--------------------------------
||
|接受时间戳(64)|
||
--------------------------------
||
|传送时间戳(64)|
||
--------------------------------
||
||
|认证符(可选项)(96)|
||
||
--------------------------------
:
如下一部分描述,在SNTP里大多数这些字段被预规定的数据给赋初值。
为完整起见,每个
字段的功能在下面被简要总结。
1.LI闰秒标识器:
这是一个二位码,预报当天最近的分钟里要被插入或删除的闰秒秒数。
用1/0表示,分别说明如下:
(闰秒(rùnmiǎo)是指为保持协调世界时接近于世界时时刻,由国际计量局统一
规定在年底或年中(也可能在季末)对协调世界时增加或减少1秒的调整。
由于地
球自转的不均匀性和长期变慢性(主要由潮汐摩擦引起的),会使世界时(民用时)
和原子时之间相差超过到±0.9秒时,就把世界时向前拨1秒(负闰秒,最后一分钟
为59秒)或向后拨1秒(正闰秒,最后一分钟为61秒);闰秒一般加在公历年末
或公历六月末。
2012年3月,中科院国家授时中心宣布我国7月1日进行闰秒调
整,届时将现7:
59:
60。
)
LIValue含义
000无预告
011最近一分钟有61秒
102最近一分钟有59秒
113警告状态(时钟未同步)
2.VN版本号:
这是一个三bits的整数,表示NTP的版本号,现在为3。
3.Mode模式:
这是一个三bits的整数,表示模式,定义如下:
mode含义
1
2保留对称性激活被动的对称性
3
4
5
6
7客户端服务器广播为NTP控制性系保留为自用保留
在点对点模式下,客户端机在请求中设置此字段为3,服务器在回答时设置此字段为4;在
广播模式下,服务器在回答时设置此字段为5。
4.stratum(层):
这是一个8bits的整数(无符号),表示本地时钟的层次水平,数值定
义如下:
stratum含义
0未指定或难以获得
1主要参考(如无线电时钟钟)
2.15第二参考(通过NTP/SNTP)
16.255保留
5.Poll测试间隔:
八位signedinteger,表示连续信息之间的最大间隔,精确到秒的平
方及。
本字段的值从4(16s)到14(16284s);然而,大多数应用使用6(64s)到10(1024s)。
6.Precision精度:
八位signedinteger,表示本地时钟精度,精确到秒的平方级。
值从
-6(主平)到-20(微妙级时钟)。
7.RootDelay根时延:
32位带符号定点小数,表示在主参考源之间往返的总共时延,以
小数位后15~16bits。
数值根据相关的时间与频率可正可负,从负的几毫秒到正的几百
毫秒。
8.RootDispersion根离散:
32位带符号定点小数,表示在主参考源有关的名义错误,以
小数位后15~16bits。
范围:
0~几百毫秒。
9.ReferenceIdentifier参考时钟标识符:
32bits,用来标识特殊的参考源。
在stratum
0(未指定)或stratum1(基本参考)的情况下,该字段以四个八位字节,左对齐,
零填充的string表示。
当没有NTP枚举时,使用下列ASCII标识符:
r阶层代码意思
1pps精度校准源,例如ATOM(原子钟),PPS代表(
每秒脉冲精度源),等等
1service除了一般的NTP报时服务外,例如ACTS
(计算机自动化报时服务),TIME(UDP/Time协议),
TSP(Unix报时服务协议),DTSS.
(数字化时间同步服务),等等
1radio一般的收音机服务,带有callsigns,例如CHU,
DCF77,MSF,TDF,WWV,WWVB,WWVH,等等
1nav无线电导航系统,例如OMEG(欧米加导航系统),
LORC(远距离无线电导航系统),等等
1satellite一般的卫星业务,例如GOES(地球同步轨道环境卫星),
GPS(全球卫星定位服务),等等
2address二级参考(4个八位二进制字节表示的NTP服务器因特网
地址)
-------------------------------------------------------------------------------
10.参考时间戳:
64bits时间戳,本地时钟被修改的最新时间。
11.原始时间戳:
客户端发送的时间,64bits。
12.接受时间戳:
服务端接受到的时间,64bits。
13.传送时间戳:
服务端送出应答的时间,64bits。
14.认证符(可选项):
当NTP的认证机制已运行后,这个字段包含认证者的信息(参见
RFC1305中的附件C)。
在SNTP中本字段一般被来报输入消息所忽略,也不用在输出消
息中。
客户端操作
SNTP客户端与NTP/SNTP服务器通信的模式是一个非持久状态的远程过程调用。
在单播
方式,客户端发给服务器(方式3)请求并且期望服务器答复(方式4)。
在广播方式,客户
端送并不请求只是等待一台或更多的服务器的广播消息(方式5),这取决于设置。
根据客
户端和服务器设置,单播客户端和广播服务器通常在从64给1024s的间隔里发送消息。
单播客户端初始化SNTP报文首部,再把消息发送到服务器,然后从服务器回复的报文
中剥去时间包。
为此,上面提到的所有报文首部字段,除第一个八位字节外都设置成0。
在
这个八位字节里Li字段设置为0(没有警告)和方式字段设置为3(客户端)。
VN字段必须
同NTP或者SNTP服务器的软件版本一致;但是,NTP版本3(RFC1305)的服务器也将接受
第2(RFC1119)版本的消息以及版本1(RFC1059)的消息,而NTP版本2服务器也将接受
NTP为版本1的消息。
版本0(RFC959)消息不再被支持。
因为今天因特网已有了NTP服
务器操作的3个版本,推荐VN字段设置1。
在单播及广播方式下,单播服务器回答及广播以上所述的所有字段;但是,在SNTP下,
各字段中,只有传送时间戳在非零情况下才有明确的意思.这个字段的整数部分包含服务器
此刻的时间,其格式与UDP/TIME协议相同[POS83].这个字段的fraction部分通常是有效的,
SNTP的精确度证明可以精确到秒。
如果传送用时间戳字段是全0,则该消息将被忽略。
在单播方式下,一种简单的计算可以用来计算与服务器有关的往返传播延迟d及本地时钟补
偿t,通常对在数十毫秒内。
为此,客户端在请求包中将本地时钟时间按NTP的格式写入源时
间戳。
当收到答复时,客户端将目的时间戳作为到达时间,并根据它的本地时钟,将其转变
成NTP格式。
下述表格总结4个时间戳。
用时间戳名字ID产生
原始时间戳T1时间请求由客户端送
收到时间戳T2时间请求在服务器收到
传送时间戳T3时间答复通过服务器送
目的