掌桥专利:专业的专利平台
掌桥专利
首页

路由环路检测方法和装置、设备及存储介质

文献发布时间:2024-04-18 20:02:40


路由环路检测方法和装置、设备及存储介质

技术领域

本申请涉及网络通信技术领域,尤其涉及一种路由环路检测方法和装置、设备及存储介质。

背景技术

计算机网络中的路由环路是因为路由配置错误导致的,虽然现在的动态路由协议(例如OSPF、IS-IS等)能避免出现环路配置,但在实际的网络中,路由环路的现象非常多见,在很多企业、事业单位的网络中都存在,究其原因,可能是由于配置了错误的静态路由、动态路由收敛过慢、动态路由振荡等原因。当路由环路发生时,IP数据包在其初始的TTL(TimeTo Live生存时间值)范围内,会在环路发生的2个路由设备之间来回转发、逐跳减少直至TTL减为0时,路由器将丢弃该IP数据包并向源主机发送ICMP(Internet Control MessageProtocol互联网控制报文协议)超时的消息。因此。当路由环路发生时,不仅会造成数据包不能到达目的节点,还会因数据包一直在环路中传输而占用网络资源,从而增加了网络负担。

目前,在路由环路发生时,大都依靠网络的用户上报问题,网络管理人员再根据用户提供的目的IP等信息,对目的IP在网络中所涉及的所有路由设备进行排查,才能找路由环路发生的两路由设备进行故障处理。这种排查的方式较为繁琐,效率较低。

发明内容

有鉴于此,本申请提出了一种路由环路检测方法和装置、设备及存储介质。

根据本申请的一方面,提供了一种路由环路检测方法,包括:

获取协议报文中的超时报文,并对所述超时报文进行解析,获取所述超时报文的目的IP地址;

控制网络中任一终端设备,对所述超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测;

基于各所述网络检测的结果确定发生路由环路的两个路由设备。

在一种可能的实现方式中,在获取所述协议报文中的所述超时报文时,基于所述协议报文的类型和代码中的至少一种进行判断,判断所述协议报文是否为超时报文。

在一种可能的实现方式中,在对所述协议报文进行判断时,包括:

对所述协议报文进行解析,获取所述协议报文的类型和代码;

当所述协议报文的类型为网络不可达且代码为生存时间计数器超时时,判断该所述协议报文为所述超时报文。

在一种可能的实现方式中,在对所述超时报文的目的IP地址所对应的终端设备执行两次以上的所述网络检测时,所控制的终端设备为网络中除所述超时报文的目的IP地址所对应的终端设备外任一终端设备。

在一种可能的实现方式中,在对所述超时报文的目的IP地址所对应的终端设备执行两次以上的所述网络检测时,包括:

向所述超时报文的目的IP地址所对应的终端设备发送两次以上的测试数据;

对各所述测试数据的返回信息进行解析,确定发生路由环路的两个所述路由设备。

在一种可能的实现方式中,在向所述超时报文的目的IP地址所对应的终端设备发送两次以上的所述测试数据时,各所述测试数据的TTL(Time To Live生存时间值)之间均不相等。

在一种可能的实现方式中,在确定发生路由环路的两个所述路由设备后,上报环路告警;

所述环路告警包括发生路由环路的两个所述路由设备的IP地址、发生路由环路的路由和所述超时报文的目的IP地址中的至少一种。

根据本申请的另一方面,提供一种路由环路检测装置,包括:输入模块、检测模块和查询模块;

所述输入模块,被配置为获取协议报文中的超时报文,并对所述超时报文进行解析,获取所述超时报文的目的IP地址;

所述检测模块,被配置为控制网络中任一终端设备,对所述超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测;

所述查询模块,被配置为基于各所述网络检测的结果确定发生路由环路的两个路由设备。

根据本申请的另一方面,提供一种路由环路检测设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述可执行指令时实现上述任一的方法。

根据本申请的另一方面,提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述任意一项所述的方法。

本申请适用于对计算机网络中发生的路由环路进行检测。获取协议报文中的超时报文,其中,协议报文即各种网络协议报文,此报文区别于用户数据报文即IP数据包,在IP数据包的目的IP所对应的目的终端设备所在网段发生路由环路时,IP数据包在路由环路发生的两个路由器之间来回转发、逐条减少直至该IP数据包的TTL(Time To Live生存时间值)减为0时,最后对该IP数据包进行处理的路由设备将丢弃该IP数据包,并向该IP数据包的源终端设备发送超时报文。对该超时报文进行解析,获取超时报文的目的IP地址,即被丢弃的IP数据包的目的IP所对应的目的终端设备的IP地址,该目的终端设备作为环路主机;控制网络中任一终端设备,对环路主机执行两次以上得网络检测,以检测该终端设备与环路主机之间的各路由设备的通信情况,基于各网络检测的结果确定发生路由环路的两个路由设备,便于网络管理人员及时找到这两个路由设备进行故障处理。相较于传统的根据用户上报的方式,本申请通过获取协议报文中的超时报文方式,对路由环路的发生监控更加及时,并且相较于传统的对涉及的所有路由设备进行排查的方式,本申请确定发生路由环路的两个路由设备的方式更加迅速高效。

根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。

图1示出本申请实施例的路由环路检测方法的流程图;

图2示出本申请实施例的路由环路检测方法的部署示意图;

图3示出本申请实施例的超时报文解析结果示意图;

图4示出本申请实施例的测试数据的返回信息解析结果示意图;

图5示出本申请实施例的基于路由表获取发生路由环路的路由的示意图;

图6示出本申请实施例的路由环路检测装置的主体结构图;

图7示出本申请实施例的路由环路检测设备的主体结构图。

具体实施方式

以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。

图1示出本申请实施例的路由环路检测方法的流程图。如图1所示,该路由环路检测方法包括:步骤S100:获取协议报文中的超时报文,并对超时报文进行解析,获取超时报文的目的IP地址;步骤S200:控制网络中任一终端设备,对超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测;步骤S300:基于各网络检测的结果确定发生路由环路的两个路由设备。

本申请适用于对计算机网络中发生的路由环路进行检测。获取协议报文中的超时报文,其中,协议报文即各种网络协议报文,此报文区别于用户数据报文即IP数据包,在IP数据包的目的IP所对应的目的终端设备所在网段发生路由环路时,IP数据包在路由环路发生的两个路由器之间来回转发、逐条减少直至该IP数据包的TTL(Time To Live生存时间值)减为0时,最后对该IP数据包进行处理的路由设备将丢弃该IP数据包,并向该IP数据包的源终端设备发送超时报文。对该超时报文进行解析,获取超时报文的目的IP地址,即被丢弃的IP数据包的目的IP所对应的目的终端设备的IP地址,该目的终端设备作为环路主机;控制网络中任一终端设备,对环路主机执行两次以上得网络检测,以检测该终端设备与环路主机之间的各路由设备的通信情况,基于各网络检测的结果确定发生路由环路的两个路由设备,便于网络管理人员及时找到这两个路由设备进行故障处理。相较于传统的根据用户上报的方式,本申请通过获取协议报文中的超时报文方式,对路由环路的发生监控更加及时,并且相较于传统的对涉及的所有路由设备进行排查的方式,本申请确定发生路由环路的两个路由设备的方式更加迅速高效。

此处需要进行说明的是,所获取的协议报文利用计算机网络旁路部署的网络流量分析设备进行。网络流量分析设备是一种通用的网络运维设备,通过旁路方式部署在网络中,依靠交换机等设备将网络流量镜像过来,网络流量分析设备将流量进行捕获、分析和存储,用于网络性能监控、流量分析、安全溯源等目的。利用通用的网络流量分析设备,不会给用户增加额外的硬件投资。网络流量分析设备如网络流量安全审计设备、网络性能管理设备(NPM)、网络全流量溯源设备等,此处本申请不做具体限定,仅需可获取各网络设备或网络传输线路中传输的协议报文即可,在网络流量中获取协议报文方法有多种:可通过分光器直接从网络线路获取,也可以通过镜像方式从网络设备获取。

如图2所示,在网络中部署网络流量分析设备,网络流量分析设备上运行本申请实施例的路由环路检测方法;交换机将网络流量镜像到网络流量分析设备上;假设在网络中的路由设备R1和路由设备R2之间存在关于网段B的路由环路;终端设备1的IP地址位于网段A内,终端设备2的IP地址的位于网段B内;因为路由设备R1和路由设备R2之间存在关于网段B的路由环路,因此,终端设备1向终端设备2发出的IP数据包,会在路由设备R1和路由设备R2之间来回转发直至该IP数据包的TTL减少为0;当该IP数据包的TTL减少为0时,路由设备R1或路由设备R2会向终端设备1发送一个超时报文,该超时报文会被交换机镜像到网络流量分析设备上;对该超时报文进行解析得到终端设备2的IP地址,将终端设备2作为环路主机;控制网络中任一终端设备,对环路主机执行两次以上得网络检测,以检测该终端设备与环路主机之间的各路由设备的通信情况,基于各网络检测的结果确定发生路由环路的路由设备R1和路由设备R2。

其中,在超时报文被交换机镜像到网络流量分析设备上时,同时还会将各协议报文进行镜像,因此需要对各协议报文进行判断获取其中的超时报文。

进一步的,在获取协议报文中的超时报文时,基于协议报文的类型和代码中的至少一种进行判断,判断协议报文是否为超时报文。

在对协议报文进行判断时,包括:对协议报文进行解析,获取协议报文的类型和代码;当协议报文的类型为网络不可达且代码为生存时间计数器超时时,判断该协议报文为超时报文,并获取其目的IP地址,进行后续处理;当协议报文的类型不为网络不可达或代码不为生存时间计数器超时时,判断该协议报文不为超时报文,不进行后续处理,其中,网络不可达报文是指:路由器寻址出错,下一跳路由器可能存在故障。

具体的,参阅图3,对协议报文进行解析,即对ICMP报文进行解析,判断ICPM报文是否满足:Type=11且Code=0,如不满足,则不对该ICPM报文进行处理;如图3所示,对ICMP报文进行解析后,该ICMP报文Type=11且Code=0,即表征该ICMP报文的类型为网络不可达且代码为生存时间计数器超时,该ICMP报文作为超时报文。进一步的,获取解析后的该ICMP报文消息载荷中的IP首部的目的IP地址,即为发生路由环路的环路主机IP地址,如图3中的“Destination Address:10.192.18.126”。

利用上述任一所述的方法,确定发生路由环路的环路主机,即超时报文的目的IP地址所对应的终端设备后,对其执行两次以上的网络检测,进而得到每次网络检测所对应的结果,基于各网络检测的结果,基于各网络检测的结果确定发生路由环路的两个路由设备。

其中,在对超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测时,控制网络中任一终端设备,对超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测,所控制的终端设备为网络中除超时报文的目的IP地址所对应的终端设备外任一终端设备。

此处需要进行说明的是,在控制网络中任一终端设备执行两次以上的网络检测时,通过旁路设备的操作系统(旁路设备的操作系统一般都能够接入到用户网络中)或远程方式控制任一台在网络中的终端设备,对环路主机执行两次以上的网络检测。

进一步的,在对超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测时,包括:向超时报文的目的IP地址所对应的终端设备发送两次以上的测试数据;对各测试数据的返回信息进行解析,确定发生路由环路的两个路由设备。

其中,向超时报文的目的IP地址所对应的终端设备,即环路主机发送两次以上的测试数据时,由于环路主机所在网段对应的路由设备存在路由环路,因此,向环路主机所发送的测试数据同样会在发生路由环路的两路由设备之间来回转发直至该测试数据的TTL减少为0,该测试数据的TTL减少为0时,该测试数据所在的路由设备向进该测试数据的源终端设备发送超时报文,即返回信息,其中,返回信息中包含所对应测试数据的TTL减少为0时所在的路由设备信息。

也就是说,在对超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测时,包括:向超时报文的目的IP地址所对应的终端设备发送两次以上的测试数据;对各测试数据的返回信息进行解析,确定发生路由环路的两个路由设备。

进一步的,在向超时报文的目的IP地址所对应的终端设备发送两次以上的测试数据时,各测试数据的TTL之间均不相等。以避免出现测试数据在其TTL减少为0时位于同一路由设备。

在一种可能的实现方式中,各测试数据的TTL均大于等于数据包TTL推荐值,各测试数据的TTL均小于等于数据包TTL最大值,即测试数据的TTL大于等于64,小于等于255。

优选的,利用PING(Packet Internet Groper因特网包探索器)命令对环路主机执行两次网络检测,两次网络检测所发送的测试数据的TTL的差值为1。

举例来说,参阅图4,基于超时报文确定环路主机的IP地址后,利用旁路设备的操作系统或远程控制任一网络中终端设备,对环路主机的IP地址执行两次PING命令,两次PING命令的测试数据的TTL分别设为100和99,用于执行PING命令的旁路设备或终端设备在测试数据的TTL减少为0时收到测试数据的返回信息。如图4所示,图4示出两次PING命令的返回信息解析结果,即TTL为100的测试数据发送至对环路主机(IP地址10.192.18.126)时,在其中一个路由设备(IP地址10.192.17.1)中该测试数据的TTL减少为0;TTL为99的测试数据发送至对环路主机(IP地址10.192.18.126)时,在另一个路由设备(IP地址10.192.17.30)中该测试数据的TTL减少为0。进而得到发生路由环路的两个路由设备。

进一步的,基于发生路由环路的两个路由设备和环路主机,利用所对应的路由表,查询发生路由环路的路由。

其中,路由表是一个存储在路由设备或者联网终端设备中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径,即各路由设备和各终端设备之间的路由。因此,利用发生路由环路的两个路由设备中一个路由设备所存储的路由表,基于另一路由设备的IP地址和环路主机的IP地址,在该路由表中查询到发生路由环路的两个路由设备和环路主机所对应的路由,即发生路由环路的路由;或利用环路主机所存储的路由表,基于发生路由环路的两个路由设备的IP地址,在该路由表中查询到发生路由环路的两个路由设备和环路主机所对应的路由,即发生路由环路的路由。

举例来说,参阅图5,利用发生路由环路的两个路由设备中一个路由设备(IP地址10.192.17.1)所存储的路由表,基于另一路由设备的IP地址(10.192.17.30)和环路主机的IP地址(10.192.18.126),在该路由表中查询到发生路由环路的两个路由设备和环路主机所对应的路由为10.192.18.0/25,即发生路由环路的路由。

在一种可能的实现方式中,利用上述任一所述的方法,在确定发生路由环路的两个路由设备后,上报环路告警;环路告警包括发生路由环路的两个路由设备的IP地址、发生路由环路的路由和超时报文的目的IP地址中的至少一种。

进一步的,在获取发生路由环路的路由后,上报环路告警;环路告警包括发生路由环路的两个路由设备的IP地址、发生路由环路的路由和超时报文的目的IP地址。

具体的,基于网络中的Syslog(日志)服务器,上报环路告警,环路告警用json(轻量级的数据交换格式)表示如下:

{

"环路主机IP":"10.192.18.126",

"环路路由":"10.192.18.0/25",

"路由设备A":"10.192.17.1",

"路由设备B":"10.192.17.30",

}

由此,将环路告警发送至网络管理人员的终端设备或用于管理服务器的终端设备,使网络管理人员可根据环路告警,直至确定网络中发生路由环路的具体位置,以便于对其进行故障处理。

更进一步地,参阅图6,根据本申请的另一方面,还提供一种路由环路检测装置100,包括:输入模块110、检测模块120和查询模块130;输入模块110,被配置为获取协议报文中的超时报文,并对超时报文进行解析,获取超时报文的目的IP地址;检测模块120,被配置为控制网络中任一终端设备,对超时报文的目的IP地址所对应的终端设备执行两次以上的网络检测;查询模块130,被配置为基于各网络检测的结果确定发生路由环路的两个路由设备。

更进一步地,根据本申请的另一方面,还提供了一种路由环路检测设备200。参阅图7,本申请实施例路由环路检测设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的路由环路检测方法。

此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本申请实施例的用于图像的外参校准设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。

存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本申请实施例的路由环路检测方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行路由环路检测设备200的各种功能应用及数据处理。

输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。

根据本申请的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的路由环路检测方法。

以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 路由数据处理方法、装置、电子设备及存储介质
  • 交易路由配置方法、装置、计算机设备和存储介质
  • 一种存储系统的状态检测方法、装置、设备及存储介质
  • 组合逻辑电路的环路检测方法、装置、设备及存储介质
  • 有向无环图环路检测方法、装置、设备及存储介质
技术分类

06120116586451