本帮助主要介绍以下内容:
NTP(Network Time Protocol,网络时间协议)可以用来在分布式时间服务器和客户端之间进行时间同步,使网络内所有设备的时间保持一致,并提供较高的时间同步精度。NTP采用的传输层协议为UDP,使用的UDP端口号为123。
NTP的基本工作原理如图-1所示。Device A和Device B通过网络相连,Device A和Device B的时间不同,需要通过NTP实现时间的自动同步。
Device A和Device B时间同步的工作过程如下:
Device A向Device B发送NTP请求报文,该报文带有它离开Device A时的时间戳,该时间戳为t1。
Device B回复NTP响应报文,报文中携带t1、t2(NTP请求报文到达Device B的时间戳)、t3(NTP响应报文离开Device B的时间戳)。
当Device A接收到该响应报文时,Device A的本地时间为t4。
至此,Device A可以根据上述时间戳计算两个重要的参数:
NTP报文的往返时延Delay = (t4 – t1) – (t3 – t2)
Device A相对Device B的时间差Offset = ((t2 – t1) + (t3 – t4)) / 2。
这样,Device A就能够根据这些信息来设定自己的时间,使之与Device B的时间同步。
NTP通过时钟级别来定义时钟的准确度。时钟级别的取值范围为0~16,取值越小,时钟准确度越高。
如图-2所示,实际网络中,通常将从权威时钟(如原子时钟)获得时间同步的NTP服务器(例如Device A)的级别设置为1,并将其作为主时间服务器,为网络中其他设备的时钟提供时间同步。NTP时钟沿着网络传递,每同步一次,时钟级别自动加1。例如,NTP时钟传递到Device B,其时钟层级会自动变成2;NTP时钟传递到Device C,其时钟层级会自动变成3,以此类推。Device B作为NTP客户端,同步来自Device A的NTP时钟;同时又作为NTP服务器,将NTP时钟传递给Device C。
为了保证时间的准确性和可靠性,可以为一台设备指定多个时间服务器,设备根据时钟级别等参数进行时钟过滤和选择,从多个时间服务器中选择最优的时钟,与其同步。设备选中的时钟称为参考时钟。时钟优选过程的详细介绍,请参阅相关的协议规范。
在某些网络中,例如无法与外界通信的孤立网络,网络中的设备无法与权威时钟进行时间同步。此时,可以从该网络中选择一台时钟较为准确的设备,指定该设备与本地时钟进行时间同步,即采用本地时钟作为参考时钟,使得该设备的时钟处于同步状态。该设备作为时间服务器为网络中的其他设备提供时间同步,从而实现整个网络的时间同步。
在一些对时间同步的安全性要求较高的网络中,运行NTP协议时需要使用NTP验证功能。NTP验证功能可以用来验证接收到的NTP报文的合法性。只有报文通过验证后,设备才会接收该报文,并从中获取时间同步信息;否则,设备会丢弃该报文。从而,保证设备不会与非法的时间服务器进行时间同步,避免时间同步错误。
如图-3所示,NTP验证功能的工作过程为:
NTP报文发送者利用密钥ID标识的密钥对NTP报文进行MD5/HMAC运算,并将计算出来的摘要信息连同NTP报文和密钥ID一起发送给接收者。
接收者接收到该NTP报文后,根据报文中的密钥ID找到对应的密钥,并利用该密钥对报文进行MD5/HMAC运算。接收者将运算结果与报文中的摘要信息比较,依据比较结果,有以下三种情况:
比较结果不相同,则丢弃该报文。
比较结果相同,且本地无需建立NTP会话,则应答该报文。
比较结果相同,且本地需要建立或已存在NTP会话,则检查NTP报文发送者是否有权在本端使用该密钥ID,检查通过,则接收该报文;否则,丢弃该报文。
NTP主要应用于需要网络中所有设备的时间保持一致的场合,比如:
需要以时间作为依据,对从不同设备采集来的日志信息、调试信息进行分析的网络管理系统。
对设备时间一致性有要求的计费系统。
多个系统协同处理同一个比较复杂的事件的场合。此时,为保证正确的执行顺序,多个系统的时间必须保持一致。
如果网络中没有专业的外接时钟源,可以选择网络中性能较好、时钟更精准的设备作为NTP服务器。
配置NTP服务时,需要注意:
NTP采用的传输层协议为UDP,使用的UDP端口号为123。如果其他特性(例如SNTP)占用了UDP端口号123,会导致NTP服务开启失败。
设备作为NTP服务器时的时钟级别必须大于等于0小于等于14。因为如果NTP服务器的时钟级别大于14,部分NTP客户端不会同步该NTP服务器的时钟。
如果启用NTP身份验证,则本设备上配置的密钥编号、密钥和密钥验证算法必须和NTP客户端相同。否则,会导致NTP身份验证失败,时钟同步失败。
NTP服务功能的配置思路如下图所示:
如果设备只是将上级设备收到的NTP时钟传递给下级设备,则无需配置本功能。配置本功能后,设备将使用本地产生的时钟信号作为参考时钟,传递给下级设备。 |
配置本地时钟作为参考时钟的具体配置步骤如下:
选择“配置 > 网络配置 > 更多配置 > NTP服务”。
在NTP服务配置页面的“基础配置”栏目,开启“NTP服务(本地时钟作为参考时钟)”功能。
配置本地时钟级别(数值越小,时钟级别越高)。
单击<提交>按钮,完成配置。
NTP高级配置用于配置NTP身份验证功能,具体配置步骤如下:
选择“配置 > 网络配置 > 更多配置 > NTP服务”。
在NTP服务配置页面的“高级配置”栏目,开启“NTP身份验证”功能。
单击<新增>按钮,创建NTP身份验证密钥。
输入密钥编号、密钥、密钥验证算法。设备支持的密钥验证算法按照安全性从高到低的顺序依次为:hmac-sha-512、hmac-sha-384、hmac-sha-256、hmac-sha-1、md5。单击操作栏的确认图标,完成NTP身份验证密钥的创建。如果输入参数有误,可以单击操作栏的取消图标,取消创建NTP身份验证密钥。
单击<提交>按钮,完成配置。
开启本功能后,在本设备对接的NTP客户端也需要创建相同编号、密钥、算法的密钥,并在指定NTP服务器时,引用该密钥,NTP客户端才能通过本设备的身份认证,进行时间同步。
如图-4所示,在无线接入网络中,无可靠的外部参考时钟,使用AC作为整个接入网络的参考时钟,其它设备和AC的本地时钟保持时间同步。为确保时间同步的安全性,所有设备进行时间同步时,均需进行身份验证。NTP身份验证密钥的编号为1、密钥为test1234、密钥验证算法为hmac-sha-512。(AP和AC之间通过CAPWAP协议进行时间同步,本举例不讨论)
选择“配置 > 网络配置 > 更多配置 > NTP服务”。
在NTP服务配置页面的“基础配置”栏目,开启“NTP服务(本地时钟作为参考时钟)”功能。
配置本地时钟级别为6。
单击<提交>按钮,完成本地时钟配置。
图-5 配置NTP服务使用本地时钟作为参考时钟
在NTP服务配置页面的“高级配置”栏目,开启“NTP身份验证”功能。
单击<新增>按钮,创建NTP身份验证密钥。
输入密钥编号1、密钥test1234、密钥验证算法hmac-sha-512。单击操作栏的确认图标,完成NTP身份验证密钥的创建。
单击<提交>按钮,完成NTP身份验证密钥的配置。
图-6 配置NTP身份验证密钥
登录NTP客户端并完成NTP客户端的配置后,可以看到NTP客户端的时间和AC的时间保持一致。