CN101931573B - 以太网环路定位方法 - Google Patents
以太网环路定位方法 Download PDFInfo
- Publication number
- CN101931573B CN101931573B CN 201010267940 CN201010267940A CN101931573B CN 101931573 B CN101931573 B CN 101931573B CN 201010267940 CN201010267940 CN 201010267940 CN 201010267940 A CN201010267940 A CN 201010267940A CN 101931573 B CN101931573 B CN 101931573B
- Authority
- CN
- China
- Prior art keywords
- loopcheck
- loop
- execution
- explore frame
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开一种以太网环路定位方法,包括:A、在loopcheck软件模块中发现环路的步骤;B、当端口收到loopcheck探测帧时的处理步骤;C、当确定网络中有环路存在时,将所述环路所在端口隔离的步骤。使用本发明以太网环路定位方法的网络逻辑实体,如透明网桥、以太网交换机或路由器在内的网络节点,当出现环路或因环路导致的广播风暴时,利用本发明方法能够解除网络成环故障,然后采取相应措施定位出成环点,从而能够控制广播风暴的波及范围,并且还能极大的提高网络维护的效率。
Description
技术领域
本发明涉及网络通信技术,尤其涉及一种以太网环路定位方法。
背景技术
在以太网应用环境中,常常会因不明原因导致网络成环,由于以太网具有公用通道特性,使得成环路的网络会导致网络广播风暴,从而影响网络业务,因此应当极力避免以太网成环路现象的发生。
目前在接入侧的用户在上网时,有时会突然感觉延时很大或突然掉线,这种现象很可能是由于与他的电脑相连的接入网络成环路造成的。接入侧的网络由于靠近用户,其网络拓扑是随着用户需求会时常改变的,而网络拓扑的稳定性又直接影响了用户体验的稳定性。另外网络成环的情况有可能不是用户直接动作导致,而是其他用户改变网络拓扑所导致的,如果这种成环的情况不在体验用户所处树状拓扑的分支上则称为旁路成环。
目前常用来排除网络成环路现象的协议主要是生成树(STP)协议。STP协议是通过阻断冗余链路来消除桥接网络中可能存在的环,这种环境往往使用在汇聚或者骨干网上,而这种冗余链路是设计之初用于网络链路备份的。接入侧的设备相对简单,而且其成本相对低廉,这就要求接入侧的网络在设计时就设计成树状拓扑(或者其他不会成环的拓扑)。根据这种应用环境往往是不需要使用生成树协议的,实际情况也并非所有种类的交换机都开启生成树协议。
实际情况下,某些交换机使能了生成树协议,而某些交换机并没有使能生成树协议。那些没有使能生成树协议的交换机,不进行生成树协议数据的转发,这就会造成生成树协议会错误的打开某些不应该打开的端口。这种情况时有发生,并且在查找故障点时非常难查找,现有做法只能挨个对交换机进行查找才可能找出问题。本发明能够避免这种情况的存在,环路定位技术可在最近环的地方隔离环,并使在一定范围内的所有交换机都知道成环点在哪里。
如果交换机的某个端口下连网络(下联网络没有使能生成树协议,但是下面的设备都转发生成树的协议包)存在环路时,生成树协议不能将该端口关闭;在上述的网络拓扑中,使能生成树协议的交换机会接收到自己发出的生成树网桥协议数据单元(BPDU,Bridge Protocol Data Unit),但是生成树协议的协议中对于某个端口收到本交换机的这个端口发出的BPDU包的这种情况是无法处理的,从而导致利用生成树协议不能检测出这种拓扑环境的情况,因而也就没有办法禁止环路的存在。
依靠现有技术处理环路故障时,获得确切的定位环路的位置不仅需要技术要求,而且需要人与人、单位与单位之间的配合。当涉及的问题超出技术范围时,还会直接就导致了简单问题的复杂化,因而给网络维护工作带来很大困难。
发明内容
有鉴于此,本发明的主要目的在于提供一种以太网环路定位方法,以便精确定位成环点的位置,然后隔离所述成环点,并通告成环信息的位置给一定范围内的网络实体。
为达到上述目的,本发明的技术方案是这样实现的:
一种以太网环路定位方法,该方法包括:
A、在loopcheck软件模块中发现环路的步骤;
B、当端口收到loopcheck探测帧时的处理步骤;
C、当确定网络中有环路存在时,将所述环路所在端口隔离的步骤。
其中,所述loopcheck软件模块中探测环路的步骤,包括:
A1、判断网络逻辑实体的端口连接状态是否改变,若端口连接状态未改变,则执行步骤A2,否则,执行步骤A3;
A2、端口连接状态未改变,则定周期发送多个第一类型的loopcheck探测帧,然后执行步骤A4;
A3、端口连接状态存在改变,且改变是从link down变为link up时,则定周期发送多个第二类型的loopcheck探测帧,然后执行步骤A4;
A4、判断逻辑实体在一定时间内是否收到自身已发出的loopcheck探测帧,如果没有收到loopcheck探测帧,则执行步骤A5;否则,执行步骤A6;
A5、逻辑实体没有收到自身发出的loopcheck探测帧,则确定该以太网中无环路存在;
A6、如果收到自身发出的loopcheck探测帧,则需要进入loopcheck探测帧的处理流程。
其中,所述的网络逻辑实体为包括透明网桥、以太网交换机或路由器在内的网络节点。
所述loopcheck探测帧的处理流程包括:
B1、当以太网逻辑实体的端口收到loopcheck探测帧时,首先判断该探测帧是否是经自身发出的,若不是,则执行步骤B2;否则,执行步骤B3;
B2、当逻辑实体收到的loopcheck探测帧不是自身发出的,则需要进一步判断该帧是否为第二类型的loopcheck探测帧,若不是,则执行步骤B4;否则,执行步骤B7;
B3、当逻辑实体收到的loopcheck探测帧是自身发出的,则显然网络中存在环路,同时,需要将收到的loopcheck探测帧丢弃,然后执行步骤B5;
B4、进一步判断网络实体的端口是否已经隔离,若是,则执行步骤B6;否则,执行步骤B7;
B5、对该环路置于环路隔离流程;
B6、该端口已经隔离且收到的是第一类型的探测帧,则将该探测帧丢弃;
B7、在步骤B2或步骤B4的基础上,当收到的第二类型的loopcheck探测帧或收到的为第一类型的loopcheck探测帧且收到的端口未隔离,则将该探测帧转发出去。
其中,所述的将所述环路所在端口隔离的步骤,具体为:
C1、将网络中成环路的逻辑实体的端口中端口编号最小的端口隔离,然后执行步骤C2;
C2、向逻辑实体发送网络中存在环路的通告帧消息,然后执行步骤C3;
C3、随机延时一段时间,然后执行步骤C4;
C4、返回环路发现流程,即步骤A。
其中,步骤C2所述通告帧中携带有成环路位置点的具体信息。
步骤C3所述随机延时一段时间的作用是避免在环路发现流程中,如果有多个逻辑实体点均产生了隔离动作,若它们在同一个时刻发出环探测帧,则很可能导致多个已经隔离的成环点同时恢复的情况,进而避免已经被隔离的环重新成环。
本发明所提供的以太网环路定位方法,具有以下优点:
使用本发明以太网环路定位方法的交换机,当出现环路或因环路导致的广播风暴时,本发明能够解除网络成环,然后采取相应措施定位出成环点并,从而能够控制广播风暴的波及范围,并且还能极大的提高网络维护的效率。。当出现环路故障时,需要定位环路的位置,而定位环路的位置越精确越好。这意味着定位环路的位置越靠近环路点则影响越小。本发明在定位环路的位置之后会按照配置在环路中处理成环点,然后发出通告信息告诉一定范围内网络逻辑实体。这样在一定范围内的所有实体均可以知晓成环点的具体信息。因此,可以减少人工作业时间,极大的提高网络维护的效率。
附图说明
图1为以太网loopcheck软件模块的数据结构示意图;
图2为本发明描述loopcheck软件模块中发现环路的过程示意图;
图3为本发明以太网交换机收到loopcheck探测帧时的处理过程示意图;
图4为本发明对所发现的环路进行隔离的过程示意图。
具体实施方式
下面结合附图及本发明的实施例对本发明的方法作进一步详细的说明。
图1为以太网loopcheck软件模块的数据结构示意图,本发明是建立在现有以太网交换机的loopcheck软件模块的数据结构之上的,如图1所示,为该loopcheck软件模块的数据结构。所述loopcheck软件模块采用数组为主数据结构。首先定义全局结构类型指针gpNlcInfo,该指针的主要作用就是标识数组的首地址。在与端口相关的数据结构中,数组的每个成员都存储了端口信息、端口的loopcheck状态、结果等信息。具体而言,pPortInfo[0]存储了对应端口号为1的端口的各种loopcheck信息,pPortInfo[1]存储了对应端口号为2的端口的各种loopcheck信息,以此类推。
这里,该软件模块是以传输数据的端口为研究对象的,以下是实现该软件模块的流程详解。
图2为本发明描述loopcheck软件模块中发现环路的过程示意图,如图2所示,当配置了适当的loopcheck参数之后,以太网中的逻辑实体,如交换机、路由器等就可以实现环路的定位、隔离功能。
Loopcheck软件模块的设计目的是希望能够简单、有效的定位以太网中的环路,并在此基础上处理环路。在该设计目的指导之下所采取的设计思路是:使各个执行该功能的逻辑实体可以在不用配置复杂网络逻辑的情况下定位环路,这与生成树协议是有区别的。当然,在此基础上的本发明作出的该以太网环路定位方法,功能会有些不足,这还与使用环境、应用目的密切相关
图2描述了loopcheck模块中发现环路的流程,该流程还包括:
步骤201:在逻辑实体使能了loopcheck功能之后,执行loopcheck任务会自动定周期发出loopcheck探测帧。需要注意的是当端口改变连接状态时发送的loopcheck探测帧的类型与端口一直与连通状态时发送的探测帧是不相同的。在图2中以类型1和类型2标识加以区分。此时需要判断端口的连通状态,若端口从非连通状态切换成连通状态一段时间后就不用再发送类型2的帧,而改发类型1的loopcheck探测帧。具体为:判断逻辑实体的端口连接状态是否改变,若端口连接状态未改变,则执行步骤202,否则,执行步骤203。
步骤202:端口连接状态未改变,则定周期发送多个类型1的loopcheck探测帧,然后执行步骤204。
步骤203:端口连接状态存在改变,如从link down状态变为link up状态,则定周期发送多个类型2的loopcheck探测帧,然后执行步骤204。
步骤204:判断逻辑实体在一定时间内是否收到自己发出的loopcheck探测帧,如果没有收到loopcheck探测帧,则执行步骤205;否则,执行步骤206。
这里,没有收到所述loopcheck探测帧,那么显然网络拓扑是无环的。
步骤205:逻辑实体没有收到自己发出的loopcheck探测帧,则确定该以太网中无环路存在。
步骤206:如果收到loopcheck探测帧,则需要进入loopcheck探测帧的处理流程。
图3为本发明以太网交换机收到loopcheck探测帧时的处理过程示意图,当端口收到loopcheck探测帧时,则进入对loopcheck探测帧的处理流程。
如图3所示的流程图,描述了loopcheck探测帧的处理过程,该处理过程是以太网逻辑实体对loopcheck软件模块的核心处理过程,包括:
步骤301:当以太网逻辑实体的端口收到loopcheck探测帧时,首先判断该探测帧是否是经自身发出的,若不是,则执行步骤302;否则,执行步骤303。
步骤302:当逻辑实体收到的loopcheck探测帧不是自己发出的,则需要进一步判断该帧是否为类型2的loopcheck探测帧,若不是,则执行步骤304;否则,执行步骤307。
步骤303:当逻辑实体收到的loopcheck探测帧是自身发出的,则显然网络中存在环路,同时,需要将收到的loopcheck探测帧丢弃,然后执行步骤305。
步骤304:进一步判断网络实体的端口是否已经隔离,若是,则执行步骤306;否则,执行步骤307。
步骤305:对该逻辑实体置于环路隔离流程。
这里,当已经确定环路的存在后就对环路的具体情况进行处理,并通告。此时即进入环隔离流程。详见图4描述的内容。
步骤306:该端口已经隔离且收到的是类型1的探测帧,则将该探测帧丢弃。
步骤307:在步骤302或步骤304的基础上,当收到的类型2的loopcheck探测帧或收到的为类型1的loopcheck探测帧且收到的端口未隔离,则将该探测帧转发出去。
图4为本发明对所发现的环路进行隔离的过程示意图。如图4所示,该过程包括:
步骤401:将网络中成环路的逻辑实体的端口中端口编号最小的端口隔离,然后执行步骤402。
步骤402:向逻辑实体发送网络中存在环路的通告帧消息,然后执行步骤403。
这里,该通告帧中携带有成环路位置点的具体信息。
步骤403:随机延时一段时间,然后执行步骤404。
这里,该延时的时长是有范围限制的。该延时的作用是为了避免在环路发现流程中多个已经采取隔离动作的逻辑实体点在同一个时刻发出环探测帧。
步骤404:返回环路发现流程。
综上所述,这些流程有机结合组成了该发明专利想要实现的功能。本发明有两个优点:第一,不需要对逻辑实体进行复杂的配置;第二,是利用各个实体被动收敛来完成环隔离功能。
当然在有以上优点的情况下也是有缺点的。第一,本专利使用在网络拓扑的接入侧是比较合适的,就目前而言以太网一般也是用于接入侧;第二,如果网络环境复杂,则会影响收敛时间;第三,本专利不拘泥于上述中类型1、2探测帧和通告帧,帧结构的具体形式只是外表。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (4)
1.一种以太网环路定位方法,其特征在于,该方法包括:
A、在loopcheck软件模块中探测环路的步骤;具体为:A1、判断网络逻辑实体的端口连接状态是否改变,若端口连接状态未改变,则执行步骤A2,否则,执行步骤A3;A2、端口连接状态未改变,则定周期发送多个第一类型的loopcheck探测帧,然后执行步骤A4;A3、端口连接状态存在改变,且改变是从link down变为link up时,则定周期发送多个第二类型的loopcheck探测帧,然后执行步骤A4;A4、判断逻辑实体在一定时间内是否收到自身已发出的loopcheck探测帧,如果没有收到loopcheck探测帧,则执行步骤A5;否则,执行步骤A6;A5、逻辑实体没有收到自身发出的loopcheck探测帧,则确定该以太网中无环路存在;A6、如果收到自身发出的loopcheck探测帧,则需要进入loopcheck探测帧的处理流程;
B、当端口收到loopcheck探测帧时的处理步骤;具体为:B1、当以太网逻辑实体的端口收到loopcheck探测帧时,首先判断该探测帧是否是经自身发出的,若不是,则执行步骤B2;否则,执行步骤B3;B2、当逻辑实体收到的loopcheck探测帧不是自身发出的,则需要进一步判断该帧是否为第二类型的loopcheck探测帧,若不是,则执行步骤B4;否则,执行步骤B7;B3、当逻辑实体收到的loopcheck探测帧是自身发出的,则显然网络中存在环路,同时,需要将收到的loopcheck探测帧丢弃,然后执行步骤B5;B4、进一步判断网络实体的端口是否已经隔离,若是,则执行步骤B6;否则,执行步骤B7;B5、对该环路置于环路隔离流程;B6、该端口已经隔离且收到的是第一类型的探测帧,则将该探测帧丢弃;B7、在步骤B2或步骤B4的基础上,当收到的第二类型的loopcheck探测帧或收到的为第一类型的loopcheck探测帧且收到的端口未隔离,则将该探测帧转发出去;
C、当确定网络中有环路存在时,将所述环路所在端口隔离的步骤;具体为:C1、将网络中成环路的逻辑实体的端口中端口编号最小的端口隔离,然后执行步骤C2;C2、向逻辑实体发送网络中存在环路的通告帧消息,然后执行步骤C3;C3、随机延时一段时间,然后执行步骤C4;C4、返回环路发现流程,即步骤A。
2.根据权利要求1所述的以太网环路定位方法,其特征在于,所述的网络逻辑实体为包括透明网桥、以太网交换机或路由器在内的网络节点。
3.根据权利要求1所述的以太网环路定位方法,其特征在于,步骤C2所述通告帧中携带有成环路位置点的具体信息。
4.根据权利要求1所述的以太网环路定位方法,其特征在于,步骤C3所述随机延时一段时间的作用是避免在环路发现流程中,如果有多个逻辑实体点均产生了隔离动作,若它们在同一个时刻发出环探测帧,则很可能导致多个已经隔离的成环点同时恢复的情况,进而避免已经被隔离的环重新成环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010267940 CN101931573B (zh) | 2010-08-31 | 2010-08-31 | 以太网环路定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010267940 CN101931573B (zh) | 2010-08-31 | 2010-08-31 | 以太网环路定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101931573A CN101931573A (zh) | 2010-12-29 |
CN101931573B true CN101931573B (zh) | 2012-07-04 |
Family
ID=43370506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010267940 Expired - Fee Related CN101931573B (zh) | 2010-08-31 | 2010-08-31 | 以太网环路定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101931573B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594631B (zh) * | 2011-01-12 | 2017-07-14 | 中兴通讯股份有限公司 | 一种避免以太网闭环的方法和系统 |
CN102624575B (zh) * | 2011-01-28 | 2017-01-25 | 中兴通讯股份有限公司 | 一种避免以太网闭环的检测方法及系统 |
CN102739466B (zh) * | 2011-04-13 | 2017-10-17 | 中兴通讯股份有限公司 | 一种设置以太网节点检测帧超时时长的方法及系统 |
CN102916850B (zh) * | 2012-08-23 | 2015-08-26 | 歌尔声学股份有限公司 | 一种计算机网络环路检测方法 |
CN104767664B (zh) * | 2014-01-07 | 2018-01-12 | 维谛技术有限公司 | 一种环形通信网络增减从节点的方法、装置及系统 |
CN105897515A (zh) * | 2016-06-12 | 2016-08-24 | 烽火通信科技股份有限公司 | 基于ipran设备的以太网环路检测及处理方法 |
CN108881328B (zh) * | 2018-09-29 | 2021-02-23 | 北京东土军悦科技有限公司 | 数据包过滤方法、装置、网关设备及存储介质 |
CN110391957A (zh) * | 2019-07-26 | 2019-10-29 | 新华三技术有限公司合肥分公司 | 环路检测方法和装置 |
CN112187676B (zh) * | 2020-09-14 | 2022-05-17 | 苏州浪潮智能科技有限公司 | 一种交换机端口恢复的方法和设备 |
CN115941534A (zh) * | 2022-12-08 | 2023-04-07 | 贵州电网有限责任公司 | 一种针对电力系统局域网的网络风暴源溯源方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707538A (zh) * | 2009-11-25 | 2010-05-12 | 烽火通信科技股份有限公司 | 一种检测以太网环路并且自动恢复的方法 |
-
2010
- 2010-08-31 CN CN 201010267940 patent/CN101931573B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707538A (zh) * | 2009-11-25 | 2010-05-12 | 烽火通信科技股份有限公司 | 一种检测以太网环路并且自动恢复的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101931573A (zh) | 2010-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101931573B (zh) | 以太网环路定位方法 | |
EP2555476A1 (en) | Method, system and device for protecting multicast in communication network | |
US20130254356A1 (en) | Systems and methods for recovery from network changes | |
JP5369228B2 (ja) | ユニキャストトラフィックを復元する方法及び装置 | |
EP1780918A1 (en) | Method and system for providing clock synchronization over packet network | |
CN102647312B (zh) | 一种整网组播拓扑的探测方法及装置 | |
US20100188968A1 (en) | Method for processing ether rig net message and an ether rig net protection system using the method | |
CN103545919B (zh) | 一种有源配电网络的孤岛拓扑识别方法 | |
CN102761493B (zh) | 一种多链接透明互联网络中组播路由表项更新方法和装置 | |
CN106209615B (zh) | 一种基于spfa算法计算转发路径的动态路由控制方法和系统 | |
US10862735B2 (en) | Method and apparatus for implementing operation, administration, and maintenance function | |
CN106533776B (zh) | 一种vrrp网关、vrrp系统和双主探测及修复方法 | |
CN103368849A (zh) | Oam报文的处理方法和装置 | |
CN103475583A (zh) | 清除媒体接入控制转发表项的方法和设备 | |
WO2013174101A1 (zh) | 连通性检测方法、装置和系统 | |
CN105429841A (zh) | Nni ping的实现方法及装置 | |
CN101764706A (zh) | 基于epa网桥的链路冗余控制方法 | |
JP2015532563A (ja) | モノのインターネットのゲートウェイ用の故障除去方法及びシステム | |
CN106161078A (zh) | 一种以太网环保护倒换方法及节点 | |
CN102970226B (zh) | 在asic中进行组播报文转发的方法和装置 | |
CN110278155A (zh) | 具有多归属和局部偏置的辅助复制 | |
WO2012075743A1 (zh) | 一种以太环网链路保护倒换的方法及装置 | |
CN106850268A (zh) | 一种线性保护倒换的实现装置及方法 | |
CN106131153A (zh) | 基于智能网关的业务识别方法和装置 | |
CN102833122B (zh) | 一种环回检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170323 Address after: 430074 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four Patentee after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd. Address before: No. 5 light communication building 430074 Hubei province Wuhan Dongxin road 3 floor Patentee before: WUHAN FIBERHOME NETWORKS Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 |