1、NTP简介
随着网络拓扑的日益复杂,整个网络内设备的时钟同步将变得十分重要。如果依靠管理员手工修改系统时钟,不仅工作量巨大,而且时钟的准确性也无法得到保证。
NTP的出现就是为了解决网络内设备系统时钟的同步问题。NTP主要应用于网络中所有设备时钟需要保持一致的场合,比如:
1、网络管理:对从不同路由器采集来的日志信息、调试信息进行分析时,需要以时间作为参照依据。
2、计费系统:要求所有设备的时钟保持一致。
3、多个系统协同处理同一个复杂事件:为保证正确的执行顺序,多个系统必须参考同一时钟。
4、备份服务器和客户机之间进行增量备份:要求备份服务器和所有客户机之间的时钟同步。
5、系统时间:某些应用程序需要知道用户登录系统的时间以及文件修改的时间。
NTP是从时间协议和ICMP时间戳报文演变而来,在准确性和健壮性方面进行了特殊的设计。NTP的版本演进如下表1所示。
2、NTP基本原理
NTP实现过程如上图1所示。SwitchA和SwitchB通过广域网WAN(Wide Area Network)相连,它们都有自己独立的系统时钟,通过NTP实现系统时钟自动同步。作如下假设:
在SwitchA和SwitchB的系统时钟同步之前,SwitchA的时钟设定为10:00:00a.m.,SwitchB的时钟设定为11:00:00a.m.。
SwitchB作为NTP时间服务器,SwitchA的时钟要与SwitchB的时钟进行同步。报文在SwitchA和SwitchB之间单向传输需要1秒。SwitchA和SwitchB处理NTP报文的时间都是1秒。
系统时钟的同步流程如下所示:
1、SwitchA发送一个NTP报文给SwitchB,该报文中带有它离开SwitchA时的时间戳10:00:00a.m.(T1)。
2、此NTP报文到达SwitchB时,SwitchB加上到达时间戳11:00:01a.m.(T2)。
3、此NTP报文离开SwitchB时,SwitchB再加上离开时间戳11:00:02a.m.(T3)。
4、SwitchA接收到该响应报文时,加上新的时间戳10:00:03a.m.(T4)。
至此,SwitchA获得了足够信息来计算以下两个重要参数:
NTP报文来回一个周期的时延:Delay= ( T4 - T1 ) - ( T3 – T2 )。SwitchA相对SwitchB的时间差:Offset= ( ( T2- T1 ) + ( T3 – T4 ) ) / 2。
5、SwitchA根据计算得到Delay为2秒,Offset为1小时。SwitchA根据这些信息来设定自己的时钟,实现与SwitchB的时钟同步。
以上是NTP工作原理的简略描述,RFC1305为NTP定义了复杂的算法来确保时钟同步的精确性。
3、NTP网络结构
在NTP的网络结构中,主要存在如下概念:
1、同步子网:
如上图1所示,由主时间服务器、二级时间服务器、PC客户端和它们之间互连的传输路径组成同步子网。
2、主时间服务器:
通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等。
3、二级时间服务器:
通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机。
4、层数(stratum):
层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~16,数值越小,精确度越高。1表示时钟精确度最高,16表示未同步。
在正常情况下,同步子网中的主时间服务器和二级时间服务器呈现出一种分层主从结构。在这种分层结构中,主时间服务器位于根部,二级时间服务器向叶子节点靠近,层数递增,准确性递减,降低的程度取决于网络路径和本地时钟的稳定性。
当同步子网中存在多台主时间服务器时,可通过算法来选择最优的服务器。如此设计的目的是:
当一台或多台主/二级时间服务器或它们之间的网络路径发生故障时,同步子网的主从分层结构将自动发生重构以获得最精确和最可靠的时间。
当同步子网中正常使用的主时间服务器都失效,备用的主时间服务器将继续运行。
当子网中所有的主时间服务器都失效时,其它二级时间服务器将在它们内部达到同步。此时,这些二级时间服务器将脱离同步子网,自动运行在它们最后一次确定的时间和频率。
由于这些交换机计算精度很高,所以当一台具有比较稳定的振荡器的交换机长时间脱离子网时,它的计时误差可以保持在一天不大于几毫秒。
4、NTP应用场景
1、NTP的典型应用
在如上图1所示的组网中,为达到全网的时钟同步,将接入标准时钟的SwitchA作为网络中的NTP主时钟服务器。SwitchA分别和SwitchB、SwitchC、SwitchD配置为单播客户端/服务器模式,SwitchA作为服务器。SwitchE分别和上行的SwitchB以及下行的SwitchF采用对等体模式。
2、NTP在VPN组网中的应用
NTP服务在VPN网络的应用如上图2所示。CE A和CE B同属于VPN2。CE B作为NTP单播服务器,CE A作为NTP单播客户端,两者可实现NTP时间同步。