NTP老矣?壮哉!

电子说

1.3w人已加入

描述

网络时间协议(Network Time Protocol,NTP)是数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,将所有网络中的计算机与UTC(Universal Time Coordinated,世界协调时)同步。

NTP自从1985在RFC-958文档中被特拉华大学的David L Mills首次设计提出,发展到至今的NTPv4,已经将近40年的历程,是目前仍在使用的最古老的互联网协议之一。

通过将网络设备连接到时间服务器(该服务器接收来自明确时间源的信号),您可以在任何位置享受精确时间带来的好处,从而提高生产力、改善客户服务并实现同步运营。NTP在数字录音、广播电台、计算机互联、数字金融、文件协作和智能电网等等领域有着重要作用。

赛思在NTP技术方面也涌现出大量的优秀产品,如TS3000系列的TS3000G和TS3000U,NS7200系列中NS7210的万兆高精度时间服务器。

赛思电子

面对新时代的高精度的PTP、White Rabbit和光纤同步这些更高精度可达到纳秒级甚至亚纳秒级的技术,NTP是否会在不久的将来退出历史舞台?

答案显然是否定的。NTP所具备生命力,创造力和完美的架构基础使之在各行各业的应用上存在无限的延延伸。

赛思电子

下图显示了两种NTP时间格式,64位时间戳格式和128位日期戳格式。日期戳格式在内部使用,而时间戳格式在客户端和服务器之间交换的数据包头中使用。时间戳格式跨越136年,称为一个时代。当前时代始于1900年1月1日,而下一个时代始于2036年。

赛思电子

关于NTP时间刻度,最重要的一点是它对天、年或世纪一无所知,只知道与主纪元相关的秒差异。NTP的时间始于1900年1月1日0时。正值表示黄金时期之后的时间;负值表示在此之前的时间。任何日历日期格式和NTP格式之间的转换都是通过计算给定日期和NTP主纪元之间的秒和分数差来完成的。

时间戳格式是NTP中常见到的,32位字宽的秒代表了232秒≈136年,即时间戳所能代表的最长时间为136年,秒的小数部分代表1/232秒≈232ps。大部分人担心,在2036年,NTP的协议的使用是否就会受到限制,甚至在那一年的时间翻转会带来时间紊乱。

随着64位软件系统全面普及,日期戳的使用是解决翻转问题的重要手段,目前NTP v4就支持时代编码与时代补偿这两个变量。日期戳中的32位时代编码与32位秒所能延续的时间可以长到太阳系的灭亡,日期戳的小数部分的精度足以分辨光子以光速通过电磁场所需的时间。

可以看出,目前正处于NTP的第1个时代,还是NTP青壮年时期,NTP的发展会给时间信息时代带来更多的惊喜。

赛思电子

TS3000U是赛思一款具备丰富功能的NTP服务器,以这款设备为例,描述一下NTP是如何实现网络两台设备的时间同步的。

赛思电子

网络内存在两台TS3000设备,一台作为服务器,一台作为客户端。两台设备在时间同步之前客户端的时间为0800AM,服务器的时间为1000AM。系统的同步过程如下:

首先,客户端先发送一个NTP请求报文给服务器,该报文中带有离开客户端时的时间戳T1(0800 AM);当此NTP报文通过网络到达服务器时,服务器会加上自己接收报文的时间戳T2(1001AM);当此NTP报文离开服务器时,服务器会加上发送时间戳T3(1002);当客户端再次接收到该响应报文时,客户端的时间是T4(0803)。

那么客户端就有足够的息来计算两个重要的参数:NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。客户端相对服务器的时间差Offset=((T2-T1)+(T3-T4))/2=2小时。

赛思电子

那么客户端就可以根据与服务器的时间差来设置自己的时钟,实现与服务器同步。虽然实例的时间同步精度为1秒,但实际的NTP报文分辨率可达到232皮秒,所以同步精度要超过秒级。

常规的NTP时间戳是采用软件的中断处理来进行打戳的,打戳精度受到线程和系统的影响,在软件处理优先等级高的软件设计下,其精度达到百微秒级。但是,NTP网络传输又会因为网络数据传输问题,带来来回链路延迟的不对称和不稳定,最终使得NTP的精度在毫秒级。如果采用专用网络,那么能有效解决链路问题,NTP精度可达到百微秒量级。

在NTP技术的设计上,赛思公司在NTP时间戳上采用专有硬件逻辑设计打戳,使NTP的时间戳的精度达到纳秒量级,在采用专有NTP网络时,NTP的授时精度可以达到百纳秒,在高精度NTP时间服务器的TS3000G中,就采用此项高精度时间戳技术提供NTP服务,在业界也得到了广泛好评。

赛思电子

NTP时间同步网络目标不仅仅是使网络内部的时间同步,同时也要使网络内的时间与UTC一致,这就决定了NTP网络组成的四要素:BD/GPS接收机与天线、NTP服务器、NTP客户端以及可用的网络。

目前服务器内部都配备了高精度的BD/GPS接收机,与UTC的同步精度可达到100ns以内。

赛思电子

有两种类型的NTP服务器可用于向网络提供UTC时间:公共服务器和本地服务器。公共时间服务器由第三方拥有和运营,第三方可通过互联网使用该服务器。本地NTP服务器是您自己拥有并安装在您的场所中的服务器,在您的服务器和客户端之间建立物理网络连接。

如果同步时间对运营至关重要,那么本地时间服务器是更安全、更可靠的选择。它们提供了改进的准确性和更多的控制,同时避免了公共服务器的各种缺点。

赛思电子

在大型网络上,可能有太多的客户端,以至于服务器无法处理来自所有客户端的请求。在这些情况下,服务器和客户机按照层次结构排列。

第一层服务器通过GPS/BD信号与UTC进行同步,并通过网络连接将该时间提供给第二层上的客户端。反过来,第二层设备可以通过向第三层上的客户端提供时间来像服务器一样工作,第三层设备可以向第四层设备提供时间,依此类推。这样,第一层设备就不会因太多请求而过载。

常规最多共有15个同步的层级别(层16用于非同步的客户端),但每个层都会引入另一层网络延迟,导致准确性降低。

为了解决这一问题,NTP客户端可以设置为从多个服务器请求时间,将多个服务器对等在一起,这样,如果一个服务器失去硬件时钟同步,客户端可以从对等组中的其他服务器获得时间,以帮助它们尽可能接近地正确的时间。

赛思电子赛思电子

越来越多的计算机与设备使用网络时间协议通过公共互联网来传输时钟数据,进一步同步时钟。但是,NTP是少数几个仍在普遍使用的不安全的互联网协议之一。攻击者可以通过观察客户端与服务器之间的网络流量为客户端提供虚假数据,并根据客户端的时间和配置,修改NTP时间戳,强迫将系统时钟设置为任何时间和日期。

一旦客户端的系统时钟不准确,一些程序和服务就可能无法工作,如Web服务器证书等以时间作为密钥验证手段(之一)的程序。

在NTP安全方面,赛思做了大量的技术研究和安全防护,如传送时间戳伪装和重放检测;消息摘要保护数据包的完整性检测;Autokey模型自动分发对称摘要密钥的保护措施;MD5 身份验证;网络黑名单;基于Autokey模型的NTP协议序列的保护措施;限制数据包到达率抵抗消耗资源的Dos攻击防护等。

赛思电子

赛思为广大用户提供精确时间的同时,也为用户享受服务过程中的安全性着想。在持续创新专研过程中,与广大用户和合作伙伴双赢。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分