48小时系统班试听入口

【网工技术详解】NTP(网络时间协议)

发布作者:新盟教育 发布日期:2022-12-23 浏览人数:2680人

网工技术详解

资源放送 

↓ 扫一扫 

领取NTP录屏资

网页同步文章.png

网络时间协议(英语:Network Time Protocol,简称NTP)是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议之一。NTP由特拉华大学David.Mills设计。

NTP意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒误差内。它使用Marzullo算法的修改版来选择的时间服务器,其设计旨在减轻可变网络延迟造成的影响。NTP通常可以在公共互联网保持几十秒的误差,并且在理想的局域网环境中可以实现超过1毫秒的精度。不对成路由可拥塞控制可能导致100毫秒(或更高)的错误。

该协议通常描述为一种主从式架构,但它也可以在点对点网络中,对等体双方可将另一端认定为潜在的时间源。发送和接收时间戳采用用户数据报协议(UDP)的通信端口123实现。这也可以使用广播或多播,曲中的客户端在最初的往返校准交换后被动地监听时间更新。NTP提供一个即将到来的闰秒调整的警告,但不会传输有关本地时区或夏时制的信息。

NTP的实现方式


无线时钟:服务器系统可以通过串口连接一个无线时钟。无限时钟接收GPS的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花一定的费用。

时间服务器:可以使用网络中的NTP时间服务器,通过这个服务器来同步网络中的系统时间。

局域网内同步(这个时在工作中用得最多的):如果只需要在本局域网内进行系统间的时钟同步,那么就可以使用局域网中任何一个系统的时钟。你需要选择局域网中的一个节点的时钟作为“权威”的时间源,然后其它的节点就只需要与这个时间源进行时间同步即可。使用这种方式,所有的节点都会使用一个公共的系统时钟,但是不需要可局域网外的系统进行时钟同步。如果一个系统在局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。

NTP的工作模式


Server/Client mode:用户向一个或多个服务器发出服务请求,根据所交换的信息,从中选择认为最准确的时间,并调整本地的时钟。

Multicast/Broadcast mode:此种模式是适用于在高速的LAN上。利用一个或多个服务器在固定的周期向某个多播地址做广播。

Symmetric mode:两个以上的Server互相进行时间消息的通讯,可以相互校正对方的时间,以维持整个subnet的时间的一致性。

NTP协议结构


NTP packnet=NTP header + Four TimeStamps=48bytes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[header, 16bytes]
2  3    3    8      8      8共32bytes
LI VN  Mode Stratum Poll  Precision
Root Delay(32bits)
Root Dispersion(32bits)
Reference Identifier(32bits)

[Timestamp 1, 8bytes]
Reference Timestamp(64bits)

[Timestamp 2, 8bytes]
Originate Timestamp(64bits)

[Timestamp 3, 8bytes]
Receive Timestamp(64bits)

[Timestamp 4, 8bytes]
Transmit Timestamp(64bits)

Key Identifier(optional)(32bits)
Message digest(optinal)(128bits)
+++++++++++++++++++++++++++++++++++++++++++

字段说明:

  • LI:LeapYearIndicator, 跳跃指示器,警告在当月最后一天的最终时刻插入的迫近闺秒(闺秒)。

  • VN:VersionNumber, 版本号。

  • Mode:模式, 0-预留;1-对称行为;3-客户机;4-服务器;5-广播;6-NTP 控制信息。

  • Stratum:层级。

  • Poll:PollInterval, 有符号整数表示连续信息间的最大间隔。

  • Precision:有符号整数表示本地时钟精确度。

  • Root Delay:有符号固定点序号表示主要参考源的总延迟,很短时间内的位15到16间的分段点。

  • Root Dispersion:无符号固定点序号表示相对于主要参考源的正常差错。

  • Reference Identifier:识别特殊参考源。

  • Reference Timestamp。

  • Originate Timestamp:这是向服务器请求分离客户机的时间,采用64位时标格式。

  • Receive Timestamp:这是向服务器请求到达客户机的时间,采用64位时标(Timestamp)格式。

  • Transmit Timestamp:这是向客户机答复分离服务器的时间,采用64位时标(Timestamp)格式。

  • Authenticator(可选):主要标识符和信息数字域就包括已定义的信息认证代码(MAC)信息。


网络延时与时钟偏差的测量

Timestamp Name ID When Generated
Originate Timestamp T1 time request sent by client
Receive Timestamp T2 time request received at server
Transmit Timestamp T3 time reply sent by server
Destination Timestamp T4 time reply received at client
t 为服务器和客户端之间的时间偏差;
d 为两者之间的往返时间
T2 = T1 + t + d/2; ∴ T2 - T1 = t + d/2;
T4 = T3 - t + d/2; ∴ T3 - T4 = t - d/2;
d = (T2 - T1) + (T4 - T3); t = [(T2 - T1) + (T3 - T4)] / 2;


1671585dc74035d34ac554d5f2ae42fc.jpg

推荐阅读

>>>【独家首发】新版HCIE考试解读直播回顾
>>> 重磅!华为HCIE认证改版升级通知!
>>>【命令解析】Linux用户行为的常用命令
>>> 网工必备通信基础知识,还不知道你就out了?
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
>>>【技术指南】5分钟搞清楚OSPF链路状态路由协议