NTP网络时间同步协议详解
NTP网络时间同步协议详解
网络时间协议(NTP )是一种通过因特网服务于计算机时钟的同步时间协议。它提供了一种同步时间机制,能在庞大而复杂多样的因特网中用光速调整时间分配。它使用的是可返回时间设计方案,其特点是:时间服务器是一种分布式子网,能自我组织操作、分层管理配置,经过有线或无线方式同步逻辑时钟达到国家标准时间。此外,通过本地路由选择运算法则及时间后台程序,服务器可以重新分配标准时间。
NTP 的校时涉及三个概念 — 时间偏差、时间延迟及差量,它们与指定参考时钟都是相关联的。时钟偏差表示本地时钟与参考时钟之间的偏差数;时间延迟表示在指定时间内由一方发送消息到另一方接收到消息间的延时时间;差量表示了相对于参考时钟本地时钟的最大偏差错误。因为大多数主机时间服务器通过其它对等时间服务器达到同步,所以这三个参量都有两个组成部分:其一是由对等决定的部分,这部分是相对于原始标准时间的参考来源而言;其二是由主机衡量的部分,这部分是相对于对等而言。
每一部分在协议中都是独立维持的,从而可以使错误控制和子网本身的管理操作变得容易。它们不仅提供了偏移和延迟的精密测量,而且提供了明确的最大错误范围,这样用户接口不但可以决定时间,而且可以决定时间的准确度。
进行网络协议实现时最重要的是了解协议数据格式。除了可扩展部分,基本的NTP 数据包有 48 个字节,其中 NTP 包头 16 字节,时间戳 32 个字节。其协议格式下表所示。
2 5 8 16 24 32bit
LI (2 ) VN (3 ) Mode (3 ) Stratum (8 ) Poll (8 ) Precision (8 )
Root Delay
Root Dispersion
Reference Identifier
Reference timestamp( 64 )
Originate Timestamp( 64 )
Receive Timestamp( 64 )
Transmit Timestamp( 64 )
Key Identifier( optional )( 32 )
Message digest( optional )( 128 )
• LI:跳跃指示器,警告在当月最后一天的最终时刻插入的迫近闺秒(闺秒)。
• VN:版本号。
• Mode:模式。该字段包括以下值:0-预留;1-对称行为;3-客户机;4-服务器;5-广播;6-NTP 控制信息
• Stratum:对本地时钟级别的整体识别。
• Poll:有符号整数表示连续信息间的最大间隔。
• Precision:有符号整数表示本地时钟精确度。
• Root Delay:有符号固定点序号表示主要参考源的总延迟,很短时间内的位15到16间的分段点。
• Root Dispersion:无符号固定点序号表示相对于主要参考源的正常差错,很短时间内的位15到16间的分段点。
• Reference Identifier:识别特殊参考源。
• Originate Timestamp:这是向服务器请求分离客户机的时间,采用64位时标(Timestamp)格式。
• Receive Timestamp:这是向服务器请求到达服务器的时间,采用64位时标(Timestamp)格式。
• Transmit Timestamp:这是向客户机答复分离服务器的时间,采用64位时标(Timestamp)格式。
Authenticator(Optional):当实现了 NTP 认证模式,主要标识符和信息数字域就包括已定义的信息认证代码(MAC)信息。