环路自检自愈方法及装置与流程

文档序号:12492379阅读:746来源:国知局
环路自检自愈方法及装置与流程

本发明涉及网络技术领域,特别是涉及一种环路自检自愈方法及装置。



背景技术:

随着互联网技术的发展及网络需求的日益复杂化,网络拓扑结构也变得日益复杂。处在网络拓扑结构中的网络通信设备,例如交换机,在机房布线施工搭建环境时,为了实现链路备份,可能将本不该连接的同一交换机的两个端口或两个交换机之间短接,从而形成环路。

一旦局部网络出现了环路,会造成数据在网络中重复传输,从而引起广播风暴,导致整个网络发生瘫痪。因此,如何能够避免网络拓扑结构中环路带来的负面影响是亟待解决的问题。



技术实现要素:

基于此,有必要针对如何能够避免网络拓扑结构中环路带来的负面影响的问题,提供一种环路自检自愈方法及装置。

一种环路自检自愈方法,由处于网络拓扑结构中的网络通信设备执行,包括:

按照设定时间间隔从第一端口输出能够广播的第一信息;

接收输入至第二端口的第二信息;

将所述第二信息的内容与所述第一信息的内容进行对比;

若所述第二信息包括所述第一信息中的设定内容,则确认所述网络拓扑结构中出现环路;

将所述第一端口或所述第二端口关闭。

在其中一个实施例中,若所述第二信息包括所述第一信息中的设定内容,则确认所述网络拓扑结构中出现环路的步骤包括:

若所述第二信息包括所述第一信息中的设定内容,且所述第一端口与所述第二端口不是同一个端口,则确认所述第一端口与所述第二端口相互连接,或者分别与所述第一端口、所述第二端口连接的两个网络通信设备之间相互连接。

在其中一个实施例中,若所述第二信息包括所述第一信息中的设定内容,且所述第一端口与所述第二端口不是同一个端口,则确认所述第一端口与所述第二端口相互连接,或者分别与所述第一端口、所述第二端口连接的两个网络通信设备之间相互连接的步骤包括:

若所述第二信息包括所述第一信息中的设定内容、所述第一端口与所述第二端口不是同一个端口,且根据所述第二信息的内容可以判定所述第一信息没有经过其他网络通信设备,则确认所述第一端口与所述第二端口相互连接。

在其中一个实施例中,若所述第二信息包括所述第一信息中的设定内容,且所述第一端口与所述第二端口不是同一个端口,则确认所述第一端口与所述第二端口相互连接,或者分别与所述第一端口、所述第二端口连接的两个网络通信设备之间相互连接的步骤包括:

若所述第二信息包括所述第一信息中的设定内容、所述第一端口与所述第二端口不是同一个端口,且根据所述第二信息的内容可以判定所述第一信息经过了其他网络通信设备时,则确认分别与所述第一端口、所述第二端口连接的两个网络通信设备之间相互连接。

在其中一个实施例中,若所述第二信息包括所述第一信息中的设定内容,则确认所述网络拓扑结构中出现环路的步骤包括:

若所述第二信息包括所述第一信息中的设定内容,且所述第一端口与所述第二端口是同一个端口,则确认与所述第一端口连接的网络拓扑结构中出现了环路。

在其中一个实施例中,所述设定内容包括标记信息,且所述标记信息用于表明第一信息是用来检测是否出现环路的数据。

在其中一个实施例中,在若所述第二信息包括所述第一信息中的设定内容,则确认网络拓扑结构中出现环路的步骤之后,所述方法还包括:

向处于所述网络拓扑结构中的其他所述网络通信设备发送能够指示出现环路现象的告警信息。

在其中一个实施例中,所述告警信息包括检测到所述环路的时间、与所述环路相关的端口序号、处于环路中的各所述网络通信设备的互联网协议地址及物理地址中的一种或两种以上。

在其中一个实施例中,在若所述第二信息包括所述第一信息中的设定内容,则确认网络拓扑结构中出现环路的步骤之后,所述方法还包括:

控制蜂鸣器处于鸣响状态。

一种环路自检自愈装置,应用于处于网络拓扑结构中的网络通信设备,其特征在于,所述装置包括:

第一信息发送模块,用于按照设定时间间隔从第一端口输出能够广播的第一信息;

第二信息接收模块,用于接收输入至第二端口的第二信息;

信息比较模块,用于将所述第二信息的内容与所述第一信息的内容进行对比;

环路判断模块,用于在所述第二信息包括所述第一信息中的设定内容时,则确认所述网络拓扑结构中出现环路;

切断环路模块,用于将所述第一端口或所述第二端口关闭。

上述环路自检自愈方法及装置具有的有益效果为:上述环路自检自愈方法及装置通过定时从第一端口输出第一信息,并接收输入至第二端口的第二信息,再将第二信息的内容与第一信息的内容进行对比,若第二信息包括第一信息中的设定内容,则确认网络拓扑结构中出现环路,从而能够及时发现环路。之后将第一端口或第二端口关闭,相当于破坏了环路,从而制止了环路的继续运行,以避免发生广播风暴甚至整个网络发生瘫痪的现象,因此上述环路自检自愈方法及装置能够避免网络拓扑结构中环路带来的负面影响。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。

图1为一实施例提供的环路自检自愈方法的流程图;

图2为图1所示实施例的环路自检自愈方法的其中一种具体实施方式流程图;

图3为网络拓扑结构中的第一种环路示意图;

图4为网络拓扑结构中的第二种环路示意图;

图5为网络拓扑结构中的第三种环路示意图;

图6为图1所示实施例的环路自检自愈方法另外包括的步骤流程图;

图7为另一实施例提供的环路自检自愈装置的组成框图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

一实施例提供了一种环路自检自愈方法,用来检测网络拓扑结构中是否出现环路,并破坏环路。其中,网络拓扑结构是指用传输媒体互连各种设备的物理布局,即用什么方式把网络中的计算机、交换机等网络通信设备连接起来。本发明实施例提供的环路自检自愈方法由处于网络拓扑结构中的网络通信设备(以下简称本网络通信设备)执行,包括以下内容,请参考图1。

步骤S100.按照设定时间间隔从第一端口输出能够广播的第一信息。

其中,可以通过定时器设置的时间来定时发送第一信息。第一信息的类型可以为数据包或报文。具体的,第一信息的内容可以包括标记信息、源物理地址(即源MAC地址)、目的物理地址(即目的MAC地址)。标记信息用于表明第一信息是用来检测是否出现环路的数据,从而与网络中传输的其他类型的数据区分开。源物理地址可以为本网络通信设备自身的MAC地址经过简单加密算法(例如:将自身MAC地址的第一个字节和数字2进行按位或运算)得到的结果。

第一信息能够广播,是指第一信息能够发送至网络拓扑结构中的其他所有网络通信设备,例如:第一信息的目的物理地址为FF-FF-FF-FF-FF-FF。另外,第一端口是指本网络通信设备的其中一个可以接收和发送数据的端口。

步骤S200.接收输入至第二端口的第二信息。

其中,第二端口是指本网络通信设备的其中一个可以接收和发送数据的端口。并且,第一端口与第二端口可能为本网络通信设备的同一个端口也可能为本网络通信设备的不同端口。第二信息的类型与第一信息的类型一致,可以为数据包或报文。另外,输入至第二端口的第二信息,意味着第二信息输入到本网络通信设备内。

步骤S300.将第二信息的内容与第一信息的内容进行对比。

该步骤是为了检验第二信息与第一信息的相似度,从而确定是否发生环路。

步骤S400.若第二信息包括第一信息中的设定内容,则确认网络拓扑结构中出现环路。

其中,设定内容至少能够表明第二信息还未经过传输前的最初状态为第一信息。换言之,第二信息就是第一信息经过一定的传输路径又回到本网络通信设备后的数据。具体的,设定内容可以包括标记信息。那么,步骤S400中具体可以检测第二信息中是否包括标记信息,如果包括,则代表第一信息经过一定的传输媒体或其他网络通信设备后又返回到本网络通信设备,从而可以确认网络拓扑结构中出现了环路现象。

进一步的,设定内容还可以同时包括标记信息、源物理地址和目的物理地址,从而进一步提高环路检测的精确性。那么,步骤S400中具体可以检测第二信息中是否包括第一信息中的标记信息、源物理地址和目的物理地址,如果是,则可以确认出现环路。

步骤S500.将第一端口或第二端口关闭。

其中,将端口关闭,就是指将端口置为down状态,从而使得端口停止接收和发送数据。当出现环路时,由于第一端口和第二端口都与环路连通,因此关闭第一端口或第二端口,即可切断环路的数据传输链路,避免环路中任一网络通信设备发送的数据进行无止境的重复循环传输状态。具体的,可以关闭接口索引大的端口。

因此,上述环路自检自愈方法通过将第二信息的内容与第一信息的内容进行对比,即可确认网络拓扑结构中是否出现环路,从而能够及时发现环路。并且,在发现环路后,通过关闭与环路相关端口的方式,制止了环路的继续运行,从而避免发生广播风暴甚至整个网络发生瘫痪的现象,避免了网络拓扑结构中环路带来的负面影响。

另外,对于上述环路自检自愈方法,还可以通过识别第一端口和第二端口之间的关系来判断环路出现的位置,从而进行精确定位。具体的判断方式详见以下内容。

在其中一个实施例中,步骤S400包括以下内容,请参考图2。

步骤S410.若第二信息包括第一信息中的设定内容,且第一端口与第二端口不是同一个端口,则确认第一端口与第二端口相互连接,或者分别与第一端口、第二端口连通的相邻两个网络通信设备之间相互连接。

其中,第一端口与第二端口相互连接,是指第一端口与第二端口为不同的两个端口,且这两端口之间能够相互传输数据,这时发生的环路称之为“自环”。假设网络通信设备为交换机,图3示出了“自环”的其中一种示意图。在该网络拓扑结构中,当网络中接线时误将分交换机1的端口2和端口3短接后,分交换机1从端口2发出一个广播数据包,会在端口3收到,当端口3接收到广播数据包后又发送至端口2和端口1,如此循环往复,势必导致分交换机1出现广播风暴,同时由于端口1也在不断接收端口3发来的广播数据包,因此端口1会将广播数据包再发送至核心交换机的端口A,核心交换机再通过端口B将广播数据包转发至分交换机2,进而使得核心交换机与分交换机2也会出现广播风暴,最终导致由分交换机1、核心交换机及分交换机2组成的网络瘫痪。

分别与第一端口、第二端口连接的两个网络通信设备之间相互连接,是指分别与第一端口、第二端口连接的两个网络通信设备之间能够相互传输数据,这时,本网络通信设备、分别与第一端口、第二端口连接的两个网络通信设备之间构成环路,称为“一级环路”。同样假设网络通信设备为交换机,图4示出了“一级环路”的其中一种示意图。当网络中接线时误将分交换机1、核心交换机及分交换机2之间两两连接,那么,分交换机1发出一个广播数据包将会经过分交换机2,之后分交换机2转发至核心交换机,再由核心交换机转发至分交换机1,如此循环往复,势必导致由分交换机1、分交换机2及核心交换机所组成的网络环境中出现广播风暴,最终导致由分交换机1、核心交换机及分交换机2组成的网络瘫痪。

由图3和图4可以看出,任一交换机来执行本发明实施例提供的上述环路自检自愈方法时,若第一端口与第二端口是两个不同的端口,那么出现的环路现象则属于“自环”或者“一级环路”。

具体的,对于“自环”的检测方法为:若第二信息包括第一信息中的设定内容、第一端口与第二端口不是同一个端口,且根据第二信息的内容可以判定第一信息没有经过其他网络通信设备,则确认第一端口与第二端口相互连接。对于“一级环路”的检测方法为:若第二信息包括第一信息中的设定内容、第一端口与第二端口不是同一个端口,且根据第二信息的内容可以判定第一信息经过了其他网络通信设备,则确认分别与第一端口、第二端口连接的两个网络通信设备之间相互连接。

在本发明实施例中,任一网络通信设备在转发第一信息时,都会在第一信息中置相应的标志(假设第一信息为数据包,则可以将数据包的某一数据位置相应的标志),从而表明第一信息在整个传输过程中经过了哪些网络通信设备,那么,本网络通信设备的第二端口接收的第二信息则为添加了若干标志的第一信息。因此,若第二信息内包括第一信息中的设定内容且第一端口与第二端口不是同一个端口,这时可以判定本网络通信设备出现了“自环”或本网络通信设备处于“一级环路”中,之后再检测第二信息中是否包括由传输路径中的各网络通信设备添加的标志,如果有,则代表第一信息从本网络通信设备的第一端口输出后,经过若干其他网络通信设备转发后,又通过第二端接口回到了本网络通信设备(这时第一信息变为第二信息),即可确认本网络通信设备处于“一级环路”中;如果没有,则代表第一信息从本网络通信设备输出后,没有经过其他网络通信设备转发而是直接从第二端口回到了本网络通信设备,这时可确认本网络通信设备出现了“自环”。

在其中一个实施例中,步骤S400还包括以下内容,请继续参考图2。

步骤S420.若第二信息包括第一信息中的设定内容,且第一端口与第二端口是同一个端口,则确认与第一端口连接的网络拓扑结构中出现了环路。

其中,与第一端口连接的网络拓扑结构中出现了环路,代表与第一端口连接的其他网络通信设备中出现了“自环”或者“一级环路”,这时的环路现象称为“多级环路”。假设网络通信设备为交换机,图5示出了“多级环路”的其中一种示意图。当网络中接线时误将分交换机1、分交换机3及分交换机4之间两两连接,分交换机1发出一个广播数据包后经过分交换机3,分交换机3转发至分交换机4,再由分交换机4转发至分交换机1,如此循环往复,势必导致由分交换机1、分交换机3及分交换机4所组成的区域一的网络出现广播风暴,又由于分交换机1还链接到核心交换机的端口A,且核心交换机的端口B又链接到由分交换机2、分交换机5及分交换机6组成的区域二的网络,故区域二的网络由于区域一的网络的影响也会出现广播风暴的现象,最终导致由区域一、核心交换机、区域二所组成的整个网络瘫痪。

接下来将具体介绍上述各种环路现象的具体检测方法。

以图3为例,并且本网络通信设备为分交换机1,上述环路自检自愈方法关于“自环”检测的具体实现过程为:在分交换机1内可以增加环路检测模块,并且在分交换机1所有开启(up)的端口开启环路检测功能,环路检测模块的发包进程根据定时器设置的时间,定时向外发送第一信息。当端口2收到第一信息后会转发至端口3成为第二信息,端口3接收到第二信息(需注意的是,这时第二信息与第一信息相同)后又会发送至环路检测模块的收包进程,该收包进程对第二信息进行校验,例如检测标记信息、源MAC地址及目的MAC地址是否与第一信息一致,如果校验无误,即代表分交换机1的端口2发出的第一信息在分交换机1的端口3收到,那么环路检测模块即可判定分交换机1处于“自环”环境中。为避免出现环路引起风暴,环路检测模块将端口3配置成down状态,以达到破环环路的作用,从而使链路恢复正常。需要说明的是,图3中如果由核心交换机或分交换机2来执行本发明实施例提供的上述环路自检自愈方法,则可以利用包括步骤S420的具体方法进行检测,这时同样能够达到破坏环路的效果。

接下来请参考图4,并且本网络通信设备以核心交换机为例(需要说明的是,图4中分交换机1、分交换机2、核心交换机三台设备任意一台设备都可以通过上述环路自检自愈方法中的关于“一级环路”的检测方法来检测环路),上述环路自检自愈方法关于“一级环路”检测的具体实现过程为:首先使核心交换机所有开启的端口开启环路检测功能,并在核心交换机内增加环路检测模块。环路检测模块的发包进程根据定时器设置的时间定时向外发送第一信息。当端口A收到第一信息后通过分交换机1及分交换机2最终即可转发至端口B,这时端口B接收的信息为第二信息。端口B再将第二信息发送至环路检测模块的收包进程,该收包进程则对第二信息进行校验,例如检测标记信息、源MAC地址及目的MAC地址是否与第一信息一致,如果校验无误,代表核心交换机端口A发出的第一信息在同一设备的端口B收到,那么环路检测模块可以判定核心交换机处于“一级环路”环境中。为避免引起广播风暴,环路检测模块将端口A或者端口B配置成down(关闭)状态,以达到破环环路的作用,从而使链路恢复正常。

接下来请参考图5,在分交换机1、分交换机3、分交换机4三台设备任意一台设备上开启环路检测功能,均可以避免区域一的广播风暴的问题,其过程跟图4所述的关于“一级环路”检测的原理一样,这里就不再赘述。另外,也可以在核心交换机、分交换机2、分交换机5或分交换机6上开启环路检测功能,接下来以核心交换机为例进行说明,上述环路自检自愈方法关于“多级环路”检测的具体实现过程为:在核心交换机内增加环路检测模块,环路检测模块的发包进程根据定时器设置的时间定时向外发送第一信息。当端口A向区域一发送第一信息后,因分交换机1、分交换机3及分交换机4之间两两相连,所以第一信息会依次经过分交换机1-分交换机3-分交换机4-分交换机1-核心交换机的端口A,从而成为第二信息,当端口A收到第二信息后将其发送至环路检测模块的收包进程。该收包进程对第二信息进行校验,例如检测标记信息、源MAC地址及目的MAC地址是否与第一信息一致,如果校验无误,代表核心交换机的端口A发出的第一信息最后又回到端口A,则环路检测模块可以判定核心交换机与端口A级联的区域一的网络出现环路,即出现了“多级环路”,为避免区域一的网络的环路影响到区域二的网络,环路检测模块可以将端口A配置成down状态,以达到破环作用,从而使链路恢复正常。另外,如果环路检测模块通过端口B向区域二发送第一信息后,第一信息经过分交换机2会分别转发至分交换机5、分交换机6,而分交换机5、分交换机6中间没有级联,因此第一信息不会回流到核心交换机的端口B,则可判定区域二没有处于环路状态。

在其中一个实施例中,上述环路自检自愈方法在步骤S500之后还包括以下内容,请参考图6。

步骤S600.向处于网络拓扑结构中的其他网络通信设备发送能够指示出现环路现象的告警信息

其中,告警信息的数据类型可以为报文。当处于网络拓扑结构中的其他网络通信设备收到告警信息后,可以将告警信息的内容在系统日志上显示出来,那么管理员只要通过任何一台网络通信设备显示的告警信息,即可准确知晓环路出现的位置,从而有助于网络管理员排除复杂的网络环路问题。

具体的,告警信息可以包括检测到环路的时间、与环路相关的端口序号、处于环路中的各网络通信设备的互联网协议地址(IP地址)及物理地址(MAP地址)中的一种或两种。其中,与环路相关的端口序号是指本网络通信设备的第一端口或第二端口对应的序号。这时,管理员只要通过任何一台网络通信设备上的告警信息,就可以准确定位到哪一台网络通信设备的哪个端口在哪个时间点上出现过环路。

步骤S700.控制蜂鸣器处于鸣响状态。

另外,还可以将鸣响状态相关的信息也发送至处于网络拓扑结构中的其他网络通信设备,从而进一步提高网络管理员识别环路发生位置的准确性。

可以理解的是,步骤S600与步骤S700的执行顺序不限于上述情况,例如也可以是先执行步骤S700,然后再执行步骤S600,或者同时执行步骤S600和步骤S700。

需要说明的是,图1、图2和图6为本发明实施例的方法的流程示意图。应该理解的是,虽然图1、图2和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图1、图2和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

另一实施例提供了一种环路自检自愈装置,应用于处于网络拓扑结构中的网络通信设备,包括以下内容,请参考图7。

第一信息发送模块100,用于按照设定时间间隔从第一端口输出能够广播的第一信息。

第二信息接收模块200,用于接收输入至第二端口的第二信息。

信息比较模块300,用于将所述第二信息的内容与所述第一信息的内容进行对比。

环路判断模块400,用于在所述第二信息包括所述第一信息中的设定内容时,则确认所述网络拓扑结构中出现环路。

切断环路模块500,用于将所述第一端口或所述第二端口关闭。

在其中一个实施例中,环路判断模块400包括:

第一环路判断单元,用于在所述第二信息包括所述第一信息中的设定内容,且所述第一端口与所述第二端口不是同一个端口时,则确认所述第一端口与所述第二端口相互连接,或者分别与所述第一端口、所述第二端口连接的两个网络通信设备之间相互连接。

在其中一个实施例中,第一环路判断单元包括:

自环判断子单元,用于在所述第二信息包括所述第一信息中的设定内容、所述第一端口与所述第二端口不是同一个端口,且根据所述第二信息的内容可以判定所述第一信息没有经过其他网络通信设备时,则确认所述第一端口与所述第二端口相互连接。

在其中一个实施例中,第一环路判断单元包括:

一级环路环判断子单元,用于在所述第二信息包括所述第一信息中的设定内容、所述第一端口与所述第二端口不是同一个端口,且根据所述第二信息的内容可以判定所述第一信息经过了其他网络通信设备时,则确认分别与所述第一端口、所述第二端口连接的两个网络通信设备之间相互连接。

在其中一个实施例中,环路判断模块400包括:

第二环路判断单元,用于在所述第二信息包括所述第一信息中的设定内容,且所述第一端口与所述第二端口是同一个端口时,则确认与所述第一端口连接的网络拓扑结构中出现了环路。

在其中一个实施例中,所述设定内容包括标记信息,且所述标记信息用于表明第一信息是用来检测是否出现环路的数据。

在其中一个实施例中,环路自检自愈装置还包括:

告警信息发送模块,用于向处于所述网络拓扑结构中的其他所述网络通信设备发送能够指示出现环路现象的告警信息。

在其中一个实施例中,所述告警信息包括检测到所述环路的时间、与所述环路相关的端口序号、处于环路中的各所述网络通信设备的互联网协议地址及物理地址中的一种或两种以上。

在其中一个实施例中,环路自检自愈装置还包括:

蜂鸣器控制模块,用于控制蜂鸣器处于鸣响状态。

需要说明的是,本发明实施例提供的环路自检自愈装置与上一实施例提供的环路自检自愈方法对应,这里就不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1