CN101699799B - 防止网络环路的方法、网络设备和生成树协议网络系统 - Google Patents

防止网络环路的方法、网络设备和生成树协议网络系统 Download PDF

Info

Publication number
CN101699799B
CN101699799B CN2009102064628A CN200910206462A CN101699799B CN 101699799 B CN101699799 B CN 101699799B CN 2009102064628 A CN2009102064628 A CN 2009102064628A CN 200910206462 A CN200910206462 A CN 200910206462A CN 101699799 B CN101699799 B CN 101699799B
Authority
CN
China
Prior art keywords
port
bpdu
message
sign
designated
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.)
Active
Application number
CN2009102064628A
Other languages
English (en)
Other versions
CN101699799A (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.)
Beijing Zhigu Tech Co Ltd
Original Assignee
Fujian Star Net Communication 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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN2009102064628A priority Critical patent/CN101699799B/zh
Publication of CN101699799A publication Critical patent/CN101699799A/zh
Application granted granted Critical
Publication of CN101699799B publication Critical patent/CN101699799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例提供一种防止网络环路的方法、网络设备和生成树协议网络系统,所述防止网络环路的方法包括:通过处于转发状态的指定端口发送携带第一标识的网桥协议数据单元BPDU请求报文至与所述指定端口连接的端口,所述第一标识用于请求所述与所述指定端口连接的端口是否为阻塞端口;在接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内未接收到BPDU响应报文之后,如果接收到非BPDU报文的报文,则将所述指定端口置为阻塞状态,所述第二标识用于标识所述与所述指定端口连接的端口是阻塞端口。本发明实施例实现了在局部STP组网故障导致处于阻塞状态的端口转发报文的情况下,防止网络环路的产生。

Description

防止网络环路的方法、网络设备和生成树协议网络系统
技术领域
本发明实施例涉及网络通信技术领域,尤其涉及一种防止网络环路的方法、网络设备和生成树协议网络系统。
背景技术
通常情况下,为了提高网络的可靠性,在部署网络时通常会部署冗余链路。图1为现有技术一种网络拓扑的示意图,如图1所示,个人电脑1(Personal Computer 1;以下简称:PC1)要与PC2通信时,可以通过两条链路,一条链路是依次通过设备1和设备2:A->B,另一条链路是依次通过设备1、设备3和设备2:E->F->D->C。这样,在一条链路出问题的时候,例如:图1中的A->B链路发生故障时,PC1和PC2可以通过另一条链路E->F->D->C进行通信。
然而网络中冗余链路的存在会导致网络拓扑中形成环路,从而形成报文广播风暴,阻碍正常通信。现有技术通常采用生成树协议(Spanning TreeProtocol;以下简称:STP)解决网络拓扑中形成环路,导致报文广播风暴的问题,在网络设备运行STP后,STP会进行生成树的选举,网络中某些端口在选举后会进入阻塞(blocking)状态,进入阻塞状态的端口不允许转发报文,从而避免了网络拓扑中出现环路。
例如:可以通过运行STP,选举使得图1中设备1的E口处于阻塞状态,处于阻塞状态的端口不允许转发报文,即图1中的E口不再转发报文,从而阻断环路。但是在实际的应用中,经常会出现处于阻塞状态的端口转发报文的情况,这主要是由于网络设备的工作环境比较恶劣,有时网络设备的CPU使用率会长时间处于很高的状态,内存资源也会不足,这有可能导致一些该送CPU处理的网桥协议数据单元(Bridge Protocol DataUnit;以下简称:BPDU)报文被错误的丢弃,没有得到及时的处理,于是导致网络设备对处于阻塞状态的端口的处理出现错误;或者由于STP功能的不稳定,而导致端口的阻塞状态没有设置成功;另外网络设备接收到的协议类的报文,都需要送往CPU处理,但是协议类的报文有可能被进程误从处于阻塞状态的端口转发出去,并且由于协议类报文的数目非常多,因此很难进行穷举性的测试;还有当网络拓扑中的某台网络设备出现故障时,也会导致处于阻塞状态的端口转发报文,影响整个网络的正常使用。以上这些原因都会导致处于阻塞状态的端口转发报文,而STP本身无法预防这种情况下的环路。一旦网络中出现环路,会给网络带来极为严重的后果,甚至会导致大面积的网络瘫痪。
发明内容
本发明实施例提供一种防止网络环路的方法、网络设备和生成树协议网络系统,以在局部STP组网故障导致处于阻塞状态的端口转发报文的情况下,确保网络无环路。
本发明实施例提供一种防止网络环路的方法,包括:
通过处于转发状态的指定端口发送携带第一标识的网桥协议数据单元BPDU请求报文至与所述指定端口连接的端口,所述第一标识用于请求所述与所述指定端口连接的端口是否为阻塞端口;
在接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内未接收到BPDU响应报文之后,如果接收到非BPDU报文的报文,则将所述指定端口置为阻塞状态,所述第二标识用于标识所述与所述指定端口连接的端口是阻塞端口。
本发明实施例还提供一种网络设备,包括:
发送模块,用于通过处于转发状态的指定端口发送携带第一标识的网桥协议数据单元BPDU请求报文至与所述指定端口连接的端口,所述第一标识用于请求所述与所述指定端口连接的端口是否为阻塞端口;
接收模块,用于接收报文;
设置模块,用于在所述接收模块接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内所述接收模块未接收到BPDU响应报文之后,如果所述接收模块接收到非BPDU报文的报文,将所述指定端口置为阻塞状态,所述第二标识用于标识所述与所述指定端口连接的端口是阻塞端口。
本发明实施例还提供一种生成树协议网络系统,包括至少三个网络设备。
通过本发明实施例,网络设备发送携带第一标识的BPDU请求报文至与指定端口连接的端口,在接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内未接收到BPDU响应报文之后,如果接收到非BPDU报文的报文,则将指定端口置为阻塞状态;从而实现了在局部STP组网故障导致处于阻塞状态的端口转发报文的情况下,防止网络环路的产生。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术一种网络拓扑的示意图;
图2为本发明STP网络一个实施例的结构示意图;
图3为本发明防止网络环路的方法一个实施例的流程图;
图4为本发明防止网络环路的方法另一个实施例的流程图;
图5为本发明BPDU报文一个实施例的结构示意图;
图6为本发明恢复指定端口的状态一个实施例的流程图;
图7为本发明网络设备一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
正常情况下,运行STP的网络设备,例如:网桥或交换机在规定的时间间隔(默认2秒)内通过BPDU的组播帧与其他网络设备交换配置信息,进行生成树选举。BPDU组播帧携带了生成树选举中用到的重要参数:根标识(Identifier;以下简称:ID)、根路径开销、网桥ID和端口ID;其中,根ID是根网桥的网桥ID,根路径开销是到达根网桥的STP开销,网桥ID是BPDU发送网桥ID,端口ID是BPDU发送网桥端口ID。
具体选举的过程包括:
1、根桥选举:通过比较网桥ID选取ID最小的网桥为根网桥,一般网络中只会有一个根网桥。
网桥ID由网桥优先级和网桥的媒体接入控制(Media Access Control;以下简称:MAC)地址组成,网桥ID越小的,BPDU越优。在初始状态,进行STP选举的网络设备分别以自己为根网桥,发送BPDU,然后各网络设备将接收到的BPDU中的网桥ID与该网络设备发送的BPDU中的网桥ID进行比较,如果接收到的BPDU中的网桥ID的优先级高,则保存接收到的BPDU中携带的参数,更新根路径开销后,以更新后的BPDU信息继续向外扩散;如果接收到的BPDU中的网桥ID的优先级比自己的低,则丢弃接收到的BPDU,并发送该网络设备的更高优先级的BPDU进行回应;如果接收到的BPDU中的网桥ID与该网络设备发送的BPDU中的网桥ID的优先级相同,则比较MAC地址的大小。
图2为本发明STP网络一个实施例的结构示意图,如图2所示,设备1、设备2和设备3最开始都会以自己为根网桥发送BPDU给链路上的网络设备。设备2接收到设备1和设备3发送的BPDU之后,会将设备1和设备3发送的BPDU与设备2发送的BPDU进行对比,如果三台设备都使用相同的优先级(假设优先级均为8000),但设备2具有最低MAC地址(假设:设备2的MAC地址为00:00:0c:aa:aa:aa;设备3的MAC地址为00:00:0c:bb:bb:bb;设备1的MAC地址为00:00:0c:cc:cc:cc,其中设备2的MAC地址00:00:0c:aa:aa:aa是最小的),这时设备2将发送自己的BPDU进行回应。而设备1和设备3接收到设备2的BPDU后,同样比较BPDU中网桥ID的优先级和MAC地址,发现优先级一样,设备2的MAC地址更低,故选举设备2为根网桥,设备1和设备3为非根桥。
2、根端口(Root Port)选举:根端口为非根桥到根桥的路径最短的端口。
如图2所示,设备2为根桥,设备1和设备3为非根桥,设备1和设备3到设备2路径最短的端口分别是A口和D口,所以设备1的A口被选举为根端口,设备3的D口也被选举为Root Port。
3、指定端口(Designated Port)选举
首先,根桥所有的端口均为指定端口,所以图2中设备2的端口B和端口C被选举为指定端口。
设备1和设备3通过对比各自收到的BPDU和自身发出的BPDU,端口E和端口F中将有一个端口被选举为指定,过程如下:
(1)比较根网桥ID;根网桥ID相同,设备1和设备3都是以设备2为根网桥;
(2)比较到根网桥的根路径开销;到根网桥的根路径开销是以路径中所有链路的带宽为基础而累加的总路径开销:假设图2中局域网1(LocalArea Network 1;以下简称:LAN1)、LAN2和LAN3每个链路的开销均是100,因此设备1和设备3到根网桥的开销都为100,进行下一步比较;
(3)比较发送方的网桥ID;设备1和设备3的网桥ID具有相同的优先级(均为8000),因此具有更低MAC地址的网桥就具有最低的网桥ID。图2中设备3具有更低的MAC地址,因此设备1和设备3发送的BPDU中,设备3发送的BPDU更优。
综上所述,设备3的端口F被选举为指定端口,设备1的端口E被选举为根端口的替换端口(Alternate Port)。
下面对STP网络中各端口的角色和端口状态进行说明。
1、端口角色
根端口:非根网桥到根网桥的最低开销路径的端口,例如:图2中的端口A和端口D;
指定端口:每个LAN通过该端口连接到根桥,例如:图2中的端口B、端口C和端口F;
根端口的替换端口:一旦根端口失效,根端口的替换端口立刻变为根端口。
2、端口状态
阻塞状态:不对帧进行转发,也不进行源MAC地址学习,但却监听流入的BPDU;
学习(learning)状态:不对接收到的帧进行转发,但进行源MAC地址学习,是转发(forwarding)状态的过渡;
转发状态:既对接收到的帧进行转发,也进行源MAC地址的学习。
正常情况下,根端口和指定端口处于转发,根端口的替换端口处于阻塞状态,处于阻塞状态的端口是不转发报文的。因此图2所示STP网络经过生成树选举之后,设备1的端口E进入阻塞,打断了环路。
图2中,A(R,F)表示设备1的端口A被选举为根端口,并且处于转发状态;
E(A,Block)表示设备1的端口E被选举为根端口的替换端口,并且处于阻塞状态;
B(D,F)表示设备2的端口B被选举为指定端口,并且处于转发状态;
C(D,F)表示设备2的端口C被选举为指定端口,并且处于转发状态;
D(R,F)表示设备3的端口D被选举为根端口,并且处于转发状态;
F(D,F)表示设备3的端口F被选举为指定端口,并且处于转发状态。
总的来说,通过生成树选举,使得设备1的端口E处于阻塞状态,处于阻塞状态的端口不允许转发报文,从而可以阻断网络环路。但是在实际的应用中,经常会出现处于阻塞状态的端口转发报文的情况,这说明处于阻塞状态的端口对应的网络设备的软件或硬件发生了故障,这将导致网络出现环路。本发明实施例提供一种防止网络环路的方法,能够在局部STP组网故障导致处于阻塞状态的端口转发报文的情况下,确保网络无环路。
图3为本发明防止网络环路的方法一个实施例的流程图,如图3所示,本实施例可以包括:
步骤301,通过处于转发状态的指定端口发送携带第一标识的BPDU请求报文至与指定端口连接的端口,该第一标识用于请求与指定端口连接的端口是否为阻塞端口。
本实施例中,网络设备可以通过处于转发状态的指定端口周期性发送携带第一标识的BPDU请求报文至与该指定端口连接的端口;其中,可以将该周期设为2秒。
步骤302,在接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内未接收到BPDU响应报文之后,如果接收到非BPDU报文的报文,则将上述指定端口置为阻塞状态;其中,第二标识用于标识与指定端口连接的端口是阻塞端口。
本实施例中,第一预定时间为预计网络设备能收到BPDU响应报文的时间,从该网络设备发出携带第一标识的BPDU请求报文的时刻开始计时,可以将第一预定时间设置为4秒。
上述实施例中,网络设备发送携带第一标识的BPDU请求报文至与指定端口连接的端口,在接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内未接收到BPDU响应报文之后,如果接收到非BPDU报文的报文,则将指定端口置为阻塞状态;从而实现了在局部STP组网故障导致处于阻塞状态的端口转发报文的情况下,防止网络环路的产生。
图4为本发明防止网络环路的方法另一个实施例的流程图,本实施例通过在现有的BPDU报文中添加标志(flag)字段,建立请求、响应的机制,网络设备请求与该网络设备的指定端口连接的端口是否为阻塞端口,如果接收到的响应为与指定端口连接的端口是阻塞端口,则判断是否收到了非BPDU报文的报文,如果接收到了非BPDU报文的报文,则将该网络设备的指定端口置为阻塞状态,以防止网络环路的产生。
图5为本发明BPDU报文一个实施例的结构示意图。按照802.1d规定,BPDU报文的第五字节,即flag字段的第二位到第五位保留,取值为0。本实施例通过将该保留字段的前两位,即将flag字段的第二位和第三位设置为不同的值,建立请求和响应机制,并使BPDU报文携带不同的标识,具体设置如下:
“00”:正常生成树选举过程中保持为0;
“10”:BPDU请求报文,用于请求与指定端口连接的端口是否为阻塞端口,即第一标识;
“21”:BPDU响应报文,用于标识与指定端口连接的端口是阻塞端口,即第二标识;
“20”:BPDU响应报文,用于标识与指定端口连接的端口不是阻塞端口,即第三标识。
如图4所示,本实施例可以包括:
步骤401,网络设备通过处于转发状态的指定端口发送携带第一标识的BPDU请求报文至与该指定端口连接的端口,请求与指定端口连接的端口是否为阻塞端口。
本实施例中,第一标识为“10”;网络设备可以周期性发送携带第一标识的BPDU请求报文至与该指定端口连接的端口;其中,可以将该周期设为2秒。
在网络设备发出BPDU请求报文的同时,网络设备启动定时器,该定时器的时间为第一预定时间,该第一预定时间可以进行配置,可以为预计该网络设备能接收到BPDU响应报文的时间,从该网络设备发出携带第一标识的BPDU请求报文的时刻开始计时,可以将第一预定时间,即定时器的时间设置为4秒。
步骤402,对接收到的BPDU响应报文的flag字段进行分析,判断接收到的BPDU响应报文携带的是第二标识,还是第三标识。
本实施例中,与指定端口连接的端口接收到携带第一标识的BPDU请求报文之后,会发送携带第二标识或第三标识的BPDU响应报文,其中,第二标识用于标识与指定端口连接的端口是阻塞端口,为“21”;第三标识用于标识与指定端口连接的端口不是阻塞端口,为“20”。
具体地,如果网络设备接收到携带第二标识的BPDU响应报文,或者,在定时器超时后,如果网络设备仍未收到BPDU响应报文,则执行步骤403~步骤404;
如果网络设备接收到携带第三标识的BPDU响应报文,执行步骤405。
本实施例中,在接收到携带第二标识的BPDU响应报文之后,网络设备开始判断该网络设备是否接收到非BPDU报文的报文,如果该网络设备未收到非BPDU报文的报文,并且接下来接收到了携带第三标识的BPDU响应报文,则该网络设备不再判断是否接收到了非BPDU报文的报文。
步骤403,判断是否接收到非BPDU报文的报文。如果是,则执行步骤404;如果网络设备未接收到非BPDU报文的报文,则执行步骤405。
步骤404,将上述指定端口置为阻塞状态。
步骤405,保持上述指定端口处于转发状态。
上述实施例中,通过设置BPDU报文的flag字段,建立请求和响应的机制,网络设备可以及时获取对端网络设备的端口的状态,可以主动预防网络环路的发生,包括网络拓扑中某台网络设备发生故障,即局部STP组网故障而导致的环路。
本发明实施例中,在故障解除之后,还需要将网络设备的指定端口的状态恢复为转发状态,图6为本发明恢复指定端口的状态一个实施例的流程图,如图6所示,该实施例包括:
步骤601,网络设备继续通过处于阻塞状态的指定端口发送携带第一标识的BPDU请求报文至与该指定端口连接的端口。
本实施例中,在网络设备的指定端口被置为阻塞状态之后,网络设备仍然继续通过该处于阻塞状态的指定端口发送携带第一标识的BPDU请求报文至与该指定端口连接的端口,该第一标识用于请求与该指定端口连接的端口是否为阻塞端口。具体地,网络设备可以周期性地发送携带第一标识的BPDU请求报文,可以将该周期设为2秒。
步骤602,判断是否接收到携带第三标识的BPDU响应报文;该第三标识用于标识与上述指定端口连接的端口不是阻塞端口。如果接收到,则执行步骤604;如果没有接收到携带第三标识的BPDU响应报文,则执行步骤603。
步骤603,判断网络设备在第二预定时间内是否接收到非BPDU报文的报文。如果该网络设备在第二预定时间内接收到非BPDU报文的报文,则返回执行步骤602;如果该网络设备在第二预定时间内未接收到非BPDU报文的报文,则执行步骤604。
本实施例中,第二预定时间从上述指定端口被置为阻塞状态的时刻开始计时,可以将第二预定时间设为60秒。
步骤604,将该网络设备的指定端口的状态恢复为转发状态。
上述实施例实现了在故障解除之后,恢复网络设备的指定端口的状态,从而实现了及时恢复网络拓扑。
本发明实施例提供了一种防止网络环路的方法,在图2所示网络中,本发明实施例提供的防止网络环路的方法的实施过程为:
图2中,端口B、端口C和端口F为指定端口,周期性的发出携带第一标识,即“10”字段的BPDU请求报文;
端口A、端口D和端口E接收到BPDU请求报文之后,将发出BPDU响应报文进行应答。不同的是,端口A和端口D为根端口,所以发出的BPDU响应报文携带第三标识,即携带字段“20”;而端口E为阻塞端口,故发出的BPDU响应报文携带第二标识,即携带字段“21”;
端口B和端口C收到携带第三标识的BPDU响应报文之后,保持端口B和端口C处于转发状态。而端口F收到携带第二标识的BPDU响应报文,开始判断自己是否接收到了非BPDU报文的报文,一旦收到,立即将端口F置为阻塞状态;
如果在定时器有效时间,即第一预定时间内,端口B、端口C和端口F中的任何一个端口没有收到BPDU响应报文,则相应的端口将开始判断是否收到了非BPDU报文的报文,其中,第一预定时间为预计能收到BPDU响应报文的时间,从该网络设备发出携带第一标识的BPDU请求报文的时刻开始计时,可以将第一预定时间设置为4秒。若没收到,则可以保持端口B、端口C和端口F处于转发状态;若收到非BPDU报文的报文,则将收到非BPDU报文的报文的端口置为阻塞状态。
假设端口F被置为阻塞状态,那么端口F将判断是否收到携带第三标识的BPDU响应报文,如果没有接收到携带第三标识的BPDU响应报文,并且在第二预定时间,例如:60秒内收到了非BPDU报文的报文,则继续保持端口F的阻塞状态,其中,第二预定时间从端口F被置为阻塞状态的时刻开始计时;如果没有接收到携带第三标识的BPDU响应报文,并且在第二预定时间,例如:60秒内也没有收到非BPDU报文的报文,或者,端口F接收到了携带第三标识的BPDU响应报文,则解除端口F的阻塞状态,将端口F的状态恢复为转发状态。
端口F处于阻塞状态时仍旧会周期性的向端口E发送携带第一标识的BPDU请求报文。如果后面生成树重新进行了选举,端口E不是阻塞端口了,则端口E会用携带第三标识的BPDU响应报文进行应答,端口F接收到携带第三标识的BPDU响应报文之后,确定与端口F相连的端口不是阻塞端口,则解除端口F的阻塞状态,恢复端口F为转发状态。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图7为本发明网络设备一个实施例的结构示意图,本实施例的网络设备7可以实现本发明图3、图4或图6所示实施例的流程,如图7所示,该网络设备7可以包括:发送模块71、接收模块72、设置模块73和状态保持模块74。
其中,发送模块71,用于通过处于转发状态的指定端口发送携带第一标识的BPDU请求报文至与所述指定端口连接的端口,该第一标识用于请求与上述指定端口连接的端口是否为阻塞端口;
接收模块72,用于接收报文;
设置模块73,用于在接收模块72接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内接收模块72未接收到BPDU响应报文之后,如果接收模块72接收到非BPDU报文的报文,将指定端口置为阻塞状态,该第二标识用于标识与上述指定端口连接的端口是阻塞端口。其中,第一预定时间为预计网络设备能收到BPDU响应报文的时间,从发送模块71发出携带第一标识的BPDU请求报文的时刻开始计时,可以将第一预定时间设置为4秒。
上述网络设备7还可以进一步包括:状态保持模块74,用于在接收模块72接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内接收模块72未接收到BPDU响应报文之后,如果接收模块72没有接收到非BPDU报文的报文,保持上述指定端口处于转发状态;或者,在接收模块72接收到携带第三标识的BPDU响应报文之后,保持上述指定端口处于转发状态,该第三标识用于标识与指定端口连接的端口不是阻塞端口。
本实施例中,发送模块71还用于继续通过处于阻塞状态的指定端口发送携带第一标识的BPDU请求报文至与指定端口连接的端口;
设置模块73还用于在接收模块72接收到携带第三标识的BPDU响应报文之后,或者,在接收模块72没有接收到携带第三标识的BPDU响应报文,并且在第二预定时间内接收模块72未接收到非BPDU报文的报文之后,将指定端口的状态恢复为转发状态;该第三标识用于标识与指定端口连接的端口不是阻塞端口。其中,第二预定时间从上述指定端口被置为阻塞状态的时刻开始计时,可以将第二预定时间设为60秒。
具体地,本实施例中,发送模块71可以周期性发送携带第一标识的BPDU请求报文至与指定端口连接的端口,可以将该周期设为2秒。
另外,第一标识、第二标识和第三标识的设置方法可以采用本发明图5所示实施例提供的方法,在此不再赘述。
上述实施例中,发送模块71发送携带第一标识的BPDU请求报文至与指定端口连接的端口,在接收模块72接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内接收模块72未接收到BPDU响应报文之后,如果接收模块72接收到非BPDU报文的报文,则将指定端口置为阻塞状态;从而实现了在局部STP组网故障导致处于阻塞状态的端口转发报文的情况下,防止网络环路的产生。
本发明实施例还提供一种生成树协议网络系统,包括至少三个网络设备,该网络设备可以通过本发明图7所示实施例的网络设备实现,该生成树协议网络系统的一个实例可以如图2所示。
本发明实施例提供一种防止网络环路的方法、网络设备和生成树协议网络系统,采取主动请求和应答的机制,网络设备可以及时获取与该网络设备连接的端口的状态,可以主动预防网络环路的发生,在出现阻塞端口转发报文的情况时,能够确保网络无环路;并且在故障解决之后,网络拓扑也能及时恢复。本发明实施例很好地解决了现有的STP网络中由于种种原因而导致网络设备端口处理出错而发生网络环路的问题,而且,本发明实施例是在发生故障的网络设备的对端设备上进行处理,可靠性较高。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种防止网络环路的方法,其特征在于,包括:
通过处于转发状态的指定端口发送携带第一标识的网桥协议数据单元BPDU请求报文至与所述指定端口连接的端口,所述第一标识用于请求所述与所述指定端口连接的端口是否为阻塞端口;
在接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内未接收到BPDU响应报文之后,如果接收到非BPDU报文的报文,则将所述指定端口置为阻塞状态,所述第二标识用于标识所述与所述指定端口连接的端口是阻塞端口。
2.根据权利要求1所述的方法,其特征在于,还包括:
继续通过处于阻塞状态的指定端口发送携带第一标识的BPDU请求报文至与所述指定端口连接的端口;
在接收到携带第三标识的BPDU响应报文之后,或者,在没有接收到携带第三标识的BPDU响应报文,并且在第二预定时间内未接收到非BPDU报文的报文之后,将所述指定端口的状态恢复为转发状态;所述第三标识用于标识所述与所述指定端口连接的端口不是阻塞端口。
3.根据权利要求1或2所述的方法,其特征在于,所述发送携带第一标识的BPDU请求报文至与所述指定端口连接的端口包括:
周期性发送携带第一标识的BPDU请求报文至与所述指定端口连接的端口。
4.根据权利要求1所述的方法,其特征在于,还包括:
在接收到携带第二标识的BPDU响应报文之后,或者,在所述第一预定时间内未接收到BPDU响应报文之后,如果没有接收到非BPDU报文的报文,则保持所述指定端口处于转发状态;或者,
在接收到携带第三标识的BPDU响应报文之后,保持所述指定端口处于转发状态,所述第三标识用于标识所述与所述指定端口连接的端口不是阻塞端口。
5.一种网络设备,其特征在于,包括:
发送模块,用于通过处于转发状态的指定端口发送携带第一标识的网桥协议数据单元BPDU请求报文至与所述指定端口连接的端口,所述第一标识用于请求所述与所述指定端口连接的端口是否为阻塞端口;
接收模块,用于接收报文;
设置模块,用于在所述接收模块接收到携带第二标识的BPDU响应报文之后,或者,在第一预定时间内所述接收模块未接收到BPDU响应报文之后,如果所述接收模块接收到非BPDU报文的报文,将所述指定端口置为阻塞状态,所述第二标识用于标识所述与所述指定端口连接的端口是阻塞端口。
6.根据权利要求5所述的网络设备,其特征在于,
所述发送模块还用于继续通过处于阻塞状态的指定端口发送携带第一标识的BPDU请求报文至与所述指定端口连接的端口;
所述设置模块还用于在所述接收模块接收到携带第三标识的BPDU响应报文之后,或者,在所述接收模块没有接收到携带第三标识的BPDU响应报文,并且在第二预定时间内所述接收模块未接收到非BPDU报文的报文之后,将所述指定端口的状态恢复为转发状态;所述第三标识用于标识所述与所述指定端口连接的端口不是阻塞端口。
7.根据权利要求5或6所述的网络设备,其特征在于,所述发送模块具体用于周期性发送携带第一标识的BPDU请求报文至与所述指定端口连接的端口。
8.根据权利要求5所述的网络设备,其特征在于,还包括:
状态保持模块,用于在所述接收模块接收到携带第二标识的BPDU响应报文之后,或者,在所述第一预定时间内所述接收模块未接收到BPDU响应报文之后,如果所述接收模块没有接收到非BPDU报文的报文,保持所述指定端口处于转发状态;或者,在所述接收模块接收到携带第三标识的BPDU响应报文之后,保持所述指定端口处于转发状态,所述第三标识用于标识所述与所述指定端口连接的端口不是阻塞端口。
9.一种生成树协议网络系统,其特征在于,包括至少三个根据权利要求5-8任意一项所述的网络设备。
CN2009102064628A 2009-11-13 2009-11-13 防止网络环路的方法、网络设备和生成树协议网络系统 Active CN101699799B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102064628A CN101699799B (zh) 2009-11-13 2009-11-13 防止网络环路的方法、网络设备和生成树协议网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102064628A CN101699799B (zh) 2009-11-13 2009-11-13 防止网络环路的方法、网络设备和生成树协议网络系统

Publications (2)

Publication Number Publication Date
CN101699799A CN101699799A (zh) 2010-04-28
CN101699799B true CN101699799B (zh) 2012-07-25

Family

ID=42148244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102064628A Active CN101699799B (zh) 2009-11-13 2009-11-13 防止网络环路的方法、网络设备和生成树协议网络系统

Country Status (1)

Country Link
CN (1) CN101699799B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244599B (zh) * 2010-05-11 2014-04-02 华为技术有限公司 防止或消除数据环路的方法以及网络节点和网络系统
CN101958831B (zh) * 2010-06-10 2013-03-13 福建星网锐捷网络有限公司 以太环网故障恢复方法、以太环网及交换设备
CN102355364A (zh) * 2011-08-15 2012-02-15 杭州华三通信技术有限公司 一种单通故障的检测方法和设备
CN102710444A (zh) * 2012-06-06 2012-10-03 北京星网锐捷网络技术有限公司 一种端口连接关系确定方法、装置及系统
CN102780614B (zh) * 2012-07-12 2015-06-17 福建星网锐捷网络有限公司 生成树协议布线组功能启用方法、设备及系统
CN103457778B (zh) * 2013-09-09 2017-02-15 华为技术有限公司 以太网交换网络的通信方法和设备
CN104486164B (zh) * 2014-12-26 2017-12-08 新华三技术有限公司 一种链路故障检测方法和装置
CN104702499A (zh) * 2015-02-11 2015-06-10 杭州华三通信技术有限公司 一种判断本地网络生成环路的方法和设备
CN105610670B (zh) * 2015-12-29 2019-02-05 北京华为数字技术有限公司 以太网交换网络的通信方法和装置
CN106789389B (zh) * 2016-04-15 2020-07-03 新华三技术有限公司 一种防止产生环路的方法及装置
JP6761510B1 (ja) * 2019-05-28 2020-09-23 コイト電工株式会社 通信装置
CN111464436B (zh) * 2020-04-03 2022-02-01 中电科航空电子有限公司 一种解决rstp协议单端口环路的方法
CN111478778B (zh) * 2020-04-03 2021-11-02 中电科航空电子有限公司 一种降低rstp环网功耗方法及其应用
CN112688867B (zh) * 2020-12-22 2022-07-12 浪潮思科网络科技有限公司 一种mlag环境中运行生成树协议的方法、装置、设备及介质
CN114205207A (zh) * 2021-11-02 2022-03-18 武汉光迅信息技术有限公司 一种网络管理方法、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1412980A (zh) * 2002-11-08 2003-04-23 华为技术有限公司 一种网桥之间的数据传输方法
CN1599373A (zh) * 2004-07-21 2005-03-23 港湾网络有限公司 防止快速状态转换时产生临时环路的方法
CN101068185A (zh) * 2007-06-19 2007-11-07 中兴通讯股份有限公司 以太环网报文处理方法及应用该方法的以太环网保护系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1412980A (zh) * 2002-11-08 2003-04-23 华为技术有限公司 一种网桥之间的数据传输方法
CN1599373A (zh) * 2004-07-21 2005-03-23 港湾网络有限公司 防止快速状态转换时产生临时环路的方法
CN101068185A (zh) * 2007-06-19 2007-11-07 中兴通讯股份有限公司 以太环网报文处理方法及应用该方法的以太环网保护系统

Also Published As

Publication number Publication date
CN101699799A (zh) 2010-04-28

Similar Documents

Publication Publication Date Title
CN101699799B (zh) 防止网络环路的方法、网络设备和生成树协议网络系统
US7173934B2 (en) System, device, and method for improving communication network reliability using trunk splitting
US7869376B2 (en) Communicating an operational state of a transport service
CN101189837B (zh) 分组环网络系统、分组转发方法和节点
US8667095B2 (en) Local auto-configuration of network devices connected to multipoint virtual connections
US8270306B2 (en) Fault management apparatus and method for identifying cause of fault in communication network
CN102316016B (zh) 组播流量的转发方法及装置
CN100555948C (zh) 一种用于在堆栈交换机系统内耦合的交换设备
CN101414949B (zh) 一种链式数据传输方法、节点及系统
US7724649B2 (en) Method and device for making uplink standby
US7447222B2 (en) Automated path tracing through switching mesh
US20140185429A1 (en) Communication system, path switching method and communication device
CN103944828A (zh) 一种协议报文的传输方法和设备
CN101252503B (zh) 环网的业务倒换方法和装置
EP2178249B1 (en) Method of redundancy of ring network
JP2008167315A (ja) 回線冗長接続方法および広域通信網ノード装置
US7496382B2 (en) Communication system and its terminal
CN112653575A (zh) 一种网络配置方法、控制器及流量引导系统
JP4093999B2 (ja) トラフィック過負荷状態の間のスパニングツリーループを防止する方法および装置
JP5491623B2 (ja) アドレスのリフレッシュ方法及びシステム
CN107547374B (zh) 一种聚合路由处理方法和装置
CN102265561B (zh) 通信管理装置、通信装置以及通信方法
CN109167742A (zh) 双归属协议部署系统、方法、装置、交换机和存储介质
CN102882779A (zh) Vrrp通告链路保护方法及系统
CN102404143A (zh) 基于lacp的端口故障处理方法和lacp终端

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
ASS Succession or assignment of patent right

Owner name: BEIJING Z-GOOD TECHNOLOGY SERVICE CO., LTD.

Free format text: FORMER OWNER: FUJIAN XINGWANGRUIJIE NETWORK CO., LTD.

Effective date: 20141222

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 350002 FUZHOU, FUJIAN PROVINCE TO: 100085 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20141222

Address after: 100085 Beijing city Haidian District No. 33 Xiaoying Road 1 1F06 room

Patentee after: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park building 19#

Patentee before: Fujian Xingwangruijie Network Co., Ltd.

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100428

Assignee: Fujian Xingwangruijie Network Co., Ltd.

Assignor: BEIJING ZHIGU TECHNOLOGY SERVICES CO., LTD.

Contract record no.: 2015990000029

Denomination of invention: Method and network equipment for preventing network loop and spanning tree protocol network system

Granted publication date: 20120725

License type: Common License

Record date: 20150116

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model