NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的,NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行时间同步,它可以提供高精准度的时间校正,而且可以使用加密确认的方式来防止病毒的协议攻击。

原理

标准时间,是由原子钟报时的国际标准时间UTC(Universal Time Coordinated,世界协调时)。所以NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。

有了准确而可靠的的时间源,那这个时间如何传播呢?在NTP中,定义了时间按照服务器的等级传播,按照离外部UTC源远近将所有的服务器归入不同的Stratum(层)中,例如把通过GPS(Global Positioning System,全球定位系统)取得发送标准时间的服务器叫Stratum-1的NTP服务器,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础,

1、C/S合一

ntpd对下层client来说是service server,对于上层server来说它是client,也就是说新版的NTP服务程序已经不对服务端和客户端进行区分了,统一叫做ntpd。ntpd根据配置文件的参数决定是要为其他服务器提供时钟服务或者是从其他服务器同步时钟。所有的配置都在/etc/ntp.conf文件中。

2、NTP客户端同步间隔

NTP服务会间隔多长时间想时钟服务器请求一次时钟同步呢?默认最小时间间隔为64s,默认最大时间间隔是1024s(17分钟左右)。64s是比较合理的,默认间隔也是可调的(Note that most device drivers will not operate properly if the poll interval is less than 64 s and that the broadcast server and manycast client associations will also use the default, unless overridden.)。

3、容忍误差范围

NTP服务并不是在任何情况下都会进行同步的。当时钟服务器时间和本地时间相差大于1000s时,NTP服务就会认为是人为调整了时钟或出现了硬件故障,例如CMOS电池损坏等。此时,NTP服务就会退出,需要人工(ntpdate …)进行时钟同步。

采用-g选项可以让ntpd忽略1000s或更大误差,设置时钟到server system time, 但是ntpd还是会因此退出。

4、层次(strata)

stratum根据上层server的层次而设定(+1)。

对于提供network time service provider的主机来说,stratum的设定要尽可能准确。

而作为局域网的time service provider,通常将stratum设置为10 (Stratum 10 is conventional for unsynchronized local clocks; it is high enough that nobody is likely to mistake it for a desirable clock to synchronize with.),如下:

server  127.127.1.0     # local clock

fudge   127.127.1.0     stratum 10

#stratum设置为其它值也是可以的,其范围为0~15

声明:此博文借鉴了网洛技术大佬的博文内容,知识无界,若有侵权,请留言删除,谢谢。

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

  1. Android 系统(214)---Android 7.1.1时间更新NITZ和NTP详解

    Android 7.1.1时间更新NITZ和NTP详解 1.NTP和NITZ简介 最近在项目中遇到手机首次插上移动卡时不能自动更新时间的问题,就特意跟了下Android系统中手机时间更新有两种方式NT ...

  2. 阿里云内网和公共NTP服务器(网络时间协议-时间同步服务)

    关键字:阿里云内网和公共NTP服务器(网络时间协议-时间同步服务) 一.简介: NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 在计算机 ...

  3. Windows ntp详解

    ntp配置和时间同步 在命令提示符中执行如下命令,重启服务: C:\>net stop w32time C:\>net start w32time 设置NTP服务器地址 以管理员身份打开命 ...

  4. Linux下 C/C++ NTP网络时间协议详解

    NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议.它是通过网络在计算机系统之间进行时钟同步的网络协议.NTP 在公共互联网上通常能够保持时间延迟 ...

  5. ntp 配置详解(转载后整理汇总)

    ntp 配置详解 一.时间和时区 在LINUX系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数. 世界遵循一个标准UTC,中国的标准是CST(北京时间)中国处于 ...

  6. 【干货】NTP时间同步服务器技术详解

    [干货]NTP时间同步服务器技术详解 [干货]NTP时间同步服务器技术详解 A.1 时间同步原理 时间同步的原理就是按照接收到的时间来调控设备内部的时钟和时刻.在将时刻校对到 秒后,时间同步的调控原理 ...

  7. NTP校时服务器(NTP校时器)资料详解

    NTP校时服务器(NTP校时器)资料详解 NTP校时服务器(NTP校时器)资料详解 NTP网络时间同步 摘 要:首先对时间同步进行了背景介绍,然后讨论了不同的时间同步网络技术,最后指出了建立全球或区域 ...

  8. Linux的归档及压缩,Linux的cron时间计划任务, NTP网络时间协议 , 查看网络连接...

    linux的归档及压缩:                   1.节约空间                   2.方便对零散文档的管理     tar集成备份工具:         -c:    创 ...

  9. ddos源码 ntp_详解 NTP反射型DDos攻击

    简介 NTP Reply Flood Attack (NTP射型Ddos 攻击)以下简称NTP_Flood是一种利用网络 中 NTP服务器的脆弱性(无认证,不等价数据交换,UDP协议),来进行DDos ...

  10. ntp协议中 服务器失效怎么办,排除网络时间协议(NTP)故障

    本文提供信息关于怎样排除故障与网络时间协议(NTP)的常见问题. 思科建议您有一好了解NTP如何工作和一好知识网络时间协议. 本文档不限于特定的软件和硬件版本. 有关文档规则的详细信息,请参阅 Cis ...

最新文章

  1. 【转】超简单利用UGUI制作圆形小地图
  2. c++11 字符串与int类型的转换
  3. hashmap原理_想要彻底搞懂HashMap?你得恶补下HashMap原理
  4. 【机器学习基础】数学推导+纯Python实现机器学习算法5:决策树之CART算法
  5. 服务器同时装mysql和sqlserver_Centos创建syslog服务器
  6. SAP S4 Finance6个支持企业实时财务管理的主要创新领域
  7. vs2015 + opencv3.4.0 + qt msvc2015_64-5.7.1 显示图像
  8. cocos2dx lua转luac的问题(32位与64位不兼容问题)
  9. 英特尔核显驱动hd630_英特尔首款独显 Xe Max 评测出炉:低于移动端 GTX 1050 Ti - 英特尔...
  10. 美团财报电话会:将专注于创造外卖和到店业务的协同效应
  11. Java基础学习汇总
  12. C1认证学习四(多媒体基础参数)
  13. Web Push功能使用
  14. Kubernetes一致性认证
  15. 模拟影像射击设备在室内靶场安装过程分享
  16. 匠心开岁月·车库创乾坤 —— 微软创新节暨中国创新车库开幕
  17. 翻转和旋转计算机教学,小学信息技术《翻转/旋转》教学设计及教学反思
  18. 九月刚入职字节跳动的测试开发面试题,附答案
  19. CLLocationManager定位经纬度,MKReverseGeocoder地址解析, MKMapView 地图显示 iphone
  20. 励志---决定你一生成就的21个信念及要点

热门文章

  1. [译]Selenium —— 怎样使用FireBug和FirePath
  2. python房屋租赁管理系统设计与实现报告_毕业设计报告-租房管理系统的设计与实现...
  3. 网易云音乐产品体验报告
  4. FreeCAD应用:一道小学平面几何考题
  5. JAVA集合和guava集合使用和原理解析
  6. java实训文献_java毕设论文参考文献.doc
  7. 用java实现mysql数据可视化_java可视化界面操作数据库编程.doc
  8. c语言编译怎么查看错误,C语言编译器的错误信息
  9. 数字图像处理第四版更新内容
  10. Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤