一种检测网络出现环回的方法和设备的制作方法

文档序号:7683482阅读:213来源:国知局
专利名称:一种检测网络出现环回的方法和设备的制作方法
技术领域
本发明涉及通信领域,特别涉及一种检测网络出现环回的方法和设备。
技术背景随着网络规模的日益扩大,网络安全性和可靠性需求变得越来越重要,于是,网络冗余 设计(即提供相应的冗余链路)成为解决网络安全性和可靠性的一种重要手段,但是网络冗 余设计的冗余链路如果没有控制好,报文就会在设备里、或网络上反复转发形成环回,造成 报文风暴甚至导致网络瘫痪。针对这样的网络环回,目前最常用和有效的解决方案就是采用 STP(Sparming-Tree Protocol,生成树协议)。所谓STP是一种二层管理l办议,通过有选择性 地阻塞网络冗余链路来达到消除网络环回的目的。其中,由于STP性能较低,在对STP进行 了修改和补充后,产生了收敛速度较快的RSTP(Rapid Spanning-Tree Protocol,快速生成 树协议);由于实际的二层网络中,报文通常都在VLAN (Virtual Local Area Network,虚拟 局域网)内转发,又产生了适用于VLAN的MSTP(Multiple Spanning Tree Protocol,多生 成树协议)。无论是STP、 RSTP还是MSTP其本质都是相同的部署了协议的二层网络设备, 在启动了协议后,通过互相传递BPDU (Bridge Protocol Data Unit,桥协议数据单元)报 文,各个二层网络设备根据BPDU巾携带的信息进行比较和计算后,优先级最高的设备会被选 举为根交换机,其它非根交换机根据计算和比较,得出到根交换机的最优路径,那么非最优 的路径被认为是冗余链路,相应地,各非根交换机将冗余链路阻塞。发明人在实现本发明时,发现现有技术中提供的通过STP/RSTP/MSTP来检测网络出现环 回,解决网络环回的方法存在以下特点需要预先在二层网络中的相关各网络设备节点进行协议部署,并需要经过各网络设备节 点协商后,协议才能生效,并且部署时涉及多个网络设备节点,容易出现由于某个网络设备 节点遗漏相关部署配置或协商报文未能相互通讯,而造成协议未能真正生效,造成无法检测 到网络环回,进而导致网络环回无法抑制网络环回。发明内容为了能够及时检测到网络环回,减少网络环回检测时对其它设备节点的依赖,本发明实 施例提供了一种检测网络出现环回的方法和设备。所述技术方案如下 一种检测网络出现环回的方法,所述方法包括读取设备的MAC学习次数和学习到MAC总数,判断是否两次的读取到的MAC学习次数的 差值大于读取到的学习到MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设 备MAC学习的最大值,如果是,则判定检测到网络环回。一种检测网络出现环回的设备,所述设备包括读取模块,用于读取设备的MC学习次数和学习到MAC总数;判断模块,用于根据所述读取模块读取到的设备的MAC学习次数和学习到MAC总数,判 断是否两次的MAC学习次数差值大于学习到MAC总数的差值且所述两次中后 一次学习到的MAC 总数小于所述设备MAC学习的最大值;判定模块,用于当所述判断模块判断的结果为是,则判定检测到网络环回。本发明实施例提供的技术方案的有益效果是通过在网络设备上实现对网络环回的检测,最大限度的减少了在进行网络环回检测时对 网络中的其它设备的依赖,并能够最大限度的减少网络环回检测对网络正常业务流量的冲击 和影响。


图1是本发明实施例提供的一种网络组网示意图; 图2是本发明实施例提供的另 一种网络组网示意图; 图3是本发明实施例提供的H-VPLS网络的组网示意图; 图4是本发明实施例1提供的一种检测环回的方法流程图; 图5是木发明实施例2提供的一种检测环回的方法流程图; 图6是本发明实施例3提供的一种检测环回的设备示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进 一步地详细描述。当网络出现环回后,明显特点就是报文会在若干设备中来回转发,就处于环回中的一个 设备来看,同一个报文会从不同端口多次进入设备再转发出去。如图1所示,提供了一种组网示意图,其中,正常的报文路径为报文从设备l的端口 ll进入,经端口 12转发到设备2,经设备2的端口21接收后,经设备2的端口22转发出去。 如果设备2的端口 22被设置为环回(或端口 2的端口光纤设置为自环)就会导致网络出现环 回设备l通过端口 ll接收到报文后,经端口12转发到设备2;设备2通过自身的端口21 接收到该报文后,经自身的端口 22进行转发,由于端口 22被设置为环回,所以该报文将从 端口21被转发,设备1的端口 12接收到该报文。由此可见,当网络出现环回,同一个报文 通过设备1的端口 11和端口 12两次进入该设备1。对于设备1而言当报文从端口 11进入,转发给设备2时,进行MAC(Media Access Control,介质访问 控制层协议)学习,学习到的MAC表项为MAC1(该报文的源MAC地址)+P0RT11 (端口 11) +乂1^1%(假设报文来自VLANx);当由于设备2的环回,而导致该报文再次从设备1的端口 12进入时,设备1仍然会进行 MAC学习,学习到的MAC表项为MAC1+P0RT12 (端口 12)十VL线。结果,设备1进行了2次MAC学习,但由于学习到的MAC地址相同,设备l会认为是重 复表项而进行覆盖,最终只保留一条表项MAC 1+PORT 12+VLANX。如图2所示,提供了一种组网示意图,其中,正常的报文路径为报文从设备l的端口 11进入设备1,分别经端口 12进入到设备2中、经端口 13进入到设备3中,然后由设备2 和设备3分别将报文转发出去。当部署在设备中的STP功能未能生效,就会形成网络环回 所有从设备1发送到设备2和设备3的报文,会分别从设备2和设备3转发回到设备1中。 对于设备l而言当报文从端口ll进入,经端口 12、 13转发时,设备1进行MAC学习,学习到的區C表 项为MAC 1 +PORT 11+VLANx (假设报文来自VLANx);当报文从设备2被转发回来,通过设备1的端口 12进入时,设备1学习到的MAC表项为 MAC 1 +PORT 12+VLANx;同理,当报文从设备3被转发回来,通过设备1的端口 13进入时,设备1学习到的MAC 表项为MAC 1+PORT 13+VLANX;结果,设备1进行了3次MAC学习,但由于学习到的MAC地址相同,设备l会认为是重 复表项而进行覆盖,最终只保留一条表项MACl+P0RT13+VLANx。如图3所示,提供了标准H-VPLS (Hierarchical Virtual Private LAN service,虚拟 私有网服务)网络的组网示意图,其中设备l、设备2、设备3、设备4和设备5属于网络侧 设备。其中,正常的报文路径为报文从设备l进入,选择主隧道后,经设备2转发到设备3,然后通过设备3提供给用户侧的各设备。如果设备3的水平分割功能处于异常,就会形成 网络环回,设备3将收到的来自设备2的报文转发到设备5中,设备5会将收到的报文转发 到设备1。针对设备1而言当报文从设备1的端口 11进入,转发给设备2时,学习到的MAC表项为MAC1 + PORTll+VLANx(假设报文来自用户侧设备,对于设备1而言学习到的是用户的VLAN信息);当报文从设备5转发回来,通过设备1的端口 12进入时,学习到的MAC表项为MAC1 + TORT12+VSIX (Virtual Switch Instance,虚拟交换实例,对设备1而言,该报文来自网 络侦lj,所以学习到的是VSI信息)结果,设备1进行了 2次MAC学习,但由于学习到的MAC地址相同,设备l会认为是重 复表项而进行覆盖,最终只保留一条表项MAC1 + P0RT12+VSIX。综上所述, 一旦网络出现环回,则单点设备必然回出现MAC学习次数大于最终学习到的 MAC总数的结果,而且在环回上报文流量较大的情况下,该结果会更加的明显。本发明实施例提供的技术方案,通过读取设备的MAC学习次数和学习到MAC总数,判断 是否两次读取到的MAC学习次数差值大于读取到的学习到MAC总数的差值且两次中后一次学 习到的MAC总数小于设备MAC学习的最大值,如果是,则判定检测到网络环回。通过本发明实施例提供的技术方案,减少了在进行网络环回检测时对网络中的其它设备 的依赖,并能够及时有效地发现网络环回,并在发现网络环回后,通过进行相应的处理及时解 除网络环回,减少了网络环回的造成的影响。下面针对设备允许进行的环回检测的不同类型(如针对端口、针对业务等)分别进行说 明,其中,实施例1以设备针对端口进行环回检测为例进行说明;实施例2以设备针对业务 (端口 +VLAN)进行环回检测为例进行说明。实施例1参见图4,本发明实施例提供了一种检测环回的方法,方法内容如下 101:设备初始于环回检测状态,读取设备的MAC学习次数和学习到MAC总数。 其中,在进行设备的MAC学习次数和学习到的MAC总数的读取时,可以X用定时读取的 方式,即设定读取的周期,也可以根据具体的需要进行随时的读取。本实施例以定时读取的 方式为例进行说明。例如TN-1时刻读取到设备1的MAC学习次数为Nl,此时设备1学习到 的MAC总数为Ml; TN时刻读取到设备1的MAC学习次数为N2,此时设备1学习到的MAC总数 为M2。102:根据定时读取的设备的MAC学习次数和学习到MAC总数,检测出网络环回。具体包括根据定时读取到的设备的MAC学习次数和学习到MAC总数,如果满足如下的检测公式 — M) > (M2 — Ml)} &&(似2 < Ma嫩),则认为网络出现环回。艮P,判断第N次读取到的MAC学习次数和第N-1次读取到的MAC学习次数的差值是否大 于第N次学到的MAC总数和第N-1次学到的MAC总数,且第N次学习到的MAC总数小于该设 备MAC学习表中允许保留的MAC总数的最大值;如果是,则可以认为检测到网络环回。本实 施例提供的方案适用于网络中存在数据流量的情况,如果网络中没有数据流量,就失去了进 行网络环回的检测的意义了。当网络出现环回后,应用本实施例提供的检测公式进行检测时, 如果定时读取到的设备的MAC学习次数相等,检测的结果为网络没有出现环回,而由于MAC 学习次数相等表示设备没有接收到新的数据报文,也就意味着该网络中没有了数据流量,虽 然网络出现环回,但是由于网络中没有数据流量,所以就算出现网络环回也不会对网络造成 影响,所以也就失去了进行网络环回检测的意义。针对该检测公式,还可以设置一个差值门限,即当判断到MAC学习次数的差值和学习到 的总数大于该差值门限值,且第N次学习到的MAC总数小于该设备MAC学习表中允许保留的 MAC总数的最大值;如果是,则认为检测到网络环回。通过设置差值门限,减少偶然因素对 检测结果的影响,确保检测结果的正确性。进一步地,根据设备的具体需要,为了减少偶然因素对检测的影响,确保检测结果的正 确,该步骤还可以设置为如果连续N次定时读取到的设备的MAC学习次数和学习到MAC总 数都满足检测公式,才认为网络出现环回。例如,当第一次检测到满足检测公式,是由于设 备中的某些偶然因素造成,但是该偶然因素会迅速消失,例如,设备的某一端口被无意间设 为自环又迅速被发现后取消自环,充分考虑到网络环境中存在的偶然因素对检测结果的影响, 从而通过设定连续两次满足检测公式时,才真正认为网络出现环回。103:当检测到网络环回后,根据环回检测命令,查找并关闭导致网络环回的设备的端口。 具体内容如下查找导致出现网络环回的设备端口时,本实施例以设备具有6个端口为例进行说明,包 括用来和网络侧进行通信的网络侧端口 A、用来和用户侧进行通信的用户侧端口 B、用户侧端 口 C、用户侧端口 D,网络侧端口 E以及用户侧端口 F。此时端口 A、端口 B、端口 C、端口 D 都处于有效状态(未关闭状态),而端口E、端口F处于关闭状态,假定端口C为导致出现的 网络环回的端口。于是相应地,査找导致出现网络环回的端口C的过程如下103A,关闭设备上的各端口。该步骤中,通常对于一个设备而言,网络侧接口相比与用户侧端口对于一个设备而言, 其作用要重要许多,且网络侧端口导致出现网络环回的概论非常小,所以在进行查找时为了 最大限度的减少环回检测对该设备正常业务报文流量的冲击和影响,可以不关闭网络侧接口, 而关闭除网络侧端口外的其余端口 。例如对该设备的端口进行不同优先级的设置根据优先 级的不同,有选择地关闭设备上的端口为端口 A设置具有较高的优先级,关闭除端口A外 的端口 B、和端口 C、端口 D。相应地,下文以在该步骤中关闭的端口是端口 B、端口 C、端 口 D为例进行说明。103B,依次开启在103A中被关闭的端口,并在每开启一个端口的同时,利用检测公式, 进行判断是否存在网络环回,直到发现导致出现网络环回的端口为止。具体内容如下例如,由于在步骤103A中关闭了端口 B、端口 C、端口 D,在本歩骤中,此时需要对被 关闭的端U进行依次开启,如,先开启端口 B,当开启端口 B的同时,利用检测公式 {(W2-M)>(M2-yV/I)}&&(M2<A./,,4;r),判断是否网络出现环回,如果是,就关闭该端口, 执行下一个端口的检测,如果不是,则保持该端口的开启状态,执行下一个端口的检测。由 于本实施例中假定了端口 B不是导致出现网络环回的端口,所以相应地保持该端口 B的开启 状态,然后执行端口C的检测;同理,开启端口 C,同时利用检测公式((W2-Wi;o(M2-Ml》&&(M2<il4MA.),判断 是否网络出现环回,如果是,就关闭该端口,执行下一个端口的检测,如果不是,则保持该 端口的开启状态,执行下一个端口的检测。由于本实施例中假定了端口 C是导致出现网络环 回的端口,所以相应地关闭该端口C,然后执行端口D的检测;同理,开启端口 D,同时利用检测公式"iV2 —M)>(M2-MlM&^MS^W/^),判断 是否网络出现环回,如果是,就关闭该端口,执行下一个端口的检测,如果不是,则保持该 端口的丌启状态,执行下一个端口的检测。由于本实施例中假定了端口 D不是导致出现网络 环回的端口,所以相应地保持该端口 D的开启状态。此时,完成了对设备的所有在步骤103A 中被关闭的端口的检测。通过上述方法,当对设备的所有有效端口测试完毕后,査找出并关闭了设备中导致出现 网络环回的端口,可以根据检测结果进行后续的操作。。进一步地,当查找到并关闭了设备中导致网络环回的端口后,由于定时检测功能的存在, 如果当该设备在一定的时间内检测不到出现网络环回,可以定期地开启己知的被关闭的环回 端口,如果丌启了被关闭的某个环回端口,检测不到设备出现网络环回,则保持该环回端口的开启状态;当开启了该被关闭的环回端口后,如果还是能够检测环回存在,则再次关闭 该环回端口,等待下一次定期开启的时刻的到来。例如对于设备A,其查找到并关闭的导致网络环回的端口为X和端口 Y,当该设备A—定的时 间内检测不到出现网络环回,可以先开启端口X,如果开启了端口A,检测不到设备出现网络 环回,则可以开启该端口 A,说明此时端口 A已经不会导致出现网络环回了;如果还是能够检 测环回存在,则再次关闭端口 A,说明此时端口 A依旧导致出现网络环回,等待下一次定期 开启时刻的到来。然后,开启端口 Y,同理进行判断,然后执行相应的处理,方法类似,不 再赘述。综上所述,通过检测公式,实现了对网络是否出现网络环回的检测,以及根据检测结果, 查找并关闭导致出现网络环回的端口,由于检测是在设备自身完成的,最大限度的减少了进 行网络环回对网络中其他设备的依赖。特别地,针对本实施例,上述本实施例在查找导致出现网络环回的端口时,采用的是关 闭端口的査找方式来实现的,此时还可以仅仅通过关闭端口的MAC学习来实现,通过关闭所 有有效端口的MAC学习,然后依次开启,在每开启一个有效端口的MAC学习同时,利用检测 公式"7V2-iVl)x;M2-似1》&&(^2<^^),从而査找出导致出现网络环回的端口,在最 大限度上减少了执行网络环回检测对设备的影响。本发明实施例提供的方法,通过在网络设备上利用检测公式,实现针对端口级的网络环 回的检测,仅需要单点设备进行相关的配置,即可完成网络环回检测,减少了对网络其它设 备节点的依赖,还能够解决由于网络设备节点自身的设置而导致出现的网络环回问题,如网 络设备的端口光纤被设置为自环导致出现网络环回;同时,还可以作为对STP等其它检测协 议的补充,确保各种场合都能及时发现和解决网络问题,并能够最大限度的减少网络环回检 测对网络正常业务流量的冲击和影响。实施例2上述实施例1以提供针对端口导致的网络环回检测为例进行了说明,参见图5,本实施 例以提供针对业务(端口+VLAN)导致的网络环回检测进行说明,方法类似,内容如下 201:设备初始于环回检测状态,定时读取设备的MAC学习次数和学习到MAC总数。 202:根据定时读取的设备的MAC学习次数和学习到MAC总数,检测出网络环回。 203:当检测到网络环回后,根据环回检测命令,查找并关闭导致网络环回的设备的业务。具体内容如下对于设备而言,通常其一个端口会对应多个VLAN,因此,对应与一个端口也会有多个业 务。例如,设备1中的端口 X对应与3个VLAN,因此,端口 X+VLAN1、端口 X+VLAN2、端口 X+VLAN3构成3种不同的业务如分别为IP业务,上网业务、视频业务,同理,设备l的端口 Y也拥有多个VLAN,对应多个业务。203A:当检测到网络环回后,根据环回检测命令,网络环回通过实施例1提供的方法查 找到设备导致网络环回的端口;如端口X、端口Y。其中,本实施例以设备1的端口 X的上网业务(端口 X+VLAN2)和视频业务(端口 X+VLAN3)、 以及端口 Y的某一业务导致出现网络环回为例进行说明。203B:关闭设备所有存在环回的端口。即关闭端口 X和端口 Y。203C:依次开启在203B中被关闭的有效端口,并在每开启一个有效端口的同时,关闭该 端口对应的所有VLAN,然后依次开启该端口被关闭的VLAN,利用检测公式,进行判断是否存在 网络环回,直到发现导致出现网络环回的业务VLAN为止。具体内容如下由于在步骤203A中关闭了端口 X、端口 Y,在本步骤中,此时需要对被关闭的端口进行依 次开启。例如,先开启端口X,当开启端口X的同时,关闭该端口 X对应的所有VLAN (即VLAN1、 VLAN2 、 VLAN3 ),然后依次开启该端口 X被关闭的VLAN,利用检测公式 {(iV2-iVl)>(M2-Ml)}&&(M2<A/M/tf),判断是否网络出现环回,如果是,就关闭该端口 的VLAN,执行该端口的下一个VLAN的检测,如果不是,则保持该端口的VLAN开启状态,执 行下一个VLAN的检测当对端口 X检测完毕后,采用同样的方法,执行下一个端口 Y的检测。 轮循检测完所有的端口后,关闭了导致出现网络环回的业务。具体示例如下本实施例中先开启端口 X的VLAN1为例,利用检测公式进行判断,发现该VLAN1不是导致 出现网络环回的端口,所以相应地保持该VLAN1开启状态,然后执行VLAN2的检测;同理,开启VLAN2,同时利用检测公式"7V2-iVl)>(M2-Ml)}&&(M2<MMM),判断 是否网络出现环回,由于本实施例中假定了 VLAN2是导致出现网络环回的业务,所以相应地 关闭该VLAN2,然后执行VLAN3的检测;同理,开启VLAN3,同时利用检测公式"W2-Aa)>(M2-7^1》&&(肘2<^14^),判断是 否网络出现环回,发现该VLAN3不是导致出现网络环回的端口,所以相应地保持该VLAN3开 启状态。此时,对该端口 X的所有的VLAN检测完毕,查找除了该端口下导致出现网络环回的 业务。然后,开启端口 Y,采用同样的方法,执行对端口 Y的VLAN的检测,同理,可以査找到该端口 Y下导致出现网络环回的VLAN,方法类似,不再赘述。综上所述,通过检测公式,当设备中所有存在环回的业务都轮循处理完毕后,设备中导 致网络环回的业务被关闭,可以根据检测结果进行后续的操作。进一步地,当查找并关闭了设备中导致出现网络环回的业务后,由于定时检测功能的存 在,如果当该设备在一定的时间内检测不到设备出现网络环回,可以定期地开启已知的被关 闭的环回业务,如果开启了被关闭的某一个环回业务,检测不到设备出现网络环回,则可以 保持该环回业务的开启状态;如果还是能够检测环回存在,则再次关闭该环回业务,等待下 一定期开启检测时刻的到来。例如假定对于设备A,其查找到并关闭的导致网络环回的业务为(端口 X+VLAN2)和(端口 Y+VLAN6),当该设备A —定的时间内检测不到出现网络环回,可以先开启端口 X的VLAN2, 如果开启了该VLAN2,检测不到设备出现网络环回,则可以保持该VLAN2的开启状态,说明此 时端口 X的VLAN2不会导致出现网络环回;如果能够检测环回存在,则关闭该VLAN2,,说明 此时VLAN2依旧导致出现网络环回,等待下一个定期开启检测时刻的到来。然后,开启端口Y 的VLAN6,采用同样的方法进行判断检测,执行相应的处理,方法类似,不再赘述。特别地,同样针对本实施例,上述本实施例在查找导致出现网络环回的端口时,采用的 是关闭端口的查找方式来实现的,此时还可以仅仅通过关闭端口的MAC学习来实现,通过关 闭所有有效端口的MAC学习,然后依次开启,在每开启一个有效端口的MAC学习同时,利用 检测公式{(#2 - M) > (M2 - Ml)} & &(M2 < 7kf^P ,从而査找出导致出现网络环回的端口 , 在最大限度上减少了执行网络环回检测对设备的影响。本发明实施例提供的方法,通过在网络设备上利用检测公式,实现了针对业务级的网络 环回的检测,减少了对网络其它设备节点的依赖,还能够解决由于网络设备节点自身的设置 而导致出现的网络环回问题,如网络设备的端口光纤被设置为自环导致出现网络环回;同时, 还可以作为对STP等其它检测协议的补充,确保各种场合都能及时发现和解决网络问题;并 能够最大限度的减少网络环回检测对网络正常业务流量的冲击和影响。实施例3参见图6,本发明实施例提供了一种检测网络出现环回的设备,其中,设备包括 读取模块,用于读取设备的MAC学习次数和学习到MAC总数;判断模块,用于根据读取模块读取到的设备的MAC学习次数和学习到MAC总数,判断是 否两次的MAC学习次数差值大于学习到MAC总数的差值且两次中后一次学习到的MAC总数小 于设备MAC学习的最大值;判定模块,用于当判断模块判断的结果为是,则判定检测到网络环回。 当检测到网络环回后,本发明实施例提供的设备还能够查找并关闭存在网络环回的端口 或业务,相应地;1) 当需要査找并关闭网络环回的端口时,设备还包括第一处理模块,用于当判定模块判定检测到网络环回时,关闭设备的所有端口,依次开 启被关闭的端口;开启一个当前被关闭的端口时,判断是否两次读取到的MAC学习次数的差 值大于学习到的MAC总数的差值且两次中后一次学习到的MAC总数小于设备MAC学习的最大 值,如果是,则判定当前端口存在网络环回,关闭被开启的当前端口;否则,开启被关闭的 端口中的下一个端口进行判断。当需要査找并关闭网络环回的端口时,设备还包括第二处理模块,用于当判定模块判定检测到网络环回时,关闭设备的所有端口的MAC学 习,依次开启被关闭的端口的MAC学习;开启一个当前被关闭的端口的MAC学习时,判断是 否两次读取到的MAC学习次数的差值大于学习到的MAC总数的差值且两次中后一次学习到的 MAC总数小于设备MAC学习的最大值,如果是,则判定当前端口存在网络环回,关闭被开启 MAC学习的当前端口;否则,开启被关闭的端口中的下一个端口的MAC学习进行判断。设备还包括恢复模块,用于当处理模块关闭了设备存在网络环回的端口后,在预设的时间内检测不 到网络环回则定时开启被关闭的存在网络环回的端口,判断是否能检测到网络环回,如果是, 则关闭被开启的存在网络环回的端口。2) 当需要査找并关闭网络环回的业务时,设备还包括第三处理模块,用于当判定模块判定检测到网络环回时,关闭设备的所有端口,依次开启被关闭的端口;开启一个当前被关闭的端口时,判断是否两次读取到的MAC学习次数的差 值大于学习到的MAC总数的差值且两次中后一次学习到的MAC总数小于设备MAC学习的最大 值,如果是,则判定当前端口存在网络环回,关闭被开启的当前端口;否则,开启被关闭的 端口中的下一个端口进行判断。关闭了设备的所有存在网络环回的端口后,依次开启被关闭 的存在网络环回的端口;开启一个当前被关闭存在网络环回的端口时,关闭端口的所有业务, 依次开启当前被关闭存在网络环回的端口被关闭的业务;开启一个当前被关闭的业务时,判 断是否两次读取到的MAC学习次数的差值大于学习到的MAC总数的差值且两次中后一次学习 到的MAC总数小于设备MAC学习的最大值,如果是,则判定当前业务存在网络环回,关闭被 开启的当前业务;否则,开启被关闭的所有业务中的下一个业务进行判断。设备还包括第四处理模块,用于当判定模块判定检测到网络环回时,关闭设备的所有端口的MAC学 习,依次开启被关闭的端口的MAC学习;开启一个当前被关闭的端口的MAC学习时,判断是否两次读取到的MAC学习次数的差值 大于学习到的MAC总数的差值且两次中后一次学习到的MAC总数小于设备MAC学习的最大值, 如果是,则判定当前端口存在网络环回,关闭被开启的当前端口;否则,开启被关闭的端口 中的下一个端口进行判断;关闭了设备的所有存在网络环回的端口后,依次开启被关闭的存 在网络环回的端口;开启一个当前被关闭存在网络环回的端口时,关闭端口的所有业务,依 次开启当前被关闭存在网络环回的端口被关闭的业务;开启一个当前被关闭的业务时,判断 是否两次读取到的MAC学习次数的差值大于学习到的MAC总数的差值且两次中后一次学习到 的MAC总数小于设备MAC学习的最大值,如果是,则判定当前业务存在网络环回,关闭被开 启的当前业务;否则,开启被关闭的所有业务中的下一个业务进行判断。设备还包括恢复模块,用于当业务处理模块关闭了设备存在网络环回的业务后,在预设的时间内检 测不到网络环回则定时开启被关闭的存在网络环回的业务,判断是否能检测到网络环回,如 果是则关闭被开启的存在网络环回的业务。本发明实施例提供的设备能够实现对网络环回的检测,仅需要单点设备进行相关的配置, 即可完成网络环回检测,减少了对网络其它设备节点的依赖,还能够解决由于网络设备节点 自身的设置而导致出现的网络环回问题,如网络设备的端口光纤被设置为自环导致出现网络环回;同时,还可以作为对STP等其它检测协议的补充,确保各种场合都能及时发现和解决 网络问题,能够最大限度的减少网络环回检测对网络正常业务流量的冲击和影响。利用本发明实施例提供的技术方案,仅需要单点设备进行相关的配置,即可完成网络环 回检测,减少了对网络其它设备节点的依赖,还能够解决由于网络设备节点自身的设置而导 致出现的网络环回问题,如网络设备的端口光纤被设置为自环导致出现网络环回;同时,还 可以作为对STP等其它检测协议的补充,确保各种场合都能及时发现和解决网络问题。本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的 存储介质中,如光盘或硬盘等。以上所述仅为本发明的具体实施例,并不用以限制本发明,对于本技术领域的普通技术 人员来说,凡在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包 含在本发明的保护范围之内。
权利要求
1.一种检测网络出现环回的方法,其特征在于,所述方法包括读取设备的MAC学习次数和学习到MAC总数,判断是否两次的读取到的MAC学习次数的差值大于读取到的学习到MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值,如果是,则判定检测到网络环回。
2. 如权利要求1所述的检测网络出现环回的方法,其特征在于,所述方法还包括 当检测到网络环回时,査找并关闭所述设备存在网络环回的端口 ;或;当检测到网络环回时,查找并关闭所述设备存在网络环回的业务。
3. 如权利要求2所述的检测网络出现环回的方法,其特征在于,所述查找并关闭所述设 备存在网络环回的端口,包括关闭所述设备的所有端口 ,依次开启被关闭的端口 ;开启一个当前被关闭的端口时,判断是否两次读取到的MAC学习次数的差值大于学习到 的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值, 如果是,则判定所述当前端口存在网络环回,关闭被开启的所述当前端口;否则,开启被关 闭的端口中的下一个端口进行判断。
4. 如权利要求2所述的检测网络出现环回的方法,其特征在于,所述杳找并关闭所述设 备存在网络环回的端口,包括关闭所述设备的所有端口的MAC学习,依次开启被关闭的端口的MAC学习; 开启一个当前被关闭的端口的MAC学习时,判断是否两次读取到的MAC学习次数的差值 大于学习到的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习 的最大值,如果是,则判定所述当前端口存在网络环回,关闭被开启MAC学习的所述当前端 口;否则,开启被关闭的端口中的下一个端口的MAC学习进行判断。
5. 如权利要求3或4所述的检测网络出现环回的方法,其特征在于,所述方法还包括-关闭了所述设备存在网络环回的端口后,在预设的时间内检测不到网络环回则定期开启被关闭的存在网络环回的端口,判断是否能检测到网络环回,如果是,关闭被开启的存在网 络环回的端口。
6. 如权利要求2所述的检测网络出现环回的方法,其特征在于,所述查找并关闭所述设 备存在网络环回的业务,包括关闭所述设备的所有端口 ,依次开启所述被关闭的端口 ;丌启一个当前被关闭的端口时,判断是否两次读取到的MAC学习次数的差值大于学习到 的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值, 如果是,则判定所述当前端口存在网络环回,关闭被开启的所述当前端口;否则,开启被关 闭的端口中的下一个端口进行判断。关闭了所述设备的所有存在网络环回的端口后,依次开启所述被关闭的存在网络环回的 端口;开启一个3前被关闭存在网络环回的端口时,关闭所述端口的所有业务,依次开启所述 当前被关闭存在网络环回的端口被关闭的业务;开启一个当前被关闭的业务时,判断是否两次读取到的MAC学习次数的差值大T学习到 的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值, 如果是,则判定所述当前业务存在网络环回,关闭被开启的所述当前业务;否则,开启被关 闭的所有业务中的下一个业务进行判断。
7. 如权利要求2所述的检测网络出现环回的方法,其特征在于,所述査找并关闭所述设 备存在网络环回的业务,包括关闭所述设备的所有端口的MAC学习,依次开启所述被关闭的端口的MAC学习; 开启一个当前被关闭的端口的MAC学习时,判断是否两次读取到的MAC学习次数的差值大于学习到的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值,如果是,则判定所述当前端口存在网络环回,关闭被开启的所述当前端口;否则,开启被关闭的端口中的下一个端口进行判断;关闭了所述设备的所有存在网络环回的端口后,依次开启所述被关闭的存在网络环回的端口;开启一个当前被关闭存在网络环回的端口时,关闭所述端口的所有业务,依次开启所述 当前被关闭存在网络环回的端口被关闭的业务;开启一个当前被关闭的业务时,判断是否两次读取到的MAC学习次数的差值大于学习到 的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值, 如果是,则判定所述当前业务存在网络环回,关闭被开启的所述当前业务;否则,开启被关 闭的所有业务中的下一个业务进行判断。
8. 如权利要求6或7所述的检测网络出现环冋的方法,其特征在于,所述方法还包括关闭了所述设备存在网络环回的业务后,在预设的时间内检测不到网络环回则定期开启3被关闭的存在网络环回的业务,判断是否能检测到网络环回,如果是,关闭被开启的存在网 络环回的业务。
9. 一种检测网络出现环回的设备,其特征在于,所述设备包括 读取模块,用于读取设备的MAC学习次数和学习到MAC总数;判断模块,用于根据所述读取模块读取到的设备的MAC学习次数和学习到MAC总数,判 断是否两次的MAC学习次数差值大于学习到MAC总数的差值且所述两次中后一次学习到的MAC 总数小于所述设备MAC学习的最大值;判定模块,用于当所述判断模块判断的结果为是,则判定检测到网络环回。
10. 如权利要求9所述的检测网络出现环回的设备,其特征在于,所述设备还包括-第一处理模块,用于当所述判定模块判定检测到网络环回时,关闭所述设备的所有端口,依次开启被关闭的端口;开启一个当前被关闭的端口时,判断是否两次读取到的MAC学习次 数的差值大于学习到的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备 MAC学习的最大值,如果是,则判定所述当前端口存在网络环回,关闭被开启的所述当前端 口;否则,开启被关闭的端口中的下一个端口进行判断。
11. 如权利要求9所述的检测网络出现环回的设备,其特征在于,所述设备还包括-第二处理模块,用于当所述判定模块判定检测到网络环回时,关闭所述设备的所有端口的MAC学习,依次开启被关闭的端口的MAC学习;开启一个当前被关闭的端口的MAC学习时, 判断是否两次读取到的MAC学习次数的差值大于学习到的MAC总数的差值且所述两次中后一 次学习到的MAC总数小于所述设备MAC学习的最大值,如果是,则判定所述当前端口存在网 络环回,关闭被开启MAC学习的所述当前端口;否则,开启被关闭的端口中的下一个端口的 MAC学习进行判断。
12. 如权利要求10或11所述的检测网络出现环回的设备,其特征在于,所述设备还包括恢复模块,用于当所述处理模块关闭了所述设备存在网络环回的端口后,在预设的时间 内检测不到网络环回则定时开启被关闭的存在网络环回的端口,判断是否能检测到网络环回, 如果是,则关闭被开启的存在网络环回的端口。
13. 如权利要求9所述的检测网络出现环回的设备,其特征在于,所述设备还包括 第三处理模块,用于当所述判定模块判定检测到网络环回时,关闭所述设备的所有端口,依次开启所述被关闭的端口;开启一个当前被关闭的端口时,判断是否两次读取到的MAC学 习次数的差值大于学习到的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值,如果是,则判定所述当前端口存在网络环回,关闭被开启的所述当 前端口;否则,开启被关闭的端口中的下一个端口进行判断。关闭了所述设备的所有存在网 络环回的端口后,依次开启所述被关闭的存在网络环回的端口;开启一个当前被关闭存在网 络环回的端口时,关闭所述端口的所有业务,依次开启所述当前被关闭存在网络环回的端口 被关闭的业务;开启一个当前被关闭的业务时,判断是否两次读取到的MAC学习次数的差值 大于学习到的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习 的最大值,如果是,则判定所述当前业务存在网络环回,关闭被开启的所述当前业务;否则, 开启被关闭的所有业务中的下一个业务进行判断。
14. 如权利要求9所述的检测网络出现环回的设备,其特征在于,所述设备还包括第四处理模块,用于当所述判定模块判定检测到网络环回时,关闭所述设备的所有端口的MAC学习,依次开启所述被关闭的端口的MAC学习;开启一个当前被关闭的端口的MAC学习时,判断是否两次读取到的MAC学习次数的差值 大于学习到的MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习 的最大值,如果是,则判定所述当前端口存在网络环回,关闭被开启的所述当前端口;否则, 开启被关闭的端口中的下一个端口进行判断;关闭了所述设备的所有存在网络环回的端口后, 依次开启所述被关闭的存在网络环回的端口;开启一个当前被关闭存在网络环回的端口时, 关闭所述端口的所有业务,依次开启所述当前被关闭存在网络环回的端口被关闭的业务;开 启一个当前被关闭的业务时,判断是否两次读取到的MAC学习次数的差值大于学习到的MAC 总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值,如果是, 则判定所述当前业务存在网络环回,关闭被开启的所述当前业务;否则,开启被关闭的所有 业务中的下一个业务进行判断。
15. 如权利要求13或14所述的检测网络出现环回的设备,其特征在于,所述设备还包括恢复模块,用于当所述业务处理模块关闭了所述设备存在网络环回的业务后,在预设的 时间内检测不到网络环回则定时开启被关闭的存在网络环回的业务,判断是否能检测到网络 环回,如果是则关闭被开启的存在网络环回的业务。
全文摘要
本发明公开了一种检测网络出现环回的方法和设备,属于通信领域。所述方法包括读取设备的MAC学习次数和学习到MAC总数,判断是否两次的读取到的MAC学习次数的差值大于读取到的学习到MAC总数的差值且所述两次中后一次学习到的MAC总数小于所述设备MAC学习的最大值,如果是,则判定检测到网络环回。所述设备包括读取模块、判断模块和判定模块。本发明通过在网络设备上定时读取设备的MAC学习次数和学习到MAC总数实现对网络环回的检测,最大限度的减少了在进行网络环回检测时对网络中的其它设备的依赖,并能够最大限度的减少网络环回检测对网络正常业务流量的冲击和影响。
文档编号H04L12/56GK101222435SQ20081000715
公开日2008年7月16日 申请日期2008年2月2日 优先权日2008年2月2日
发明者李彬轩 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1