环路检测方法和装置制造方法及图纸

技术编号:22420094 阅读:35 留言:0更新日期:2019-10-30 02:32
本申请提供了环路检测方法和装置。本申请中,网络设备在检测到端口的端口信息发生变化,且该变化满足设定的环路检测条件时通过该端口信息发生变化的端口发送用于环路检测的Flush报文检测网络中是否存在环路,相比现有环路检测机制中只有在检测周期内发送环路检测报文检测环路,本申请能及时检测出网络中存在的环路。

【技术实现步骤摘要】
环路检测方法和装置
本申请涉及网络通信技术,特别涉及环路检测方法和装置。
技术介绍
环路检测,其目的是为了及时发现二层网络中是否存在环路,以便在网络中存在环路时及时通知用户检查网络、以消除环路。目前常用的一种环路检测机制是:周期性地通过设备的端口(简称发送端口)发送环路检测报文,检查收到环路检测报文的端口(简称接收端口)与发送端口是否一致,当环路检测报文的接收端口与发送端口一致时确定网络中存在环路。但是,通过周期性发送环路检测报文来检测环路,会导致环路不能及时发现,比如,至少等一个周期才能发现网络中存在环路,这会导致网络不能及时恢复。在现有的环路检测机制中,网络设备是周期性地发送环路检测报文,这会导致网络中的环路不能被及时发现。以检测周期为10分钟(mins)为例,网络设备每隔10分钟发送一次环路检测报文来检测网络中是否存在环路,假若网络在检测周期刚结束的1分钟出现环路,则因为检测周期为10分钟,网络设备会继续等待9分钟才会通过发送环路检测报文检测出网络中存在环路。即:网络设备检测到网络中存在环路的时间(记为T1)比网络中存在环路的时间(记为T2)整整晚了9分钟,而在这9分钟内,网络中始终存在环路,这会影响网络中数据流的转发。
技术实现思路
本申请目的在于提供一种环路检测方法和装置,用于及时检测出网络中存在的环路。为实现上述目的,本申请提供了一种环路检测方法,该方法应用于网络设备,其中包括:在网络不存在环路的前提下,检测本地各端口的端口信息是否发生变化;当检测到本地第一端口的端口信息发生变化,且变化满足设定的环路检测条件,则通过第一端口发送用于环路检测的第一检测报文;检查预设的检测时间内是否接收到本设备通过第一端口发送的第一检测报文,如果否,确定网络中不存在环路,如果是,确定网络中存在环路,阻塞或关闭第一端口。为实现上述目的,本申请还提供的一种环路检测装置,应用于网络设备,其中该装置包括:检测单元,用于在网络不存在环路的前提下,检测本地各端口的端口信息是否发生变化;处理单元,用于在检测单元检测到本地第一端口的端口信息发生变化,且变化满足设定的环路检测条件时,通过第一端口发送用于环路检测的第一检测报文;检查单元,用于检查预设的检测时间内是否接收到本设备通过第一端口发送的第一检测报文,如果否,确定网络中不存在环路,如果是,确定网络中存在环路,阻塞或关闭第一端口。以上技术方案能够使网络设备在检测到端口的端口信息发生变化,且该变化满足设定的环路检测条件时通过该端口信息发生变化的端口发送用于环路检测的Flush报文检测网络中是否存在环路,相比现有环路检测机制中只有在检测周期内发送环路检测报文检测环路,本申请能及时检测出网络中存在的环路。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1为本申请提供的方法流程图;图2为本申请实施例提供的组网示意图;图3为本申请实施例提供的另一组网示意图;图4为本申请实施例提供的Flush报文中以太网头的封装格式示意图;图5为本申请实施例提供的Flush报文中内部头的封装格式示意图;图6为本申请提供的装置结构示意图。具体实施方式为了及时发现网络中的环路,本申请提供了如图1所示的环路检测方法。参见图1,图1为本申请提供的方法流程图。该方法应用于网络设备。作为一个实施例,这里的网络设备可为二层设备,比如二层交换机等。如图1所示,该流程可包括以下步骤:步骤101,在网络不存在环路的前提下,检测本地各端口的端口信息是否发生变化。步骤102,当检测到本地第一端口的端口信息发生变化,且该变化满足设定的环路检测条件,则通过第一端口发送用于环路检测的第一检测报文(记为Flush报文)。这里的第一端口泛指网络设备本地任一端口,只是为便于描述而进行的命名,并非用于限定。需要说明的是,在一个实施例中,当网络中存在环路,则既使检测到第一端口的端口信息发生变化,且变化满足设定的环路检测条件,也不会执行如步骤102描述的通过第一端口发送用于环路检测的第一检测报文。通过步骤102可以看出,本申请中,一旦第一端口的端口信息发生变化,且该变化满足设定的环路检测条件,则通过第一端口发送Flush报文。基于现有环路检测机制,则意味着本申请中,网络设备除了按照环路检测机制中在检测周期内发送环路检测报文检测环路之外,还进一步在端口的端口信息发生变化,且该变化满足设定的环路检测条件时通过该端口信息发生变化的端口发送Flush报文检测网络中是否存在环路。在本实施例中,这里的Flush报文并非环路检测机制中使用的环路检测报文,而是为实现本申请新扩展出的一种报文。步骤103,检查预设的检测时间内是否接收到本设备通过第一端口发送的Flush报文,如果否,确定网络中不存在环路,如果是,确定网络中存在环路,阻塞或关闭第一端口。这里,预设的检测时间可根据实际情况设置。在一个实施例中,上述步骤102中发送的Flush报文的源MAC地址为网络设备的桥MAC地址,且,Flush报文携带第一端口的端口标识(PortID)。基于此,作为一个实施例,上述步骤103中,检查预设的检测时间内是否接收到本设备通过第一端口发送的Flush报文可包括:检测预设的检测时间内收到的Flush报文的源MAC地址是否为本设备的桥MAC地址,且Flush报文携带的PortID为第一端口的PortID;如果是,确定预设的检测时间内接收到本设备通过第一端口发送的Flush报文;如果否,确定预设的检测时间内未接收到本设备通过第一端口发送的Flush报文。至此,完成图1所示的流程。通过图1所示的流程可以看出,在本申请中,网络设备在检测到端口的端口信息发生变化,且该变化满足设定的环路检测条件时通过该端口信息发生变化的端口发送用于环路检测的Flush报文检测网络中是否存在环路,相比现有环路检测机制中只有在检测周期内发送环路检测报文检测环路,本申请能及时检测出网络中存在的环路。作为一个实施例,上述步骤102中,变化满足设定的环路检测条件可包括以下至少一个条件:条件1,第一端口的端口状态更新为UP。比如,第一端口之前被阻塞(Block)或关闭(Down),则当第一端口从Block或Down变为UP(启用)时,第一端口的端口状态就从之前的Block或Down更新为UP,即为上述的条件1:第一端口的端口状态更新为UP,其意味着第一端口的端口信息(端口状态是端口信息的一种)发生变化。条件2:第一端口新增加了的VLAN信息。比如,第一端口之前支持VLAN100、VLAN200,当根据组网需求,在第一端口新配置了VLAN300,即为上述的条件2:第一端口新增加了的VLAN信息,其意味着第一端口的端口信息(第一端口支持的VLAN信息是端口信息的一种)发生变化。条件3:第一端口的VLAN信息被更改。比如,第一端口之前支持VLAN100、VLAN200,当根据组网需求,将第一端口支持的VLAN100更改为VLAN300,即为上述的条件3:第一端口支持的VLAN信息被更改,其意味着第一端口的端口信息(第一端口支持的VLAN信息是端口信息的一种)发生变化。下面以上述条件1为例,通过一个具体实施例对图1所示流程进行描述:参见图本文档来自技高网...

【技术保护点】
1.一种环路检测方法,其特征在于,该方法应用于网络设备,包括:在网络不存在环路的前提下,检测本地各端口的端口信息是否发生变化;当检测到本地第一端口的端口信息发生变化,且所述变化满足设定的环路检测条件,则通过所述第一端口发送用于环路检测的第一检测报文;检查预设的检测时间内是否接收到本设备通过第一端口发送的所述第一检测报文,如果否,确定网络中不存在环路,如果是,确定网络中存在环路,阻塞或关闭所述第一端口。

【技术特征摘要】
1.一种环路检测方法,其特征在于,该方法应用于网络设备,包括:在网络不存在环路的前提下,检测本地各端口的端口信息是否发生变化;当检测到本地第一端口的端口信息发生变化,且所述变化满足设定的环路检测条件,则通过所述第一端口发送用于环路检测的第一检测报文;检查预设的检测时间内是否接收到本设备通过第一端口发送的所述第一检测报文,如果否,确定网络中不存在环路,如果是,确定网络中存在环路,阻塞或关闭所述第一端口。2.根据权利要求1所述的方法,其特征在于,所述变化满足设定的环路检测条件包括以下至少一个条件:所述第一端口的端口状态更新为UP;所述第一端口新增加了对应的VLAN信息;所述第一端口的VLAN信息被更改。3.根据权利要求1所述的方法,其特征在于,通过第一端口发送第一检测报文进一步包括:将发生变化的第一端口信息记录至预设的环回检测端口表,并设置环回检测端口表中第一端口信息的状态为检测状态detect;所述确定网络中不存在环路进一步包括:从所述环回检测端口表中删除所述第一端口信息;所述确定网络中存在环路进一步包括:将所述环回检测端口表中所述第一端口信息的状态从detect更新为指定状态,并设置所述第一端口信息的老化时间为第一老化时间,第一老化时间用于表示不老化,所述指定状态指示所述第一端口被阻塞或关闭。4.根据权利要求3所述的方法,其特征在于,将所述环回检测端口表中所述第一端口信息的状态从detect更新为指定状态进一步包括:设置所述第一端口信息对应的恢复次数,所述恢复次数初始为默认值;该方法之后进一步包括:针对所述环回检测端口表中状态为所述指定状态的第一端口信息,检查所述第一端口信息对应的恢复次数是否达到设定阈值;如果否,启用所述第一端口信息对应的第一端口,并通过第一端口发送第二检测报文,将所述环回检测端口表中第一端口信息的状态从指定状态更新为detect,检查预设的检测时间内是否接收到本设备通过第一端口发送的所述第二检测报文,如果否,从所述环回检测端口表中删除所述第一端口信息,如果是,阻塞或关闭所述第一端口,将所述环回检测端口表中所述第一端口信息的状态从detect更新为指定状态,并设置所述第一端口信息的老化时间为第一老化时间,将所述第一端口信息对应的恢复次数增加设定值。5.根据权利要求4所述的方法,其特征在于,所述检查所述第一端口信息对应的恢复次数是否达到设定阈值是周期执行的,所述周期预先设置;所述启用第一端口信息对应的第一端口包括:重置所述第一端口信息的老化时间为第二老化时间;在所述第一端口信息的老化时间到达之前,检查本设备是否接收到用于环路检测的第三检测报文,如果是,重置所述第一端口信息的老化时间为第三老化时间,返回检查本设备是否接收到用于环路检测的第三检测报文的操作,如果否,在所述第一端口信息的老化时间到达时,启用所述第一端口;其中,第二老化时间、第三老化时间分别依据所述预设的检测时间设置。6.一种环路检测装置,其特征在于,该装置应用于网络设备,...

【专利技术属性】
技术研发人员:潘志浩
申请(专利权)人:新华三技术有限公司合肥分公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1