NTP(网络时间协议)

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

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

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

NTP的实现方式

  1. 无线时钟:服务器系统可以通过串口连接一个无线时钟。无限时钟接收GPS的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花一定的费用。
  2. 时间服务器:可以使用网络中的NTP时间服务器,通过这个服务器来同步网络中的系统时间。http://support.ntp.org/bin/view/Servers/WebHome这个网站列出了Internet上有效的一级时间服务器。
  3. 局域网内同步(这个时在工作中用得最多的):如果只需要在本局域网内进行系统间的时钟同步,那么就可以使用局域网中任何一个系统的时钟。你需要选择局域网中的一个节点的时钟作为“权威”的时间源,然后其它的节点就只需要与这个时间源进行时间同步即可。使用这种方式,所有的节点都会使用一个公共的系统时钟,但是不需要可局域网外的系统进行时钟同步。如果一个系统在局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。

NTP的工作模式

  1. Server/Client mode:用户向一个或多个服务器发出服务请求,根据所交换的信息,从中选择认为最准确的时间,并调整本地的时钟。
  2. Multicast/Broadcast mode:此种模式是适用于在高速的LAN上。利用一个或多个服务器在固定的周期向某个多播地址做广播。
  3. 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;

NTP(网络时间协议)相关推荐

  1. NTP 网络时间协议

    目录 基本原理 结构 工作模式 单播C/S模式 对等体模式 广播模式 组播模式 多播模式 NTP访问控制 访问权限 KOD 认证功能 配置 NTP用于在一系列分布式时间服务器与客户端之间同步时钟.基于 ...

  2. 网络时间协议NTP介绍

    定义 网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议.NTP用于在一系列分布式时间服务器与客户端之间同步时钟.NTP的实现基于IP和UDP.N ...

  3. 利用GPS北斗卫星信号开发设计NTP网络时间服务器

    利用GPS北斗卫星信号开发设计NTP网络时间服务器 利用GPS北斗卫星信号开发设计NTP网络时间服务器 引言 准确的时间是天文观测所必需的.天文望远镜在特定时间内的准确指向.CCD曝光时间的控制以及不 ...

  4. GPS北斗卫星主时钟(NTP网络时间服务器)技术参数详解

    GPS北斗卫星主时钟(NTP网络时间服务器)技术参数详解 GPS北斗卫星主时钟(NTP网络时间服务器)技术参数详解 主时钟(北斗二代卫星同步时钟,GPS北斗双模时钟服务器,GPS时间同步系统)是我司开 ...

  5. Internet 上可用的“简单网络时间协议”时间服务器列表

    Internet 上可用的"简单网络时间协议"时间服务器列表 在此公布一些Internet的公网时间服务器,大家可以快点同步时间哦:) Internet 上有两级(或两层)&quo ...

  6. NTP网络时间服务器是如何完成它的授时服务的?

    NTP网络时间服务器是如何完成它的授时服务的? NTP网络时间服务器是如何完成它的授时服务的? 基本功能 1. 根据NTP 服务协议,与外部 ntp 服务器进行通讯. 2. 解析ntp 协议包,从中提 ...

  7. NTP网络时间服务器是如何让集成系统协调工作的

    NTP网络时间服务器是如何让集成系统协调工作的 NTP网络时间服务器是如何让集成系统协调工作的 本文主要解释了区块链中的重要功能:工作证明(Proof-of-Work).主要说明工作证明对于区块链是一 ...

  8. ntp网络时间服务器的详细介绍

    ntp网络时间服务器的详细介绍 ntp网络时间服务器的详细介绍 NTP属于运用层协议(依据UDP传输,运用的端口号为123),用来同步网络中分布式时间服务器和客户端之间的时间,使网络中的设备供应依据一 ...

  9. YZ-9811 NTP网络时间服务器说明书

    YZ-9811 NTP网络时间服务器是针对网络时间同步应用需求设计的高准确度.高性能NTP网络授时设备,保障您的计算机系统时钟精准. 设备输入时间源可根据需要任意选择组合: (1)卫星信号时间源:北斗 ...

  10. ntp授时服务器(NTP网络时间服务器)应用公交数据网络

    ntp授时服务器(NTP网络时间服务器)应用公交数据网络 ntp授时服务器(NTP网络时间服务器)应用公交数据网络 随着城市经济社会发展以及人口和机动车快速增长,建设新城市交通体系,改善城市公共交通运 ...

最新文章

  1. BERT, ELMo, GPT-2: 这些上下文相关的表示到底有多上下文化?
  2. js 获取元素,同级元素下的子元素总结
  3. Silverlight 3.0 Isolated Storage 独立存储空间
  4. 资源放送丨《Oracle聚簇因子的作用 - 2020云和恩墨大讲堂》PPT视频
  5. openresty入门与配置了解
  6. 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”...
  7. boost::enable_shared_from_this<T>用途
  8. 学完计算机绘图收获有哪些,概率论与数理统计热合买提江网课参考答案查询,画法几何及土木工程制图计算机绘图...
  9. 企业微信重磅更新!离职继承无需客户同意、群自动踢人、群成员去重...
  10. java面试知识点总结
  11. 支持人脸识别的相册PhotoPrism
  12. Oracle SQL基础
  13. Java编程到底是用idea好还是eclipse好?
  14. Springboot奶茶店点餐系统vtj89计算机毕业设计-课程设计-期末作业-毕设程序代做
  15. JavaScript笔记(狂神说)
  16. 冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?
  17. Microsoft的CL编译器与GCC到底有什么区别?
  18. C# 反射 实例化类
  19. Python实现炸金花小游戏
  20. 如何编辑维基百科词条?WIKI词条编辑技巧

热门文章

  1. Python使用MSS截屏
  2. 《Node.js 极简教程》 东海陈光剑
  3. 新版标准日本语初级_第二十九课
  4. fetch的概念以及基本用法
  5. 【绿茶书情】:《SOHO小报》和《凤… - 绿茶的日志 - 网易博客
  6. wzy的大冒险——接龙红包
  7. 3月23日,Youtube又掛了。
  8. 职场小故事,工作大道理(14)
  9. lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示
  10. 由于经济问题,舍不得花费那么多银子买2K左右的手机,只得降低价位选择了!