CN102281172A - 环路检测方法及装置 - Google Patents

环路检测方法及装置 Download PDF

Info

Publication number
CN102281172A
CN102281172A CN2011102822011A CN201110282201A CN102281172A CN 102281172 A CN102281172 A CN 102281172A CN 2011102822011 A CN2011102822011 A CN 2011102822011A CN 201110282201 A CN201110282201 A CN 201110282201A CN 102281172 A CN102281172 A CN 102281172A
Authority
CN
China
Prior art keywords
loop
clt
cnu
message
loop detection
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.)
Granted
Application number
CN2011102822011A
Other languages
English (en)
Other versions
CN102281172B (zh
Inventor
许俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201110282201.1A priority Critical patent/CN102281172B/zh
Publication of CN102281172A publication Critical patent/CN102281172A/zh
Application granted granted Critical
Publication of CN102281172B publication Critical patent/CN102281172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种环路检测方法和装置。本发明能够利用环路检测报文先检测出头端设备中存在环路的CLT;如果当前的环路影响能够允许在该CLT下定位环路所在的CNU,则可先判断该CLT下的各CNU是否在用户端口学习到了环路检测报文的源MAC地址、并以此来定位环路是否位于该CNU,然后将环路所在的CNU的用户端口阻塞即可;但如果当前的环路影响已导致无法定位出环路所在的CNU,则可直接将存在环路的CLT阻塞。进一步可选地,如果任意CNU所在的终端设备中还包括具有检测能力的交换芯片,通过读取该CNU所在终端设备中交换芯片的寄存器标记也能够识别该CNU下是否存在环路。

Description

环路检测方法及装置
技术领域
本发明涉及环路检测技术,特别涉及一种环路检测方法、以及一种环路检测装置。
背景技术
基于同轴承载以太网(Ethernet over Coax,EoC)技术实现的以太网同轴电缆网络(Ethernet passive coax network,EPCN)采用点到多点的用户网络拓扑结构,以利用同轴电缆实现数据、语音和视频的全业务接入。
EPCN中包括头端和终端,其中头端是指同轴线路终端(Coax LineTerminal,CLT)、终端是指同轴网络单元(Coax Network Unit,CNU),每一CLT下可连接若干个CNU。在实际应用中,若干个CLT可以设置在同一台具有CPU和交换芯片的设备中,这样的设备通常称之为头端设备;而每一个CNU通常设置在一台设备中,这样的设备就称之为终端设备。
图1为现有头端设备的结构示意图。如图1所示,现有的头端设备中包括CPU、交换芯片、以及至少一个CLT(图1中以多个CLT为例)。交换芯片具有与CPU相连的一个上行以太网口、以及作为头端设备上行端口的其他若干个上行以太网口,交换芯片还具有分别连接每个CLT的若干下行以太网口;每个CLT分别具有一个用于与上行侧交互的上行以太网口、并与交换芯片的下行以太网口对接,每个CLT还分别具有用于连接CNU的下行同轴线路(Cable)端口、并作为头端设备下行端口。
图2a和图2b为现有终端设备的结构示意图。
如图2a所示的终端设备除了包括一CNU之外还包括一交换芯片。CNU具有一个用于连接CLT的上行Cable端口、并作为终端设备上行端口,CNU具有一个下行Cable端口、并作为终端设备下行CATV口,以及,CNU还具有一个用于与下行侧交互的用户端口(用户端口通常也是以太网口)、并连接交换芯片;交换芯片具有与用户端口对接的一个上行以太网口、以及作为终端设备下行端口的若干下行以太网口。由于如图2a所示的终端设备具有多个下行端口,因而该终端设备通常称为多端口终端设备。
如图2b所示的终端设备包括一CNU、但不具有交换芯片。CNU具有一个用于连接CLT的上行Cable端口、并作为终端设备上行端口,CNU具有一个下行Cable端口、并作为终端设备下行CATV口,以及,CNU还具有一个用于与下行侧交互的用户端口(用户端口通常也是以太网口)、并作为终端设备下行端口。由于如图2b所示的终端设备只有一个下行端口,因而该终端设备通常称为单端口终端设备。
EPCN中的头端设备和终端设备之间通常是通过分支器和分配器实现交互。即,每个CLT的下行Cable端口与其所要连接的每个CNU的上行Cable端口之间通过分支器和分配器组成的树型或者星型网络相连。但是,各CNU之间是相互隔离的。
对于EPCN网络来说,需要极力避免出现环路。一旦产生环路,对EPCN网络的影响非常大、甚至会导致网络瘫痪。为此,就需要在EPCN网络中进行环路检测。现有技术在EPCN网络中进行的环路检测通常都是基于生成树协议(Spanning Tree Protocol,STP)来实现的,STP能够通过构造一棵树的方式达到裁剪冗余环路的目的。
图3为现有的一种环路检测方式的原理图。如图3所示的环路检测方式以CLT为检测单位。具体说:
首先由头端设备中的CPU周期性地向头端设备中各CLT下发STP报文、用以通过各CLT的下行Cable端口向各CLT下连接的CNU转发,并开始检测各CLT是否接收到环回的环路检测报文;
头端设备中每一CLT从其下行Cable端口所发出的STP报文会到达该CLT下连接的各CNU;
终端设备(图3中以多端口终端设备为例)中的CNU的上行Cable端口在接收到STP报文后,会经过其用户端口传递至交换芯片、并通过交换芯片的各下行以太网口再次转发;
如果某个终端设备、即CNU下有环路产生(例如终端设备的两个下行端口之间被用户误连接),则由该终端设备发出的STP报文会返回至该终端设备中的CNU、再由该终端设备中的CNU返回至头端设备中之前曾发出该STP报文的CLT;
当头端设备中任意CLT从其下行Cable端口接收到STP报文后均会通过交换芯片上报至CPU,若CPU检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路,并令交换芯片将与存在环路的CLT相连的下行以太网口阻塞、即相当于将存在环路的CLT阻塞(图3中以虚线单箭头曲线表示由环路导致的STP报文传输路径、并以图形“×”表示阻塞)。
上述如图3所示的环路检测方式虽然能够检测到环路、并能够采取相应措施来阻止环路对网络的影响,但是,仅仅是由于某个CNU存在环路而将连接有多个CNU的CLT阻塞,会导致该CLT下连接的其他未存在环路的CNU也被阻塞。
图4为现有的另一种环路检测方式的原理图。如图4所示的环路检测方式仅适用于多端口终端设备、并以多端口终端设备的下行端口(交换芯片的下行以太网口)为检测单位,该方式不需要CLT和CNU参与、但要求多端口终端设备内必须具有支持STP能力的CPU以及具备较强检测能力的交换芯片。具体说:
首先分别由各终端设备中的CPU周期性地向交换芯片的所有下行以太网口下发STP报文;
如果多端口终端设备的某个下行端口下有环路产生(例如终端设备的某个下行端口由于被用户误连接而产生环路),则由该下行端口所发出的STP报文会返回至该下行端口;
因此,如果交换芯片从某个下行端口接收到了之前从该下行端口发出的STP报文,则认为该下行端口有环路产生、并将内置寄存器置为表示对应的下行端口有环路的值;
此后,多端口终端设备内的CPU轮询交换芯片的各内置寄存器即可知晓交换芯片的各下行端口是否有环路产生、并控制交换芯片将有环路产生的下行端口阻塞(图4中以虚线单箭头曲线表示由环路导致的STP报文传输路径、并以图形“×”表示阻塞)。
上述如图4所示的环路检测方式由于是以终端设备的下行端口为检测单位,因而能够避免如图3所示方式存在的问题。但是,如图4所示的该环路检测方式必须在终端设备内设置CPU和具有较强检测能力的交换芯片,这样,相比于如图3所示的环路检测方式又会大大增加终端设备的成本。换言之,如图4所示的该环路检测方式只适用于高成本的具有CPU和检测能力较强的交换芯片的多端口终端设备,而无法适用于低成本的单端口终端设备、以及不具有CPU和/或交换芯片检测能力低的多端口终端设备。
然而在实际应用中,终端设备都是设置在用户室内、并需要用户购买的,因而对终端设备的低成本要求是十分普遍的,即,低成本的单端口终端设备、以及不具有CPU和/或交换芯片检测能力低的多端口终端设备更为普及。因此,基于普遍存在的终端设备的低成本要求及现状,如图4所示的环路检测方式并不具备实施的可行性。
发明内容
有鉴于此,本发明提供一种环路检测方法、以及一种环路检测装置。
本发明提供的一种环路检测方法,包括:
a、周期性地向CLT下发环路检测报文、用以向CLT下连接的CNU转发;
b、检测CLT是否接收到环回的环路检测报文,若检测出CLT接收到环回的环路检测报文则确定该CLT下存在环路;
c、判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数;
d、若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的CNU在用户端口上学习到的MAC地址;
e、若从任意CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该CNU为环路所在的CNU;
f、在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞;
g、若存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数,则阻塞存在环路的CLT。
所述环路检测报文的目的MAC为保留MAC、源MAC为自定义值、报文类型为用于表示环路检测的值。
所述环路检测报文进一步具有数据域;
所述步骤a向CLT下发的环路检测报文的数据域中携带有该CLT的MAC地址;
所述步骤b在CLT所接收到的所述环路检测报文的数据域中携带有该CLT的MAC地址时,认定该CLT接收到了环回的环路检测报文。
所述步骤c中所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
该方法进一步包括:
h、若所述步骤d无法从存在环路的CLT下连接的任意CNU读取到MAC地址,则向存在环路的CLT下发第三EOC管理报文、用以检查该CNU所在终端设备中的寄存器标记位;
i、若检查到的寄存器标记位为表示有环路的有效值,则确定该CNU为环路所在的CNU。
该方法进一步包括:
j、若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则在所述步骤d向存在环路的CLT下发第一EOC管理报文之前先向存在环路的CLT下发第四EOC管理报文、用以读取已被阻塞的CNU的用户端口的状态;
k、若从已被阻塞的任意CNU读取的用户端口的状态为转发状态,则向存在环路的CLT下发第五EOC管理报文、用以已被阻塞但又恢复为转发状态的CNU的用户端口阻塞。
该方法进一步包括:
预先为CNU设置对应的终端环路检测标记,所述终端环路检测标记在对应的CNU为环路所在的CNU时被置为有效值;
以及,预先为CLT设置对应的头端环路检测标记,所述头端环路检测标记在对应的CLT存在环路时被置为有效值。
本发明提供的一种环路检测装置,包括:
报文下发模块,周期性地向CLT下发环路检测报文、用以向CLT下连接的CNU转发;
报文检测模块,检测CLT是否接收到环回的环路检测报文,若检测出CLT接收到环回的环路检测报文则确定该CLT下存在环路;
次数判决模块,判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数;
地址读取模块,若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的CNU在用户端口上学习到的MAC地址;
第一定位模块,若从任意CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该CNU为环路所在的CNU;
终端阻塞模块,在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞;
头端阻塞模块,若存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数,则阻塞存在环路的CLT。
所述环路检测报文的目的MAC为保留MAC、源MAC为自定义值、报文类型为用于表示环路检测的值。
所述环路检测报文进一步具有数据域;
所述报文下发模块向CLT下发的环路检测报文的数据域中携带有该CLT的MAC地址;
所述报文检测模块在CLT所接收到的所述环路检测报文的数据域中携带有该CLT的MAC地址时,认定该CLT接收到了环回的环路检测报文。
所述次数判决模块所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
该装置进一步包括:
标记读取模块,若所述地址读取模块无法从存在环路的CLT下连接的任意CNU读取到MAC地址,则向存在环路的CLT下发第三EOC管理报文、用以检查该CNU所在终端设备中的寄存器标记位;
第二定位模块,若检查到的寄存器标记位为表示有环路的有效值,则确定该CNU为环路所在的CNU。
该装置进一步包括:
终端复查模块,若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则在所述地指读取模块向存在环路的CLT下发第一EOC管理报文之前先向存在环路的CLT下发第四EOC管理报文、用以读取已被阻塞的CNU的用户端口的状态;
复查阻塞模块,若从已被阻塞的任意CNU读取的用户端口的状态为转发状态,则向存在环路的CLT下发第五EOC管理报文、用以已被阻塞但又恢复为转发状态的CNU的用户端口阻塞。
该装置进一步包括:
终端标记模块,维护有预先为CNU对应设置的终端环路检测标记,所述终端环路检测标记在对应的CNU为环路所在的CNU时被置为有效值;
头端标记模块,维护有预先为CLT对应设置的头端环路检测标记,所述头端环路检测标记在对应的CLT存在环路时被置为有效值。
如上可见,本发明能够利用环路检测报文先检测出头端设备中存在环路的CLT;如果存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则表示当前的环路影响能够允许在该CLT下定位环路所在的CNU,因而此时可先判断该CLT下的各CNU是否在用户端口学习到了环路检测报文的源MAC地址、并以此来定位环路是否位于该CNU,然后将环路所在的CNU的用户端口阻塞即可;但如果存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数,则表示当前的环路影响已导致无法在该CLT下定位环路所在的CNU,因而此时可直接将存在环路的CLT阻塞。从而:
相比于现有如图3所示的环路检测方式,由于本发明只有在当前的环路影响已导致无法在该CLT下定位环路所在的CNU时才会将存在环路的CLT阻塞,而不是只要发现有环路有就简单地将头端设备中的CLT阻塞,因而能够在对CNU的端口阻塞有效的情况下避免未存在环路的CNU也受到阻塞影响;
相比于现有如图4所示的环路检测方式,由于本发明利用头端设备中的CPU并辅以CLT和CNU来识别CNU下是否存在环路,因而就并不是必须在终端设备内设置CPU和具有较强检测能力的交换芯片、即能够兼顾终端设备的低成本要求。
进一步优选地,对于交换芯片具有较强检测能力的终端设备,本发明还可以利用交换芯片所具有的较强检测能力来辅助头端设备,以使头端设备通过读取终端设备中交换芯片的寄存器标记也能够识别该终端设备中的CNU下是否存在环路。
附图说明
图1为现有头端设备的结构示意图;
图2a和图2b为现有终端设备的结构示意图;
图3为现有的一种环路检测方式的原理图;
图4为现有的另一种环路检测方式的原理图;
图5a和图5b为本发明实施例中的环路检测方式的原理图;
图6为本发明实施例中的环路检测辅助方式的原理图;
图7为本发明实施例中环路检测方法的示例性流程示意图;
图8为本发明实施例中环路检测方法在结合了辅助检测时的示例性流程示意图;
图9a至图9b为本发明实施例中环路检测方法优选的具体流程示意图;
图10为本发明实施例中环路检测装置的示例性结构示意图;
图11为本发明实施例中环路检测装置在结合了辅助检测时的示例性结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图5a和图5b为本发明实施例中的环路检测方式的原理图。如图5a和图5b所示的环路检测方式均是以CNU为检测单位。其中,图5a中以多端口终端设备为例、图5b中以单端口终端设备为例,但图5a和图5b所示出的原理相同。请参见图5a和图5b,对于每一CLT来说:
首先由头端设备中的CPU周期性地向CLT下发环路检测报文、用以通过CLT的下行Cable端口向该CLT下连接的各CNU转发,并开始检测CLT是否从其下行Cable端口接收到环回的环路检测报文;
CLT从其下行Cable端口所发出的环路检测报文会到达该CLT下连接的各CNU;
每一CNU的上行Cable端口在接收到环路检测报文后,会通过其用户端口从该CNU所在的终端设备发出(图5a中的下行端口为交换芯片的下行以太网口、因而还需要进一步通过交换芯片才可从终端设备的下行端口发出,而图5b中的下行端口为CNU的用户端口、因而从用户端口转发即可从终端设备的下行端口发出),即,终端设备能够透传环路检测报文;
如果某个终端设备、即CNU下有环路产生,则由该终端设备的CNU所发出的环路检测报文会返回至该终端设备的CNU、再由该终端设备的CNU返回至头端设备中之前曾发出该环路检测报文的CLT;其中,在环路检测报文返回的过程中会从用户端口进入CNU,此时,用户端口就为环路检测报文进入CNU的源端口,因而用户端口上就会学习到环路检测报文的源MAC地址;
当头端设备中的CLT在其下行Cable端口接收到环路检测报文后均会通过交换芯片上报至CPU,若CPU检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路;
此后,CPU会判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数;
如果未达到预定次数,则表示当前的环路影响允许在该CLT下定位环路所在的CNU,此时,CPU可以向存在环路的CLT下发一EOC管理报文、使该EOC管理报文通过存在环路的该CLT的下行Cable端口转发至该CLT下连接的各CNU,用以读取存在环路的该CLT下连接的各CNU在用户端口上学习到的MAC地址,若从任意CNU读取到的MAC地址为环路检测报文的源MAC地址、即表示该CNU在环路检测报文经环路返回的过程中于用户端口学习到了环路检测报文的源MAC地址,则确定该CNU为环路所在的CNU,并向存在环路的该CLT下发另一EOC管理报文、使该EOC管理报文通过存在环路的该CLT的下行Cable端口转发至该CLT下连接的环路所在的CNU,用以将存在环路的该CLT下连接的环路所在的CNU的用户端口阻塞(图5a和图5b中以虚线单箭头曲线表示由环路导致的环路检测报文传输路径、并以图形“×”表示该阻塞状态);
但如果已达到预定次数,则表示当前的环路影响已导致无法在该CLT下定位环路所在的CNU(例如环路已导致了网络风暴而使用于读取MAC地址的EOC管理报文被丢弃、或环路已导致了网络风暴而使CNU无暇提供MAC地址等),因而此时可直接令头端设备中的交换芯片将与存在环路的该CLT相连的下行以太网口阻塞,即,将存在环路的CLT阻塞(图5a和图5b中为了简化视图而未表示出该阻塞状态)。
如上述如图5a和图5b所示的原理可见:
相比于现有如图3所示的环路检测方式,由于本发明实施例只有在当前的环路影响已导致无法在该CLT下定位环路所在的CNU时才会将存在环路的CLT阻塞,而不是只要发现有环路有就简单地将头端设备中的CLT阻塞,因而能够在对CNU的端口阻塞有效的情况下避免未存在环路的CNU也受到阻塞影响;
相比于现有如图4所示的环路检测方式,由于本发明实施例利用头端设备中的CPU并辅以CLT和CNU来识别CNU下是否存在环路,因而就并不是必须在终端设备内设置CPU和具有较强检测能力的交换芯片、即能够兼顾终端设备的低成本要求。
另需要说明的是,本发明实施例中所使用的环路检测报文并不是现有的STP报文,这是因为,如果利用STP报文检测环路,就需要在头端设备的CPU中运行STP机制,而如背景技术部分如图3所示的方式可见,STP机制在检测到任意CLT接收到环回的STP报文后都会立即阻塞该CLT、而不会允许再有其他处理,即,STP机制会导致本发明实施例中定位环路所在终端设备的处理过程无法实现;而且,由于STP机制的处理过程非常复杂,在头端设备的CPU中运行STP机制也会使得CPU的负担过重。
由此,本发明实施例中所使用的环路检测报文是一种自定义报文,其中包括:
6字节的目的MAC,仍选用采用现有技术中的STP报文所使用的保留MAC(01-80-C2-00-00-00),用以确保环路检测报文在任何情况下都能够被头端设备中的交换芯片上报至头端设备中的CPU;
6字节的源MAC,可以为任意的设定值(例如00-0F-E2-12-34-57),主要用于与终端设备的用户端口上学习到的MAC地址进行比对;
4字节的报文类型(Type),设置为用于表示环路检测的值(例如60-0E);
6字节的数据域,其中会携带有发出环路检测报文的CLT的MAC地址,用以接收到环路检测报文的CLT是否为发出该环路检测报文的CLT;
可选地还可以包括38字节的保留域。
图6为本发明实施例中的环路检测辅助方式的原理图。如图6所示,对于交换芯片具有较强检测能力的终端设备(多端口终端设备)来说,如果该终端设备的交换芯片从某个下行以太网口接收到了之前从该下行以太网口发出的环路检测报文,则认为该下行以太网口有环路产生、并将内置寄存器置为表示对应的以太网口下有环路的值,这样,头端设备(例如在无法从终端设备读取MAC地址时)可以向存在环路的CLT下发又一EOC管理报文、使该EOC管理报文通过存在环路的该CLT的下行Cable端口转发至该终端设备中的CNU,用以通过CNU检查该终端设备的寄存器标记位,若检查到该终端设备的寄存器标记位为表示有环路的有效值,则确定该终端设备中的CNU为环路所在的CNU,并向存在环路的CLT下发前述另一EOC管理报文、使该EOC管理报文通过存在环路的该CLT的下行Cable端口转发至环路所在的该终端设备中的CNU,用以将环路所在的CNU的用户端口阻塞。
如上述如图6所示的原理可见,对于交换芯片具有较强检测能力的终端设备(多端口终端设备),本发明实施例可以进一步优选地利用交换芯片所具有的较强检测能力来辅助头端设备识别终端设备下是否存在环路。
下面,先对基于上述原理所实现的环路检测方法进行详细说明。
图7为本发明实施例中环路检测方法的示例性流程示意图。如图7所示,本发明实施例中的环路检测方法基于如图5a和图5b所示的原理、并包括在头端设备中的CPU执行的如下步骤:
步骤701,周期性(例如以2s为单位周期)地向头端设备中各CLT(本流程以多个CLT为例)下发环路检测报文。
步骤702,实时检测各CLT是否接收到环回的环路检测报文,若检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路、并跳转至步骤703,否则返回步骤702。
实际应用中,步骤701向每一CLT下发的环路检测报文的数据域中可以携带有该CLT的MAC地址,相应地,步骤702在每一CLT所接收到的报文的数据域中携带有该CLT的MAC地址时即可认定该CLT接收到了环回的环路检测报文。
从下述的步骤703开始的过程,即是分别针对存在环路的每一CLT的处理过程。
步骤703,判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数,若存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数则跳转至步骤707,若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数则跳转至步骤704。
本步骤中所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
步骤704,向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的各终端设备中的CNU在用户端口上学习到的MAC地址。
步骤705,若从任意终端设备中的CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该终端设备中的CNU为环路所在的CNU。若从任意终端设备中的CNU读取到的MAC地址不是环路检测报文的源MAC地址,则表示该终端设备中的CNU下无环路,因而不予处理。另外,对于无法读取(例如环路已导致了网络风暴而使用于读取MAC地址的第一EOC管理报文被丢弃、或环路已导致了网络风暴而使CNU无暇提供MAC地址等)到MAC地址的CNU,则不予处理。
步骤706,在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞。
上述步骤704~步骤706的处理过程,可以是并行地对存在环路的CLT下连接的各CNU进行处理,也可以是以遍历的方式依次对存在环路的CLT下连接的每一CNU进行处理。
步骤707,令头端设备中的交换芯片与存在环路的CLT之间的以太网口阻塞、以将存在环路的CLT阻塞。
至此,上述流程结束。
图8为本发明实施例中环路检测方法的优化的示例性流程示意图。如图8所示,本发明实施例中的环路检测方法基于如图5a和图5b所示的原理并同时结合如图6所示的辅助检测原理,包括在头端设备中的CPU执行的如下步骤:
步骤801,周期性(例如以2s为单位周期)地向头端设备中各CLT(本流程以多个CLT为例)下发环路检测报文。
步骤802,实时检测各CLT是否接收到环回的环路检测报文,若检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路、并跳转至步骤803,否则返回本步骤。
实际应用中,步骤801向每一CLT下发的环路检测报文的数据域中可以携带有该CLT的MAC地址,相应地,步骤802在每一CLT所接收到的报文的数据域中携带有该CLT的MAC地址时即可认定该CLT接收到了环回的环路检测报文。
从下述的步骤803开始的过程,即是分别针对存在环路的每一CLT的处理过程。
步骤803,判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数,若存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数则跳转至步骤809,若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数则跳转至步骤804。
本步骤中所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
步骤804,向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的各终端设备中的CNU在用户端口上学习到的MAC地址。
步骤805,若从任意终端设备中的CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该终端设备中的CNU为环路所在的CNU。若从任意终端设备中的CNU读取到的MAC地址不是环路检测报文的源MAC地址,则表示该终端设备中的CNU下无环路,因而不予处理。
步骤806,对于无法读取(例如环路已导致了网络风暴而使用于读取MAC地址的EOC管理报文被丢弃、或环路已导致了网络风暴而使CNU无暇提供MAC地址等)到MAC地址的CNU,向存在环路的CLT下发第三EOC管理报文、用以检查该CNU所在终端设备中的寄存器标记位。
步骤807,对于检查到寄存器标记位为表示有环路的有效值的终端设备,确定该终端设备中的CNU为环路所在的CNU。对于检查到的寄存器标记位为表示无环路的无效值的终端设备,则表示该终端设备中的CNU下无环路,因而对该终端设备中的CNU不予处理。另外,对于未检查到寄存器标记位为表示有环路的有效值的终端设备,则对该终端设备中的CNU不予处理。
步骤808,在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞。
上述步骤804~步骤808的处理过程可以是并行地对存在环路的CLT下连接的各CNU进行处理,也可以是以遍历的方式依次对存在环路的CLT下连接的每一CNU进行处理。
步骤809,令头端设备中的交换芯片与存在环路的CLT之间的以太网口阻塞、以将存在环路的CLT阻塞。
至此,上述流程结束。
此外,在上述如图7和图8所示的流程中还可以结合如下的优化处理:
1、实际应用中,对CLT的阻塞通常是为头端设备中的交换芯片连接该CLT的下行以太网口设置过滤条件,使交换芯片连接该CLT的下行以太网口将除了环路检测报文之外的其他报文丢弃或屏蔽,也就是说,即便CLT被阻塞,交换芯片连接该CLT的下行以太网口也仍有可能收到该CLT上报的环路检测报文,那么,在步骤702和步骤802之后,本发明实施例如果再判断出收到环回的环路检测报文的CLT为已被阻塞的CLT,则可以省略对该CLT的后续处理。
2、步骤703和步骤803的判断可以利用计时器和计数器来实现,具体说:
对于头端设备的每一CLT,均可以维护一计时器和一计数器;当该CLT接收到环回的环路检测报文后,可以先判断计时器是否到达预定时间;
如果没有到达预定时间,则表示当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间、即属于持续接收,对计时器清零、并对计数器加1;
如果已经到达预定时间,则表示当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔大于等于预定时间、即不属于持续接收,对计时器清零、并直接将计数器赋值为1(从1开始重新计数)。
3、当任意终端设备中的CNU的用户端口被阻塞后,用户可以通过手动操作来触发该终端设备复位、并使该终端设备中的CNU的用户端口又恢复为转发状态,这是经常发生的情况,那么,当步骤703和步骤803判断出存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数时,可以在步骤704和步骤804读取终端设备学习到的MAC地址之前先判断是否有已被阻塞用户端口的终端设备中的CNU又恢复了转发状态,即,向存在环路的CLT下发第四EOC管理报文、用以读取已被阻塞的终端设备中的CNU的用户端口的状态;若从已被阻塞的任意终端设备中的CNU读取的用户端口的状态为转发状态,则确定该终端设备中的CNU为环路所在的CNU、并在向存在环路的CLT下发第一EOC管理报文之前先向存在环路的CLT下发第五EOC管理报文,以利用第五EOC管理报文重新阻塞该终端设备中的CNU的用户端口。这样,在后续读取MAC地址的过程中,可以无需读取用户端口已被阻塞的终端设备中的CNU、而仅读取用户端口未被阻塞的终端设备中的CNU,从而能够减少后续需要读取MAC地址的CNU数量。
4、可以预先为每一终端设备中的CNU设置对应的终端环路检测标记,终端环路检测标记在对应的CNU为环路所在的CNU时被置为有效值True、在对应的CNU的环路已解除时被置为无效值False;以及,预先为头端设备中的每一CLT设置对应的头端环路检测标记,头端环路检测标记在对应的CLT存在环路时被置为有效值True、在对应的CLT存在的环路接触时被置为无效值False。利用上述的标记更容易对端口进行管理。
图9a至图9b为本发明实施例中环路检测方法优选的具体流程示意图。如图9a至图9b所示,以遍历的方式依次对存在环路的CLT下连接的每一终端设备进行处理为例,本发明实施例中的环路检测方法基于如图5a和图5b所示的原理并同时结合如图6所示的辅助检测原理以及上述优化处理,可以得到在头端设备中的CPU执行的如下的优选流程:
步骤901,周期性地(例如以2s为单位周期)向头端设备中各CLT(本流程以多个CLT为例)下发环路检测报文。
步骤902,实时检测各CLT是否接收到环回的环路检测报文,若检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路、并跳转至步骤903,否则返回本步骤。
实际应用中,步骤901向每一CLT下发的环路检测报文的数据域中可以携带有该CLT的MAC地址,相应地,步骤902在每一CLT所接收到的报文的数据域中携带有该CLT的MAC地址时即可认定该CLT接收到了环回的环路检测报文。
从下述的步骤903开始的过程,即是分别针对存在环路的每一CLT的处理过程。
步骤903,判断存在环路的CLT所对应的头端环路检测标记是否为有效值True,即,该CLT是否已经被阻塞,如果是则返回步骤902继续检测,否则跳转至步骤904。
步骤904,判断存在环路的CLT所对应的计时器是否到达预定时间,如果是则对存在环路的CLT所对应的计时器清零、并跳转至步骤907,否则表示当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间、即属于持续接收,对存在环路的CLT所对应的计时器清零、并跳转至步骤905。
步骤905,判断存在环路的CLT所对应的计数器是否达到预定次数(例如10次),即存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数,若是则跳转至步骤920,否则跳转至步骤906
步骤906,将存在环路的CLT所对应的对计数器加1,然后跳转至步骤911。
步骤907,将存在环路的CLT所对应的计数器赋值为1(从1开始重新计数),然后跳转至步骤911。
步骤911,向存在环路的CLT下发第四EOC管理报文、用以读取对应的终端环路检测标记为有效值True(即已被阻塞)的CNU的用户端口的状态。
步骤912,若从对应的终端环路检测标记为有效值True的任意CNU读取的用户端口的状态为转发状态,则向存在环路的CLT下发前述第五EOC管理报文,以将对应的终端环路检测标记为有效值True、但又恢复转发状态的CNU的用户端口再次阻塞,然后跳转至步骤913。
步骤913,开始遍历连接于存在环路的CLT下、且对应的终端环路检测标记为无效值False的各CNU,若遍历未结束则跳转至步骤914,若遍历结束则返回步骤902。
步骤914,向在环路的CLT下发第一EOC管理报文,用以读取当前遍历到的CNU在用户端口上学习到的MAC地址,然后跳转至步骤915。
步骤915,判断是否从当前遍历到的CNU读取到了MAC地址,如果是则跳转至步骤916,否则跳转至步骤917。
步骤916,判断从前遍历到的CNU读取到的MAC地址为环路检测报文的源MAC地址,若从当前遍历到的CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定当前遍历到的该CNU为环路所在的CNU、并跳转至步骤919,否则返回步骤913继续遍历。
步骤917,向存在环路的CLT下发第三EOC管理报文、用以检查当前遍历到的该CNU的寄存器标记位,然后跳转至步骤918。
步骤918,判断是否检查到当前遍历到的该CNU所在终端设备中的寄存器标记位为表示有环路的有效值,若是则确定当前遍历到的该CNU为环路所在的CNU并跳转至步骤919,否则返回步骤913继续遍历。
步骤919,在确定出当前遍历到的CNU为环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞,并且将当前遍历到的CNU对应的终端环路检测标记由无效值False置为有效值True,然后返回步骤913继续遍历。
步骤920,令头端设备中的交换芯片与存在环路的CLT之间的以太网口阻塞、以将存在环路的CLT阻塞,并将存在环路的该CLT所对应的头端环路检测标记由无效值False置为有效值True,然后返回步骤902继续检测。
至此,上述流程结束。
如上可见,本发明实施例中的环路检测方法通过以上的任一流程,均可以在存在的环路数量和/或环路的影响尚未达到足够严重的程度时定位出环路所在的CNU并阻塞其用户端口,而在存在的环路数量和/或环路的影响尚已达到足够严重的程度时定位出头端设备中相应CLT并阻塞。
另外,本发明实施例中的环路检测方法所阻塞的用户端口和Cable端口也能够予以恢复。
例如,对于CNU的用户端口来说,在被阻塞之后可以通过如下方式恢复转发状态:
1、周期性地向存在环路的CLT下发前述第四EOC管理报文、用以检查该CNU所在终端设备的寄存器标记位为表示无环路的无效值,若检查到该CNU所在终端设备的寄存器标记位为表示无环路的无效值,则确定该CNU的环路已解除,并向该CNU所连接的CLT下发第五EOC管理报文、用以取消该CNU的用户端口的阻塞;
2、终端设备的复位后,其用户端口即可恢复为转发状态;另外,如果终端设备为具有交换芯片的多端口终端设备,则其寄存器标记在复位后就恢复为表示无环路的无效值、但其在CPU侧对应的终端环路检测标记仍为有效值True,待按照上述方式读取无效值的寄存器标记后再恢复为无效值False;
3、终端设备、即CNU下线后重新再上线后,其CNU的用户端口即可恢复为转发状态;另外,如果终端设备为具有交换芯片的多端口终端设备,则其寄存器标记在重新上线后就仍保持为表示有环路的有效值、但其在CPU侧对应的终端环路检测标记恢复为无效值False,待经过上述流程重新检测后才能够决定重新上线的终端设备的用户端口是否还需要阻塞。
4、在任意终端设备中的CNU的用户端口被阻塞后的预定等待时间过后,向存在环路的CLT下发前述第五EOC管理报文、用以取消该终端设备中的CNU的用户端口的阻塞,如果该终端设备中的CNU下还存在环路,则经过以上的任一流程的检测仍会将该终端设备中的CNU的用户端口再次阻塞,如果该终端设备中的CNU下的环路解除则不会再将该终端设备中的CNU的用户端口阻塞。
再例如,对于头端设备中的CLT来说,在被阻塞之后可以通过如下方式恢复转发状态:
由于对CLT的阻塞通常是为交换芯片连接该CLT的下行以太网口设置过滤条件,使交换芯片连接该CLT的下行以太网口将除了环路检测报文之外的其他报文丢弃或屏蔽,也就是说,即便CLT被阻塞,交换芯片连接该CLT的下行以太网口也仍有可能收到该CLT上报的环路检测报文,那么,只要被阻塞的CLT在预定的周期内均未收到环路检测报文,即可认定该CLT下的环路已解除,此时,即可令存环路解除的CLT取消阻塞、并将对应的头端环路检测标记由True置为False。
下面,再对本发明实施例中的环路检测装置进行详细说明。
图10为本发明实施例中环路检测装置的示例性结构示意图。如图10所示,本实施例中的环路检测装置基于如图5a和图5b所示的原理、并包括承载于头端设备中的CPU的如下模块:
报文下发模块,周期性地向头端设备中各CLT下发环路检测报文。
报文检测模块,实时检测各CLT是否接收到环回的环路检测报文,若检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路。
实际应用中,报文下发模块向每一CLT下发的环路检测报文的数据域中可以携带有该CLT的MAC地址,相应地,报文检测模块在每一CLT所接收到的报文的数据域中携带有该CLT的MAC地址时即可认定该CLT接收到了环回的环路检测报文。
次数判决模块,判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数。其中,次数判决模块所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
地址读取模块,向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的各终端设备中的CNU在用户端口上学习到的MAC地址。
第一定位模块,若从任意终端设备中的CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该终端设备中的CNU为环路所在的CNU。若从任意终端设备中的CNU读取到的MAC地址不是环路检测报文的源MAC地址,则表示该终端设备中的CNU下无环路,因而不予处理。另外,对于无法读取(例如环路已导致了网络风暴而使用于读取MAC地址的EOC管理报文被丢弃、或环路已导致了网络风暴而使CNU无暇提供MAC地址等)到MAC地址的CNU,则不予处理。
终端阻塞模块,在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞。
上述地址读取模块、第一定位模块、终端阻塞模块所执行的处理过程,可以是并行地对存在环路的CLT下连接的各CNU进行处理,也可以是以遍历的方式依次对存在环路的CLT下连接的每一CNU进行处理。
头端阻塞模块,令头端设备中的交换芯片与存在环路的CLT之间的以太网口阻塞、以将存在环路的CLT阻塞。
图11为本发明实施例中环路检测装置在结合了辅助检测时的示例性结构示意图。如图11所示,本实施例中的环路检测装置基于如图5a和图5b所示的原理以及如图6所示的辅助检测原理、并包括承载于头端设备中的CPU的如下模块:
报文下发模块,周期性地向头端设备中各CLT下发环路检测报文。
报文检测模块,实时检测各CLT是否接收到环回的环路检测报文,若检测出任意CLT接收到环回的环路检测报文则确定该CLT下存在环路。
实际应用中,报文下发模块向每一CLT下发的环路检测报文的数据域中可以携带有该CLT的MAC地址,相应地,报文检测模块在每一CLT所接收到的报文的数据域中携带有该CLT的MAC地址时即可认定该CLT接收到了环回的环路检测报文。
次数判决模块,判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数。其中,次数判决模块所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
地址读取模块,向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的各终端设备中的CNU在用户端口上学习到的MAC地址。
第一定位模块,若从任意终端设备中的CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该终端设备中的CNU为环路所在的CNU。若从任意终端设备中的CNU读取到的MAC地址不是环路检测报文的源MAC地址,则表示该终端设备中的CNU下无环路,因而不予处理。
标记读取模块,对于无法读取(例如环路已导致了网络风暴而使用于读取MAC地址的EOC管理报文被丢弃、或环路已导致了网络风暴而使CNU无暇提供MAC地址等)到MAC地址的CNU,向存在环路的CLT下发第三EOC管理报文、用以检查该CNU所在终端设备中的寄存器标记位。
第二定位模块,对于检查到寄存器标记位为表示有环路的有效值的终端设备,确定该终端设备中的CNU为环路所在的CNU。对于检查到的寄存器标记位为表示无环路的无效值的终端设备,则表示该终端设备中的CNU下无环路,因而对该终端设备中的CNU不予处理。另外,对于未检查到寄存器标记位为表示有环路的有效值的终端设备,则对该终端设备中的CNU不予处理。
终端阻塞模块,在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞。
上述地址读取模块、第一定位模块、标记读取模块、第二定位模块、以及终端阻塞模块所执行的处理过程,可以是并行地对存在环路的CLT下连接的各CNU进行处理,也可以是以遍历的方式依次对存在环路的CLT下连接的每一CNU进行处理。
头端阻塞模块,令头端设备中的交换芯片与存在环路的CLT之间的以太网口阻塞、以将存在环路的CLT阻塞。
此外,在上述如图10和图11所示的结构中还可以结合如下的优化:
1、实际应用中,对CLT的阻塞通常是为交换芯片连接该CLT的下行以太网口设置过滤条件,使交换芯片连接该CLT的下行以太网口将除了环路检测报文之外的其他报文丢弃或屏蔽,也就是说,即便CLT被阻塞,交换芯片连接该CLT的下行以太网口也仍有可能收到该CLT上报的环路检测报文,那么,在如图10和图11所示的结构中还可以进一步包括状态判决模块,状态判决模块可在报文检测模块检测出之后再判断收到环回的环路检测报文的CLT是否为已被阻塞的CLT,若是则屏蔽该CLT、以省略其他模块对该CLT的后续处理。
2、次数判决模块可以利用计时器和计数器来实现判断,具体说:
对于头端设备的每一CLT,均可以维护一计时器和一计数器;当该CLT接收到环回的环路检测报文后,次数判决模块可以先判断计时器是否到达预定时间;
如果没有到达预定时间,则表示当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间、即属于持续接收,次数判决模块对计时器清零、并对计数器加1;
如果已经到达预定时间,则表示当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔大于等于预定时间、即不属于持续接收,次数判决模块对计时器清零、并直接将计数器赋值为1(从1开始重新计数)。
3、当任意终端设备中的CNU的用户端口被阻塞后,用户可以通过手动操作来触发该终端设备复位、并使该终端设备中的CNU的用户端口又恢复为转发状态,这是经常发生的情况,那么,当次数判决模块判断出存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数时,可以在地址读取模块读取终端设备中的CNU学习到的MAC地址之前,先利用一终端复查模块判断是否有已被阻塞用户端口的终端设备中的CNU又恢复了转发状态,即,向存在环路的CLT下发第四EOC管理报文、用以读取已被阻塞的终端设备中的CNU的用户端口的状态;若从已被阻塞的任意终端设备中的CNU读取的用户端口的状态为转发状态,则由一复查阻塞模块确定该终端设备中的CNU为环路所在的CNU、并在地指读取模块向存在环路的CLT下发第一EOC管理报文之前先向存在环路的CLT下发第五EOC管理报文,以利用第五EOC管理报文重新阻塞该终端设备中的CNU的用户端口。这样,地址读取模块在后续读取MAC地址的过程中,可以无需读取用户端口已被阻塞的终端设备中的CNU、而仅读取用户端口未被阻塞的终端设备中的CNU,从而能够减少后续需要读取MAC地址的CNU数量。
4、在图10和图11所示的结构中,可以进一步包括一终端标记模块和一头端标记模块;其中,终端标记模块维护有预先为每一终端设备中的CNU对应设置的终端环路检测标记,终端环路检测标记在对应的终端设备中的CNU为环路所在的CNU时被置为有效值True、在对应的终端设备中的CNU的环路已解除时被置为无效值False;头端标记模块则维护有预先为头端设备中的每一CLT对应设置的头端环路检测标记,头端环路检测标记在对应的CLT存在环路时被置为有效值True、在对应的CLT存在的环路接触时被置为无效值False。利用上述的标记更容易对端口进行管理。
为了使终端设备的用户端口被阻塞之后可恢复转发状态,除了终端设备复位和终端设备中的CNU下线后重新上线的两种方式之外,在如图10和图11所示的结构中可以进一步包括:
标记复查模块,周期性地向存在环路的CLT下发前述第四EOC管理报文、用以检查用户端口已阻塞的CNU所在终端设备的寄存器标记位是否为表示无环路的无效值;复查恢复模块,若检查到该终端设备的寄存器标记位为表示无环路的无效值,则确定该终端设备中的CNU下的环路已解除,并向该CNU所连接的CLT下发第五EOC管理报文、用以取消该终端设备中的CNU的用户端口的阻塞;
和/或,延时恢复模块,在任意终端设备中的CNU的用户端口被阻塞后的预定等待时间过后,向存在环路的CLT下发前述第五EOC管理报文、用以取消该终端设备中的CNU的用户端口的阻塞,如果该终端设备中的CNU下还存在环路,则经过以上的任一流程的检测仍会将该终端设备中的CNU的用户端口再次阻塞,如果该终端设备中的CNU下的环路解除则不会再将该终端设备中的CNU的用户端口阻塞。
为了使头端设备的CLT被阻塞之后可以恢复转发状态,在如图10和图11所示的结构中可以进一步包括:
头端检测模块,只要被阻塞的CLT在预定的周期内均未收到环路检测报文,即可认定该CLT下的环路已解除,此时,即可令存环路解除的CLT取消阻塞、并将对应的头端环路检测标记由True置为False。
上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

1.一种环路检测方法,其特征在于,包括:
a、周期性地向CLT下发环路检测报文、用以向CLT下连接的CNU转发;
b、检测CLT是否接收到环回的环路检测报文,若检测出CLT接收到环回的环路检测报文则确定该CLT下存在环路;
c、判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数;
d、若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的CNU在用户端口上学习到的MAC地址;
e、若从任意CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该CNU为环路所在的CNU;
f、在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞;
g、若存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数,则阻塞存在环路的CLT。
2.根据权利要求1所述的方法,其特征在于,所述环路检测报文的目的MAC为保留MAC、源MAC为自定义值、报文类型为用于表示环路检测的值。
3.根据权利要求2所述的方法,其特征在于,所述环路检测报文进一步具有数据域;
所述步骤a向CLT下发的环路检测报文的数据域中携带有该CLT的MAC地址;
所述步骤b在CLT所接收到的所述环路检测报文的数据域中携带有该CLT的MAC地址时,认定该CLT接收到了环回的环路检测报文。
4.根据权利要求1所述的方法,其特征在于,所述步骤c中所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
h、若所述步骤d无法从存在环路的CLT下连接的任意CNU读取到MAC地址,则向存在环路的CLT下发第三EOC管理报文、用以检查该CNU所在终端设备中的寄存器标记位;
i、若检查到的寄存器标记位为表示有环路的有效值,则确定该CNU为环路所在的CNU。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
j、若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则在所述步骤d向存在环路的CLT下发第一EOC管理报文之前先向存在环路的CLT下发第四EOC管理报文、用以读取已被阻塞的CNU的用户端口的状态;
k、若从已被阻塞的任意CNU读取的用户端口的状态为转发状态,则向存在环路的CLT下发第五EOC管理报文、用以已被阻塞但又恢复为转发状态的CNU的用户端口阻塞。
7.根据权利要求1至6中任一项所述的方法,其特征在于,该方法进一步包括:
预先为CNU设置对应的终端环路检测标记,所述终端环路检测标记在对应的CNU为环路所在的CNU时被置为有效值;
以及,预先为CLT设置对应的头端环路检测标记,所述头端环路检测标记在对应的CLT存在环路时被置为有效值。
8.一种环路检测装置,其特征在于,包括:
报文下发模块,周期性地向CLT下发环路检测报文、用以向CLT下连接的CNU转发;
报文检测模块,检测CLT是否接收到环回的环路检测报文,若检测出CLT接收到环回的环路检测报文则确定该CLT下存在环路;
次数判决模块,判断存在环路的CLT持续接收到环回的环路检测报文的次数是否已达到预定次数;
地址读取模块,若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则向存在环路的CLT下发第一EOC管理报文、用以读取存在环路的CLT下连接的CNU在用户端口上学习到的MAC地址;
第一定位模块,若从任意CNU读取到的MAC地址为环路检测报文的源MAC地址,则确定该CNU为环路所在的CNU;
终端阻塞模块,在确定出环路所在的CNU后,向存在环路的CLT下发第二EOC管理报文、用以将环路所在的CNU的用户端口阻塞;
头端阻塞模块,若存在环路的CLT持续接收到环回的环路检测报文的次数已达到预定次数,则阻塞存在环路的CLT。
9.根据权利要求8所述的装置,其特征在于,所述环路检测报文的目的MAC为保留MAC、源MAC为自定义值、报文类型为用于表示环路检测的值。
10.根据权利要求9所述的装置,其特征在于,所述环路检测报文进一步具有数据域;
所述报文下发模块向CLT下发的环路检测报文的数据域中携带有该CLT的MAC地址;
所述报文检测模块在CLT所接收到的所述环路检测报文的数据域中携带有该CLT的MAC地址时,认定该CLT接收到了环回的环路检测报文。
11.根据权利要求8所述的装置,其特征在于,所述次数判决模块所认定的持续接收为:当前接收到回环的环路检测报文与前一次接收到回环的环路检测报文之间的间隔小于预定时间。
12.根据权利要求8所述的装置,其特征在于,该装置进一步包括:
标记读取模块,若所述地址读取模块无法从存在环路的CLT下连接的任意CNU读取到MAC地址,则向存在环路的CLT下发第三EOC管理报文、用以检查该CNU所在终端设备中的寄存器标记位;
第二定位模块,若检查到的寄存器标记位为表示有环路的有效值,则确定该CNU为环路所在的CNU。
13.根据权利要求8所述的装置,其特征在于,该装置进一步包括:
终端复查模块,若存在环路的CLT持续接收到环回的环路检测报文的次数未达到预定次数,则在所述地指读取模块向存在环路的CLT下发第一EOC管理报文之前先向存在环路的CLT下发第四EOC管理报文、用以读取已被阻塞的CNU的用户端口的状态;
复查阻塞模块,若从已被阻塞的任意CNU读取的用户端口的状态为转发状态,则向存在环路的CLT下发第五EOC管理报文、用以已被阻塞但又恢复为转发状态的CNU的用户端口阻塞。
14.根据权利要求8至13中任一项所述的装置,其特征在于,该装置进一步包括:
终端标记模块,维护有预先为CNU对应设置的终端环路检测标记,所述终端环路检测标记在对应的CNU为环路所在的CNU时被置为有效值;
头端标记模块,维护有预先为CLT对应设置的头端环路检测标记,所述头端环路检测标记在对应的CLT存在环路时被置为有效值。
CN201110282201.1A 2011-09-20 2011-09-20 环路检测方法及装置 Active CN102281172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110282201.1A CN102281172B (zh) 2011-09-20 2011-09-20 环路检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110282201.1A CN102281172B (zh) 2011-09-20 2011-09-20 环路检测方法及装置

Publications (2)

Publication Number Publication Date
CN102281172A true CN102281172A (zh) 2011-12-14
CN102281172B CN102281172B (zh) 2013-11-06

Family

ID=45106369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110282201.1A Active CN102281172B (zh) 2011-09-20 2011-09-20 环路检测方法及装置

Country Status (1)

Country Link
CN (1) CN102281172B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546311A (zh) * 2012-03-14 2012-07-04 成都市广达电子电讯技术开发有限公司 一种在eoc设备上实现环路检测的方法
CN103780444A (zh) * 2012-10-19 2014-05-07 上海未来宽带技术股份有限公司 EoC网络中的环路自动检测装置及方法
CN104144082A (zh) * 2013-05-08 2014-11-12 杭州华三通信技术有限公司 二层网络中检测环路的方法及控制器
CN105162662A (zh) * 2015-09-25 2015-12-16 成都广达新网科技股份有限公司 一种eoc终端独立支持环路检测的方法
CN105471629A (zh) * 2015-11-17 2016-04-06 江苏亿通高科技股份有限公司 一种智能处理端口数据的终端
CN107508772A (zh) * 2016-06-14 2017-12-22 中兴通讯股份有限公司 一种实现以太网锁定信号功能的方法和系统
CN107612785A (zh) * 2017-10-31 2018-01-19 郑州云海信息技术有限公司 一种云平台管理方法及其装置
CN110601919A (zh) * 2019-09-12 2019-12-20 烽火通信科技股份有限公司 一种环回检测方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060013141A1 (en) * 2004-07-14 2006-01-19 Fujitsu Limited Loop frame detecting device and method for detecting loop frame
US20060126517A1 (en) * 2004-12-13 2006-06-15 Fujitsu Limited Loop detection method and device
US20070118595A1 (en) * 2004-03-25 2007-05-24 Vipin Jain Detecting loops between network devices by monitoring MAC moves
CN101222435A (zh) * 2008-02-02 2008-07-16 华为技术有限公司 一种检测网络出现环回的方法和设备
US20080267081A1 (en) * 2007-04-27 2008-10-30 Guenter Roeck Link layer loop detection method and apparatus
CN101707538A (zh) * 2009-11-25 2010-05-12 烽火通信科技股份有限公司 一种检测以太网环路并且自动恢复的方法
CN102055525A (zh) * 2010-12-17 2011-05-11 北京格林伟迪科技有限公司 环路检测和控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070118595A1 (en) * 2004-03-25 2007-05-24 Vipin Jain Detecting loops between network devices by monitoring MAC moves
US20060013141A1 (en) * 2004-07-14 2006-01-19 Fujitsu Limited Loop frame detecting device and method for detecting loop frame
US20060126517A1 (en) * 2004-12-13 2006-06-15 Fujitsu Limited Loop detection method and device
US20080267081A1 (en) * 2007-04-27 2008-10-30 Guenter Roeck Link layer loop detection method and apparatus
CN101222435A (zh) * 2008-02-02 2008-07-16 华为技术有限公司 一种检测网络出现环回的方法和设备
CN101707538A (zh) * 2009-11-25 2010-05-12 烽火通信科技股份有限公司 一种检测以太网环路并且自动恢复的方法
CN102055525A (zh) * 2010-12-17 2011-05-11 北京格林伟迪科技有限公司 环路检测和控制方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546311A (zh) * 2012-03-14 2012-07-04 成都市广达电子电讯技术开发有限公司 一种在eoc设备上实现环路检测的方法
CN103780444A (zh) * 2012-10-19 2014-05-07 上海未来宽带技术股份有限公司 EoC网络中的环路自动检测装置及方法
CN104144082A (zh) * 2013-05-08 2014-11-12 杭州华三通信技术有限公司 二层网络中检测环路的方法及控制器
CN104144082B (zh) * 2013-05-08 2017-10-27 新华三技术有限公司 二层网络中检测环路的方法及控制器
CN105162662A (zh) * 2015-09-25 2015-12-16 成都广达新网科技股份有限公司 一种eoc终端独立支持环路检测的方法
CN105471629A (zh) * 2015-11-17 2016-04-06 江苏亿通高科技股份有限公司 一种智能处理端口数据的终端
CN107508772A (zh) * 2016-06-14 2017-12-22 中兴通讯股份有限公司 一种实现以太网锁定信号功能的方法和系统
CN107508772B (zh) * 2016-06-14 2021-03-16 中兴通讯股份有限公司 一种实现以太网锁定信号功能的方法和系统
CN107612785A (zh) * 2017-10-31 2018-01-19 郑州云海信息技术有限公司 一种云平台管理方法及其装置
CN110601919A (zh) * 2019-09-12 2019-12-20 烽火通信科技股份有限公司 一种环回检测方法及系统

Also Published As

Publication number Publication date
CN102281172B (zh) 2013-11-06

Similar Documents

Publication Publication Date Title
CN102281172B (zh) 环路检测方法及装置
CN101707538B (zh) 一种检测以太网环路并且自动恢复的方法
CN104980372B (zh) 中继系统以及交换机装置
CN101262401B (zh) 一种环形网络中实现网络恢复的方法
CN103918226B (zh) 光网络系统
CN103560923B (zh) 分组传送网的网络故障快速定位方法
CN107040462A (zh) 路由方法和中间路由器
JP5065941B2 (ja) スイッチ装置およびネットワークシステム
CN103580886B (zh) 分组传送网络保护倒换装置和方法
CN104025522A (zh) 扩展基于openflow的分离式体系结构网络的网络功能性
CN102739816B (zh) 在mpls网络内的未编址设备通信
CN101127675A (zh) 以太环网系统主节点初始化方法
CN102577254A (zh) 故障安全通信的方法和系统
CN101529763A (zh) 链路聚合的禁用状态和状态信令
CN101094190B (zh) 以太环网保护控制报文的传输方法
CN102984064A (zh) 区分转发大象流的方法及系统
CN102684782A (zh) Epon系统的保护装置和数据冗余备份方法及监控方法
CN101252479A (zh) 一种环路检测方法和交换机
CN101072155A (zh) 用于以太网自动保护系统的单光纤故障处理方法
CN105144610B (zh) 光网络系统
CN102918809B (zh) 网络和扩展单元以及运行网络的方法
CN101022388A (zh) 用普通以太网技术构成自愈环的方法
CN106789387A (zh) 一种用于sdn的链路检测方法及装置
CN105763469A (zh) 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统
CN103747472B (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
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230620

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right