30. NTP寸间戳格式
SNTP使用在RFC1305及其以前的版本所描述标准NTP寸间戳的格式。与因特网标准标准一致,NTP数据被指定为整数或定点小数,位以big-endian风格从左边0位或者高位计数。
除非不这样指定,全部数量都将设成unsigned的类型,并且可能用一个在bit0前的隐含0
填充全部字段宽度。
因为SNTP寸间戳是重要的数据和用来描述协议主要产品的,一个专门的时间戳格式已经
建立。NTP用时间戳表示为一64 bits unsigned 定点数,以秒的形式从1900年1月1日
的0: 0: 0算起。整数部分在前32位里,后32bits ( seconds Fraction )用以表示秒以下
的部分。在Seconds Fraction 部分,无意义的低位应该设置为0。这种格式把方便的多精
度算法和变换用于UDP/TIME的表示(单位:秒),但使得转化为ICMP勺时间戳消息表示法(单位:毫秒)的过程变得复杂了。它代表的精度是大约是200 picoseconds ,这应该足以满足
最高的要求了。
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seconds |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seconds Fraction (0-padded)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
31. NTP报文格式
NTP 和SNTP是用户数据报协议(UDP)的客户端[POS80 ],而UDF1己是网际协议(IP)[DAR81 ]的客户端.IP和UDP报头的结构在被引用的指定资料里描述,这里就不更进一步描述了。UDP勺端口是123, UD映中的源断口和目的断口都是一样的,保留的UD映如规范
中所述。
以下是SNTP报文格式的描述,它紧跟在IP和UDP报头之后。SNTP的消息格式与
RFC-1305中所描述的NTP格式是一致的,不同的地方是:一些SNTP勺数据域已被风装,也就是说已初始化为一些预定的值。NTP消息的格式被显示如下。 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LI | VN |Mode | Stratum | Poll | Precision |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 根延迟|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 根差量|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 参考标识符|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| 参考时间戳(64) | I I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I I | 原始时间戳(64) | I |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I I
|
接受时间戳(64)
I I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I I
|
传送时间戳(64)
I I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ I I I
I
| 认证符(可选项)(96) I I I I
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
如下一部分描述,在 SNTP 里大多数这些字段被预规定的数据给赋初值。为完整起见,每个 预报当天最近的分钟里要被插入或删除的闰秒秒
数。
含 义 无预告
最近一分钟有61秒 最近一分钟有59秒 警告状态(时钟未同步) 表示 NTP 的版本号,现在为 3。 表示模式,定义如下:
义 保留 对称性激活 被动的对称性
客户端 服务器
广播
为NTP 控制性系保留
为自用保留
在点对点模式下,客户端机在请求中设置此字段为
3,服务器在回答时设置此字段为
4;在
字段的功能在下面被简要总结。 1.
LI 闰秒标识器:这是一个二位码, 用1/0表示,分别说明如下: LI Value 00 0 01 1 10 2 11 3
2. VN 版本号:这是一个三 bits 的整数,
3.
Mode 模式:这是一个三 bits 的整数, mode
含
0 1 2 3 4 5 6 7