多主时间服务器检测方法和装置的制造方法
【技术领域】
[0001]本申请涉及网络通信技术,特别涉及多主时间服务器检测方法和装置。
【背景技术】
[0002]网络时间协议(NTP !Network Time Protocol)可以用来在分布式时间服务器和客户端之间进行时间同步,使网络内所有设备的时间保持一致,并提供较高的时间同步精度。
[0003]在NTP中,所谓主时间服务器,是指从权威时钟如原子时钟获得时间同步的NTP服务器。
[0004]当网络中出现了多个主时间服务器时,就可能会出现网络中的设备时间不再保持同步的状态。因为随着时间的推移多个主时间服务器的时间一定会出现偏差,即便是最开始的时候这些主时间服务器的时间是一样的。网络中出现多个主时间服务器一般都是对于孤立网络的时间同步方案规划不合理或者网络配置不正确造成的
[0005]如图1所示的组网,存在两个主时间服务器,分别为主时间服务器I和主时间服务器2,主时间服务器I和主时间服务器2在时间上相互独立。网络中的设备比如客户端或者是其他非主时间服务器即要从主时间服务器I同步时间,又要从主时间服务器2同步时间。当先从主时间服务器I收到NTP报文后经过时钟算法(包括过滤、合并和选择)最后得到的系统时间一定是和主时间服务器I同步的;当又从主时间服务器2收到NTP报文后再次经过时钟算法得到的时间就可能会出现即不和主时间服务器I同步、也不和主时间服务器2同步,并有可能出现时间不停震荡的现象,其原因就在于主时间服务器I和主时间服务器2的时间无法保持同步,从而就会造成网络中设备的时间无法保持同步。
[0006]通过检测网络中存在多个主时间服务器能够解决因为多个主时间服务器造成网络中设备的时间无法保持同步的问题,但是,对于一个规模较大的网络来说,通过手工排查NTP配置来找出来多个主时间服务器耗时耗力。然而,目前NTP还没有一种用于动态检测多个主时间服务器的方法。
【发明内容】
[0007]本申请提供了多主时间服务器检测方法和装置,以动态检测出多个主时间服务器,避免因网络中出现多个主时间服务器导致的网络中设备时间不同步。
[0008]本申请提供的技术方案包括:
[0009]一种多主时间服务器检测方法,该方法应用于网络设备,包括;
[0010]网络设备作为主时间服务器,接收网络时间协议NTP请求报文,将本设备的设备标识携带在NTP应答报文中返回至所述NTP请求报文的发送端;
[0011]网络设备作为非主时间服务器,接收NTP请求报文,将本地主时间服务器标识表记录的设备标识携带在NTP应答报文中返给发送该NTP请求报文的发送端;每隔设定的NTP请求报文发送周期向指定时间服务器发送NTP请求报文请求时间同步,接收NTP应答报文,比较NTP应答报文携带的设备标识与本地主时间服务器标识表记录的设备标识是否一致,若不一致,检测设定的多主时间服务器判定条件是否达到,是则确定网络中存在多个主时间服务器;
[0012]网络设备作为客户端,每隔设定的NTP请求报文发送周期向指定时间服务器发送NTP请求报文请求时间同步,接收NTP应答报文,比较NTP应答报文携带的设备标识与本地主时间服务器标识表记录的设备标识是否一致,如不一致,检测设定的多主时间服务器判定条件是否达到,是则确定网络中存在多个主时间服务器。
[0013]一种多主时间服务器检测装置,该装置应用于网络设备,包括;
[0014]当网络设备作为主时间服务器,所述装置包括:请求接收单元,用于接收网络时间协议NTP请求报文;发送单元,用于将所述网络设备的设备标识携带在NTP应答报文中返回至所述NTP请求报文的发送端;
[0015]当网络设备作为非主时间服务器,所述装置包括:请求接收单元,用于接收NTP请求报文;发送单元,用于将本地主时间服务器标识表记录的设备标识携带在NTP应答报文中返给发送该NTP请求报文的发送端,以及每隔设定的NTP请求报文发送周期向指定时间服务器发送NTP请求报文请求时间同步;应答接收单元,用于接收NTP应答报文;比较单元,用于比较应答接收单元接收的NTP应答报文携带的设备标识与本地主时间服务器标识表记录的设备标识是否一致,若不一致,检测设定的多主时间服务器判定条件是否达到,是则确定网络中存在多个主时间服务器;
[0016]当网络设备作为客户端,所述装置包括:发送单元,用于每隔设定的NTP请求报文发送周期向指定时间服务器发送NTP请求报文请求时间同步,应答接收单元,用于接收NTP应答报文;比较单元,用于比较应答接收单元接收的NTP应答报文携带的设备标识与本地主时间服务器标识表记录的设备标识是否一致,若不一致,检测设定的多主时间服务器判定条件是否达到,是则确定网络中存在多个主时间服务器。
[0017]由以上技术方案可以看出,本发明中,通过多主时间服务器检测方法检测网络中是否有多个主时间服务器,当检测出网络中出现多个主时间服务器,即意味着有多个主时间服务器都在给本设备同步时间,就能断定本设备会出现时间不同步,这能避免因网络中出现多个主时间服务器导致的网络中设备时间不同步。
【附图说明】
[0018]图1为现有多主时间服务器结构图;
[0019]图2为本发明提供的方法流程图;
[0020]图3为本发明提供的时钟层数结构图;
[0021]图4为本发明提供的NTPv4报文格式图;
[0022]图5为本发明提供的TLV格式图;
[0023]图6为本发明提供的TLV类型格式图;
[0024]图7为本发明提供的装置结构图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0026]如【背景技术】描述的,网络中之所以会出现设备的时间无法保持同步,宄其原因就是网络中存在多个主时间服务器,但寻求时间同步的设备并不知道网络中存在多个主时间服务器,也不会检测网络中是否存在多个主时间服务器,最终造成设备的时间无法保持同步。
[0027]因此,为避免多主时间服务器造成网络中设备的时间无法保持同步,本发明提供了多主时间服务器检测方法,当检测出网络中出现多个主时间服务器,即意味着有多个主时间服务器都在同时给网络中的设备同步时间,就能断定网络中的设备会出现时间不同步,基于此,可提示管理人员该检测出的多个主时间服务器,以便管理人员及时排出多余的主时间服务器,保证主时间服务器的唯一性,比如:只保留一个主时间服务器比如图1所示的主时间服务器1,让另一个主时间服务器比如图1所示的主时间服务器2与主时间服务器I同步时间。
[0028]由此可见,本发明提供的多主时间服务器检测方法对防止因多主时间服务器而导致的时间不同步至关重要。
[0029]下面通过图2对本发明提供的方法进行描述:
[0030]参见图2,图2为本发明提供的方法流程图。如图2所示,该流程应用于网络设备。
[0031]这里的网络设备可为主时间服务器,也可为非主时间服务器,甚至还可为网络中的客户端。
[0032]其中,网络设备为主时间服务器、非主时间服务器、客户端时执行的操作均不同,下述的步骤201描述了网络设备为主时间服务器时执行的操作,下述的步骤202描述了网络设备为非主时间服务器时执行的操作,下述的步骤203描述了网络设备为客户端时执行的操作。
[0033]如图2所示,该流程可包括以下步骤:
[0034]步骤201,作为主时间服务器,接收NTP请求报文,将本设备的设备标识携带在NTP应答报文中返回至所述NTP请求报文的发送端。
[0035]NTP规定,根据精确度和重要性,时间同步从理论上一般分为多个时钟层数,常用的是I至16共16级时钟层数。时钟层数取值越小,其时钟准确度和重要性越高。通常一级时钟层数上从权威时钟(如原子时钟称为时钟源)获得时间同步的时间服务器为主时间服务器。至于如何划分时钟层数,这里不再展开描述,其可参考NTP。图3简单示出了 4级时钟层数,在图3中,一级时钟层数的其中一个时间服务器为主时间服务器。
[00