CN105704020B - 环路避免方法,设备和系统 - Google Patents
环路避免方法,设备和系统 Download PDFInfo
- Publication number
- CN105704020B CN105704020B CN201410687509.8A CN201410687509A CN105704020B CN 105704020 B CN105704020 B CN 105704020B CN 201410687509 A CN201410687509 A CN 201410687509A CN 105704020 B CN105704020 B CN 105704020B
- Authority
- CN
- China
- Prior art keywords
- network equipment
- root
- ethernet port
- priority
- type
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本发明涉及通信领域,尤其涉及一种环路避免方法,设备和系统。该系统包括内部网络中的第一和第二网络设备,两个网络设备各自的第一以太网端口和第二以太网端口为第一类型,环路避免优先级分别为第一和第二环路避免优先级;两个网络设备的根MAC地址相同,和各自的网桥MAC地址不同;第二网络设备通过第二以太网端口接收来自第一以太网端口的源地址为根MAC地址的环路检测帧,根据环路避免优先级阻塞第二以太网端口。由于网络设备根据环路避免优先级阻塞类型为第一类型,即与外部网络连接的以太网端口,避免了改变内部网络的拓扑。
Description
技术领域
本发明涉及通信领域,尤其涉及一种环路避免方法,设备和系统。
背景技术
网络交换机(英文:network switch)是计算机网络上,用包交换把数据转发到目的设备,从而将设备连接起来的计算机网络设备。网络交换机一般是介质访问控制(英文:media access control,缩写:MAC)桥(英文:bridge)。MAC桥是在数据链路层(英文:datalink layer)处理和转发数据的多端口网桥(英文:network bridge)。数据链路层网络中的网络交换机通常使用生成树协议(英文:Spanning Tree Protocol,缩写:STP)或快速生成树协议(英文:Rapid Spanning Tree Protocol,缩写:RSTP)以为桥接的以太网(英文:Ethernet)局域网(英文:local area network,缩写:LAN)确保无环(英文:loop-free)的拓扑。
然而,STP或其他种类的破环协议不区分组织内部使用的内部网络(英文:internal network)和外部的其他网络。这样可能存在外部的网络错误连接导致内部网络拓扑变化的情况。
发明内容
本发明实施例提供一种环路避免方法,设备和系统,以解决外部的网络错误连接导致内部网络拓扑变化的问题。
第一方面,提供了一种环路避免系统,包括第一网络设备和第二网络设备,所述第一网络设备和所述第二网络设备都在内部网络中,所述内部网络为拓扑被保证为无环的网络;
所述第一网络设备的第一以太网端口的类型为第一类型,所述第一以太网端口的环路避免优先级为第一环路避免优先级,所述第一网络设备的根介质访问控制MAC地址和所述第一网络设备的网桥MAC地址不同;
所述第二网络设备的第二以太网端口的类型为第一类型,所述第二以太网端口的环路避免优先级为第二环路避免优先级,所述第二网络设备的根MAC地址和所述第二网络设备的网桥MAC地址不同,所述第二网络设备的根MAC地址和所述第一网络设备的根MAC地址相同;
其中,
所述第一网络设备,用于通过所述第一以太网端口发送环路检测帧,所述环路检测帧包括所述第一环路避免优先级,所述环路检测帧的源地址为所述第一网络设备的所述根MAC地址;
所述第二网络设备,用于通过所述第二以太网端口接收所述环路检测帧,如果所述第一环路避免优先级高于所述第二环路避免优先级,阻塞所述第二以太网端口,所述第二网络设备,还用于丢弃所述环路检测帧。
结合第一方面,在第一方面的第一种实现中,所述第一网络设备的第三以太网端口的类型为第二类型,所述系统还包括第三网络设备,所述第三网络设备在内部网络中,所述第三网络设备的第四以太网端口的类型为第二类型;
所述第一网络设备还用于通过所述第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述第一网络设备的根MAC地址和所述第一网络设备的根优先级;
所述第三网络设备,用于通过第四以太网端口接收所述第一根协商帧,如果所述第一网络设备的根优先级高于所述第三网络设备的根优先级,所述第三网络设备将所述第三网络设备的根MAC地址修改为所述第一网络设备的根MAC地址并将所述第三网络设备的根优先级修改为所述第一网络设备的根优先级。
结合第一方面或第一方面的第一种实现,在第一方面的第二种实现中,所述第一网络设备的第五以太网端口的类型为第一类型,所述第一网络设备还用于通过所述第五以太网端口接收第三根协商帧,将所述第五以太网端口的类型修改为第二类型。
结合第一方面,第一方面的第一种实现以及第一方面的第二种实现中的任意一个,在第一方面的第三种实现中,所述第一网络设备的第六以太网端口的类型为第二类型,所述系统还包括第四网络设备,所述第四网络设备在内部网络中,所述第四网络设备的第七以太网端口的类型为第一类型;
所述第一网络设备还用于通过所述第六以太网端口发送第四根协商帧,所述第四根协商帧包括所述第一网络设备的根MAC地址和所述第一网络设备的根优先级;
所述第四网络设备,用于通过所述第七以太网端口接收所述第四根协商帧,所述第四网络设备将所述第七以太网端口的类型修改为第二类型,如果所述第一网络设备的根优先级高于所述第四网络设备的根优先级,将所述第四网络设备的根MAC地址修改为所述第一网络设备的根MAC地址并将所述第四网络设备的根优先级修改为所述第一网络设备的根优先级。
第二方面,提供了一种环路避免方法,包括:
网络设备通过第一以太网端口发送第一环路检测帧,所述第一以太网端口的类型为第一类型,所述第一环路检测帧包括第一环路避免优先级,所述第一环路避免优先级为所述第一以太网端口的环路避免优先级,所述第一环路检测帧的源地址为所述网络设备的根介质访问控制MAC地址,所述网络设备的所述根MAC地址和所述网络设备的网桥MAC地址不同;
所述网络设备通过第二以太网端口接收第二环路检测帧,所述第二环路检测帧的源地址为所述根MAC地址,所述第二环路检测帧包括第二环路避免优先级,所述第二以太网端口的环路避免优先级为第三环路避免优先级;
如果所述第二环路避免优先级高于所述第三环路避免优先级,所述网络设备阻塞所述第二以太网端口;
所述网络设备丢弃所述第二环路检测帧。
结合第二方面,在第二方面的第一种实现中,还包括:
所述网络设备通过第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述网络设备的根MAC地址和所述网络设备的根优先级,所述第三以太网端口的类型为第二类型;
所述网络设备通过所述第三以太网端口接收第二根协商帧,所述第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级;
如果发送所述第二根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述网络设备将所述网络设备的根MAC地址修改为发送所述第二根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第二根协商帧的网络设备的根优先级。
结合第二方面或第二方面的第一种实现,在第二方面的第二种实现中,还包括:
所述网络设备通过第四以太网端口接收第三根协商帧,所述第四以太网端口的类型为第一类型;
所述网络设备将所述第四以太网端口的类型修改为第二类型。
结合第二方面,第二方面的第一种实现以及第二方面的第二种实现中的任意一个,在第二方面的第三种实现中,还包括:
所述网络设备通过第五以太网端口接收第四根协商帧,所述第四根协商帧包括发送所述第四根协商帧的网络设备的根MAC地址和发送所述第四根协商帧的网络设备的根优先级,所述第五以太网端口的类型为第一类型;
所述网络设备将所述第五以太网端口的类型修改为第二类型;
如果发送所述第四根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述网络设备将所述网络设备的根MAC地址修改为发送所述第四根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第四根协商帧的网络设备的根优先级。
第三方面,提供了一种环路避免设备,包括发送模块,接收模块和阻塞模块;其中,
所述发送模块,用于通过网络设备的第一以太网端口发送第一环路检测帧,所述第一以太网端口的类型为第一类型,所述第一环路检测帧包括第一环路避免优先级,所述第一环路避免优先级为所述第一以太网端口的环路避免优先级,所述第一环路检测帧的源地址为所述网络设备的根介质访问控制MAC地址,所述网络设备的所述根MAC地址和所述网络设备的网桥MAC地址不同;
所述接收模块,用于通过所述网络设备的第二以太网端口接收第二环路检测帧,所述第二环路检测帧的源地址为所述根MAC地址,所述第二环路检测帧包括第二环路避免优先级,所述第二以太网端口的环路避免优先级为第三环路避免优先级,还用于丢弃所述第二环路检测帧;
所述阻塞模块,用于如果所述第二环路避免优先级高于所述第三环路避免优先级,阻塞所述第二以太网端口。
结合第三方面,在第三方面的第一种实现中,还包括第一修改模块;
所述发送模块,还用于通过所述网络设备的第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述网络设备的根MAC地址和所述网络设备的根优先级,所述第三以太网端口的类型为第二类型;
所述接收模块,还用于通过所述第三以太网端口接收第二根协商帧,所述第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级;
所述第一修改模块,用于如果发送所述第二根协商帧的网络设备的根优先级高于所述网络设备的根优先级,将所述网络设备的根MAC地址修改为发送所述第二根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第二根协商帧的网络设备的根优先级。
结合第三方面或第三方面的第一种实现,在第三方面的第二种实现中,还包括第二修改模块;
所述接收模块,还用于通过所述网络设备的第四以太网端口接收第三根协商帧,所述第四以太网端口的类型为第一类型;
所述第二修改模块,用于将所述第四以太网端口的类型修改为第二类型。
结合第三方面,第三方面的第一种实现以及第三方面的第二种实现中的任意一个,在第三方面的第三种实现中,还包括第三修改模块;
所述接收模块,还用于通过所述网络设备的第五以太网端口接收第四根协商帧,所述第四根协商帧包括发送所述第四根协商帧的网络设备的根MAC地址和发送所述第四根协商帧的网络设备的根优先级,所述第五以太网端口的类型为第一类型;
所述第三修改模块,用于将所述第五以太网端口的类型修改为第二类型;
所述第三修改模块,还用于如果发送所述第四根协商帧的网络设备的根优先级高于所述网络设备的根优先级,将所述网络设备的根MAC地址修改为发送所述第四根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第四根协商帧的网络设备的根优先级。
第四方面,提供了一种网络设备,包括处理器,存储器以及多个以太网端口,所述处理器连接到所述存储器,所述处理器连接到所述多个以太网端口;其中,
所述多个以太网端口中包括第一以太网端口和第二以太网端口,所述第一以太网端口的类型为第一类型,所述第二以太网端口的类型为第一类型,所述第一以太网端口的环路避免优先级为第一环路避免优先级,所述第二以太网端口的环路避免优先级为第二环路避免优先级;
其中,
所述网络设备的存储器用于存储所述网络设备的根介质访问控制MAC地址,所述网络设备的所述根MAC地址和所述网络设备的网桥MAC地址不同;
所述处理器,用于通过所述第一以太网端口发送第一环路检测帧,所述第一环路检测帧包括所述第一环路避免优先级,所述第一环路检测帧的源地址为所述网络设备的根MAC地址;
所述处理器,还用于通过所述第二以太网端口接收第二环路检测帧,所述第二环路检测帧的源地址为所述根MAC地址,所述第二环路检测帧包括第三环路避免优先级;
所述处理器,还用于比较所述第二环路避免优先级和所述第三环路避免优先级,如果所述第三环路避免优先级高于所述第二环路避免优先级,所述处理器阻塞所述第二以太网端口,并丢弃所述第二环路检测帧。
结合第四方面,在第四方面的第一种实现中,所述多个以太网端口中还包括第三以太网端口,所述第三以太网端口的类型为第二类型;
所述处理器通过所述第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述网络设备的根MAC地址和所述网络设备的根优先级;
所述处理器通过所述第三以太网端口接收第二根协商帧,所述第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级;
如果发送所述第二根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述处理器将所述网络设备的根MAC地址修改为发送所述第二根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第二根协商帧的网络设备的根优先级。
结合第四方面或第四方面的第一种实现,在第四方面的第二种实现中,所述网络设备还包括第四以太网端口,所述第四以太网端口的类型为第一类型;
所述处理器通过所述第四以太网端口接收第三根协商帧;
所述处理器将所述第四以太网端口的类型修改为第二类型。
结合第四方面,第四方面的第一种实现以及第四方面的第二种实现中的任意一个,在第四方面的第三种实现中,所述网络设备还包括第五以太网端口,所述第五以太网端口的类型为第一类型;
所述处理器所述处理器通过所述第五以太网端口接收第四根协商帧,所述第四根协商帧包括发送所述第四根协商帧的网络设备的根MAC地址和发送所述第四根协商帧的网络设备的根优先级;
所述处理器将所述第五以太网端口的类型修改为第二类型;
如果发送所述第四根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述处理器将所述网络设备的根MAC地址修改为发送所述第四根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第四根协商帧的网络设备的根优先级。
由于网络设备根据环路避免优先级阻塞类型为第一类型的以太网端口,即与外部网络连接的以太网端口,避免了改变内部网络的拓扑。
附图说明
图1为本发明实施例中环路避免方法的流程图;
图2为本发明实施例中环路避免系统的示意图;
图3为本发明实施例的一个场景中内部网络协商的流程图;
图4为本发明实施例中环路避免设备的结构图;
图5为本发明实施例中网络设备的结构图。
具体实施方式
以下结合图1至图5说明本发明实施例:
图1为本发明实施例中环路(英文:loop)避免方法的流程图。该方法包括:
102、网络设备通过第一以太网端口发送第一环路检测帧,该第一以太网端口的类型为第一类型,该第一环路检测帧包括第一环路避免优先级,该第一环路避免优先级为该第一以太网端口的环路避免优先级,该第一环路检测帧的源地址为该网络设备的根MAC地址,该网络设备的根MAC地址和该网络设备的网桥MAC地址不同。
本发明实施例中的网络设备是网络交换机或作为MAC桥的其他类型网络设备。该网络设备有一个专用于检测环路的MAC地址,称为根MAC地址。为了区别于根MAC地址,该网络设备的物理地址被称为网桥MAC地址。网络设备的以太网端口被区分为两种类型,即第一类型和第二类型。类型为第一类型的以太网端口是可能和外部网络(英文:externalnetwork)相连的以太网端口。类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口。例如,图2中网络设备S1和网络设备S2之间的以太网端口,网络设备S2和网络设备S4之间的以太网端口以及内部网络中的网络设备,即网络设备S1至网络设备S8,之间的其他以太网端口的类型为第二类型。网络设备S5和网络设备S9之间的以太网端口,网络设备S7和网络设备S9之间的以太网端口的类型为第一类型。网络设备的多个以太网端口中的哪些以太网端口的类型是第二类型可以是根据内部网络的拓扑预先设置的,也可以通过协商动态设置。一个具体的协商以太网端口的类型的例子可以参见图3所示场景。
内部网络的拓扑为无环的。可以在物理连接上保证内部网络中的没有环路,也可以通过预先配置阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路,还可以可以通过破环协议阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路。
内部网络中的多个网络设备都使用相同的根MAC地址以检测环路。该内部网络中的所有网络设备的网桥MAC地址都和该根MAC地址不同;或者,该内部网络中的所有网络设备中仅有一个网络设备的网桥MAC地址和该根MAC地址相同,其他所有网络设备的网桥MAC地址都和该根MAC地址不同。例如,图2中内部网络中的网络设备,即网络设备S1至网络设备S8,中的每个网络设备有各自互不相同的网桥MAC地址,但都有相同的根MAC地址。内部网络中的多个网络设备中的每个网络设备发送的环路检测帧都以该根MAC地址作为源地址。由于内部网络中的所有网络设备的根MAC地址相同,如果外部网络在不同的两个的网络设备间成环,这两个网络设备可以接收到对方发送的环路检测帧,并且环路检测帧的源地址和这两个网络设备的根MAC地址相同,从而可以简易的确定存在环路。
可以预先设置内部网络中的所有网络设备的根MAC地址,以使得所有网络设备的根MAC地址相同。可替换的,也可以采用协商的方式使得内部网络中的所有网络设备的根MAC地址相同。协商完成后,内部网络中的所有网络设备的根MAC地址是该内部网络中初始的根优先级最高的根MAC地址。一个具体的协商根MAC地址的例子可以参见图3所示场景。
网络设备的以太网端口的状态可以为开(英文:UP)、关(英文:DOWN)或阻塞(英文:Block)等。网络设备的以太网端口通过以太网线缆连接上另一网络设备后该以太网端口的状态改变为UP。
内部网络中的多个网络设备中的每个网络设备通过各自的所有处于UP状态的第一类型的以太网端口发送环路检测帧。可选的一旦以太网端口的状态改变为UP,网络设备通过以太网端口发送环路检测帧。可替换的,网络设备可以周期性地通过状态为UP的以太网端口发送环路检测帧。
环路检测帧可以是广播帧也可以是组播帧。环路检测帧具有特定的格式以表明该帧的用途,即专用于检测外部网络是否存在环路的帧。例如,环路检测帧的以太类型(英文:EtherType)字段的值为特殊值,该特殊值用于指示EtherType字段的值为该特殊值的广播帧或组播帧是环路检测帧。又如,环路检测帧是组播帧,该环路检测帧的目的地址是特定的组MAC地址(英文:group MAC address),例如01-80-C2-00-00-13,该特定的组MAC地址用于指示目的地址是该特定的组MAC地址的组播帧是环路检测帧。
环路检测帧包括环路避免优先级字段,该环路避免优先级字段的值为发送该环路检测帧的以太网端口的环路避免优先级。环路检测帧的源地址为发送该环路检测帧的网络设备的根MAC地址。内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同。
例如,第一以太网端口的类型为第一类型,网络设备通过第一以太网端口发送第一环路检测帧。该第一环路检测帧包括第一以太网端口的环路避免优先级即第一环路避免优先级。该第一环路检测帧的源地址为该网络设备的,也是该网络设备所在内部网络中的所有网络设备的,根MAC地址。
104、该网络设备通过第二以太网端口接收第二环路检测帧,该第二环路检测帧的源地址为该根MAC地址,该第二环路检测帧包括第二环路避免优先级,该第二以太网端口的环路避免优先级为第三环路避免优先级。
网络设备发送的环路检测帧是广播帧或组播帧,因此如果该网络设备的一个以太网端口通过外部网络连接到该网络设备的另一个以太网端口,该另一个以太网端口会接收到该环路检测帧。例如,图2中网络设备S4的类型为第一类型的以太网端口连接到网络设备S4的另一个以太网端口,该另一个以太网端口会接收到环路检测帧。或者如果该网络设备的一个以太网端口连接到该网络设备所在内部网络内的另一个网络设备的以太网端口,该另一个网络设备的以太网端口会接收到该环路检测帧,并且该网络设备的以太网端口会接收到该另一个网络设备的与该网络设备相连以太网端口发送的环路检测帧。该网络设备的该以太网端口可以通过以太网线缆直接连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。例如,图2中网络设备S3的类型为第一类型的以太网端口发送环路检测帧,网络设备S8会接收到该环路检测帧,并且网络设备S3的以太网端口会接收到网络设备S8的与网络设备S3相连以太网端口发送的环路检测帧。该网络设备的该以太网端口也可以通过外部网络中的一个或多个网络设备连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。例如,图2中网络设备S5的类型为第一类型的以太网端口发送环路检测帧,网络设备S7会通过和外部网络中的网络设备S9相连的以太网端口接收到该环路检测帧,并且网络设备S5会通过和外部网络中的网络设备S9相连的以太网端口接收到网络设备S7发送的环路检测帧。
例如,网络设备的第二以太网端口的类型为第一类型,该第二以太网端口的环路避免优先级为第三环路避免优先级。该网络设备通过第二以太网端口连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。该网络设备通过第二以太网端口接收到第二环路检测帧。该第二环路检测帧是该网络设备或者该网络设备所在内部网络内的另一个网络设备发送的,由于该网络设备所在内部网络内的另一个网络设备的根MAC地址和该网络设备的根MAC地址相同,所以该第二环路检测帧的源地址为该网络设备的根MAC地址。该第二环路检测帧包括第二环路避免优先级。第二环路避免优先级为发送该第二环路检测帧的以太网端口的环路避免优先级。第一以太网端口的环路避免优先级即第一环路避免优先级。
106、如果该第二环路避免优先级高于该第三环路避免优先级,该网络设备阻塞该第二以太网端口。
该网络设备通过第二以太网端口接收到第二环路检测帧,另一方面,由于第二以太网端口的类型为第一类型,发送第二环路检测帧的以太网端口也会收到第二以太网端口发送的环路检测帧。第二以太网端口和发送第二环路检测帧的以太网端口中有一个要被阻塞。这两个以太网端口中哪一个被阻塞由这两个以太网端口的环路避免优先级决定。环路避免优先级低的以太网端口被阻塞。
这里所称的环路避免优先级的高低不是指环路避免优先级的数值大小,而是指环路避免优先级不同的以太网端口被阻塞的顺序。例如可以规定一个全序集合,内部网络中的各个以太网端口的环路避免优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个环路避免优先级的高低。例如,环路避免优先级为正整数,两个环路避免优先级中较小的那个的环路避免优先级更高,或者两个环路避免优先级中较大的那个的环路避免优先级更高。又例如,环路避免优先级为网络设备的以太网端口的端口优先级和网络设备的网桥MAC地址的组合。两个环路避免优先级中网桥MAC地址的数值较小的那个的环路避免优先级更高,或者两个环路避免优先级中网桥MAC地址的数值较大的那个的环路避免优先级更高。如果两个环路避免优先级中网桥MAC地址的数值相同,则以太网端口的端口优先级较高的那个的环路避免优先级更高。由于各个网络设备的网桥MAC地址各不相同,并且单个设备可以保证该设备的各个以太网端口的端口优先级互不相同,从而可以保证内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同,并且任意两个环路避免优先级之间可以比较高低。
该网络设备通过第二以太网端口接收到第二环路检测帧后,比较第二环路检测帧中的第二环路避免优先级和第二以太网端口的第三环路避免优先级,根据比较结果确定是否阻塞该第二以太网端口。如果第二环路避免优先级高于第三环路避免优先级,该网络设备阻塞第二以太网端口。如果第二环路避免优先级低于第三环路避免优先级,发送第二环路检测帧的以太网端口接收到该第二以太网端口发送的环路检测帧后,发送第二环路检测帧的以太网设备确定发送第二环路检测帧的以太网端口的环路避免优先级高于第二以太网端口的环路避免优先级,根据该比较结果,发送第二环路检测帧的以太网设备阻塞发送第二环路检测帧的以太网端口。
108,该网络设备丢弃该第二环路检测帧。
尽管第二环路检测帧是广播帧或组播帧,该网络设备也不转发该第二环路检测帧。该网络设备也不转发任意环路检测帧,无论其源地址是否为根MAC地址。
由于网络设备根据环路避免优先级阻塞类型为第一类型的以太网端口,即与外部网络连接的以太网端口,避免了改变内部网络的拓扑。
图3为本发明实施例的一个场景中内部网络协商的流程图。该内部网络协商包括协商以太网端口的类型以及协商根MAC地址两部分,这两部分可以分别独立实施也可以共同实施。该内部网络协商的方法包括:
302、网络设备通过以太网端口发送根协商帧。
根协商帧是内部网络中的两个网络设备之间用于协商以太网端口的类型或者协商根MAC地址的帧。根协商帧也可以既用于协商以太网端口的类型也用于协商根MAC地址。根协商帧可以是自定义的协议数据单元(英文:protocol data uni t,缩写:PDU),也可以是扩展的传统协议的PDU,例如链路层发现协议数据单元(英文:Link Layer DiscoveryProtocol Data Uni t,缩写:LLDPDU)。根协商帧的源MAC地址是发送该根协商帧的网络设备的网桥MAC地址。根协商帧的目的MAC地址是接收该根协商帧的网络设备的网桥MAC地址,或者是特定的组播地址。
如果以太网端口的类型是预先设置的,则该网络设备的多个以太网端口中和该网络设备所在内部网络中的其他网络设备相连的以太网端口的类型已经被预先设置为第二类型。这种情况下,需要协商根MAC地址。因此,网络设备发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。根优先级是用于确定根MAC地址的优先级。网络设备初始的根MAC地址可以和该网络设备的网桥MAC地址相同,也可以和该网络设备的网桥MAC地址不同。内部网络中的所有网络设备中的任意两个的根优先级都互不相同。网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。由于以太网端口的类型是根据内部网络的拓扑预先设置的,网络设备只会通过该网络设备的类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。例如,网络设备通过第三以太网端口发送第一根协商帧,该第一根协商帧包括该网络设备的根MAC地址和该网络设备的根优先级,该第三以太网端口的类型为第二类型。
如果内部网络中的网络设备的根MAC地址是预先设置的,则该网络设备所在内部网络中的所有网络设备的根MAC地址已经被预先设置为相同的根MAC地址。这种情况下,需要协商以太网端口的类型。网络设备发送的根协商帧中可以不包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行(英文:upl ink)端口的类型被指定为第二类型。或者,网络设备中的以太网端口中的端口标识数值最小或最大的一个或多个以太网端口的类型被指定为第二类型。在建立内部网络时,要求两个非专用于和内部网络中的其他网络设备相连的以太网端口之间不能相连,或者相连的两个非专用于和内部网络中的其他网络设备相连的以太网端口中的至少一个处于阻塞状态。内部网络被建立之后,网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。例如,网络设备通过第三以太网端口发送第一根协商帧,该第三以太网端口的类型为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,网络设备发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。内部网络被建立之后,网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。例如,网络设备通过第三以太网端口发送第一根协商帧,该第一根协商帧包括该网络设备的根MAC地址和该网络设备的根优先级,该第三以太网端口的类型为第二类型。
304、网络设备通过以太网端口接收根协商帧。
如果以太网端口的类型是预先设置的,而根MAC地址需要协商。网络设备接收的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。由于以太网端口的类型是根据内部网络的拓扑预先设置的,网络设备只会通过该网络设备的类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,该网络设备无需修改根MAC地址和根优先级。这里所称的根优先级的高低不是指根优先级的数值大小,而是指根优先级不同的根MAC地址被指定为整个内部网络唯一的根MAC地址的顺序。例如可以规定一个全序集合,内部网络中的各个网络设备的根优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个根优先级的高低。例如,根优先级为正整数,两个根优先级中较小的那个的根优先级更高,或者两个根优先级中较大的那个的根优先级更高。又例如,根优先级为根MAC地址的值,即根协商帧中不需要两个字段分别携带发送该根协商帧的网络设备的根MAC地址和根优先级,而只需要一个字段携带发送该根协商帧的网络设备的根MAC地址也就是该网络设备的根优先级。两个根MAC地址中数值较小的那个根MAC地址的根优先级更高,或者两个根MAC地址中数值较大的那个根MAC地址根优先级更高。由于根MAC地址本身就是根优先级,修改根MAC地址也就等于修改根优先级,如果需要修改根MAC地址并修改根优先级,也只需要修改根MAC地址即等于修改了根MAC地址并修改了根优先级。例如,该网络设备通过该第三以太网端口接收第二根协商帧,该第二根协商帧包括发送该第二根协商帧的网络设备的根MAC地址和发送该第二根协商帧的网络设备的根优先级。如果发送该第二根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备将该网络设备的根MAC地址修改为发送该第二根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该第二根协商帧的网络设备的根优先级。
如果内部网络中的网络设备的根MAC地址是预先设置的,而以太网端口的类型需要协商。网络设备接收的根协商帧中可以不包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备接收到根协商帧的以太网端口的类型可能是第一类型也可能是第二类型。如果接收根协商帧的以太网端口的类型是第二类型,网络设备无需进一步响应。如果接收根协商帧的以太网端口的类型是第一类型,响应于接收到根协商帧,该网络设备将该以太网端口的类型修改为第二类型。例如,网络设备通过第四以太网端口接收第三根协商帧,该第四以太网端口的类型为第一类型,该网络设备将该第四以太网端口的类型修改为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,网络设备接收的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备接收到根协商帧的以太网端口的类型可能是第一类型也可能是第二类型。如果接收根协商帧的以太网端口的类型是第二类型,网络设备无需修改以太网端口的类型。如果接收根协商帧的以太网端口的类型是第一类型,响应于接收到根协商帧,网络设备将该以太网端口的类型修改为第二类型。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,该网络设备无需修改根MAC地址和根优先级。例如,该网络设备通过第五以太网端口接收第四根协商帧,该第四根协商帧包括发送该第四根协商帧的网络设备的根MAC地址和发送该第四根协商帧的网络设备的根优先级,该第五以太网端口的类型为第一类型。该网络设备将该第五以太网端口的类型修改为第二类型。如果发送该第四根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备将该网络设备的根MAC地址修改为发送该第四根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该第四根协商帧的网络设备的根优先级。
通过上述的协商过程,内部网络中根优先级最高的网络设备的根MAC地址被逐步扩散到整个内部网络,并且内部网络中和专用于和内部网络中的其他网络设备相连的以太网端口相连的以太网端口的类型都被修改为第二类型,从而完成以太网端口的类型以及根MAC地址的协商。如果内部网络中的各个网络设备初始的根MAC地址分别和各自的网桥MAC地址相同,根MAC地址的协商完成后,内部网络中的多个网络设备都使用相同的根MAC地址,并且该内部网络中的所有网络设备中仅有一个网络设备,即根优先级最高的网络设备,的网桥MAC地址和该根MAC地址相同,其他所有网络设备的网桥MAC地址都和该根MAC地址不同。如果内部网络中的各个网络设备初始的根MAC地址分别和各自的网桥MAC地址不同,根MAC地址的协商完成后,内部网络中的多个网络设备都使用相同的根MAC地址,并且该内部网络中的所有网络设备的网桥MAC地址都和该根MAC地址不同。
图2为本发明实施例中环路避免系统的示意图。该环路避免系统包括多个网络设备,这多个网络设备都在内部网络中,内部网络为拓扑被保证为无环的网络。图2中,网络设备S1至网络设备S8为内部网络中的网络设备。
内部网络中的网络设备是网络交换机或作为MAC桥的其他类型网络设备。该网络设备有一个专用于检测环路的MAC地址,称为根MAC地址。为了区别于根MAC地址,该网络设备的物理地址被称为网桥MAC地址。网络设备的以太网端口被区分为两种类型,即第一类型和第二类型。类型为第一类型的以太网端口是可能和外部网络相连的以太网端口。类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口。例如,网络设备S1至网络设备S8之间的以太网端口的类型为第二类型。网络设备S5和网络设备S9之间的以太网端口,网络设备S7和网络设备S9之间的以太网端口的类型为第一类型。各个网络设备的多个以太网端口中的哪些以太网端口的类型是第二类型可以是根据内部网络的拓扑预先设置的,也可以通过协商动态设置。一个具体的协商以太网端口的类型的例子可以参见后续场景描述。
内部网络的拓扑为无环的。可以在物理连接上保证内部网络中的没有环路,也可以通过预先配置阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路,还可以可以通过破环协议阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路。
内部网络中的多个网络设备都使用相同的根MAC地址以检测环路。内部网络中的所有网络设备的网桥MAC地址都和该根MAC地址不同;或者,内部网络中的所有网络设备中仅有一个网络设备的网桥MAC地址和该根MAC地址相同,其他所有网络设备的网桥MAC地址都和该根MAC地址不同。例如,网络设备S1至网络设备S8中的每个网络设备有各自互不相同的网桥MAC地址,但都有相同的根MAC地址。内部网络中的多个网络设备中的每个网络设备发送的环路检测帧都以该根MAC地址作为源地址。由于内部网络中的所有网络设备的根MAC地址相同,如果外部网络在不同的两个的网络设备间成环,这两个网络设备可以接收到对方发送的环路检测帧,并且环路检测帧的源地址和这两个网络设备的根MAC地址相同,从而可以简易的确定存在环路。
可以预先设置内部网络中的所有网络设备的根MAC地址,以使得所有网络设备的根MAC地址相同。可替换的,也可以采用协商的方式使得内部网络中的所有网络设备的根MAC地址相同。协商完成后,内部网络中的所有网络设备的根MAC地址是该内部网络中初始的根优先级最高的根MAC地址。一个具体的协商根MAC地址的例子可以参见后续场景描述。
网络设备的以太网端口的状态可以为开、关或阻塞等。网络设备的以太网端口通过以太网线缆连接上另一网络设备后该以太网端口的状态改变为UP。
内部网络中的多个网络设备中的每个网络设备通过各自的所有处于UP状态的第一类型的以太网端口发送环路检测帧。可选的,一旦以太网端口的状态改变为UP,网络设备通过以太网端口发送环路检测帧。可替换的,网络设备可以周期性地通过状态为UP的以太网端口发送环路检测帧。
环路检测帧可以是广播帧也可以是组播帧。环路检测帧具有特定的格式以表明该帧的用途,即专用于检测外部网络是否存在环路的帧。例如,环路检测帧的EtherType字段的值为特殊值,该特殊值用于指示EtherType字段的值为该特殊值的广播帧或组播帧是环路检测帧。又如,环路检测帧是组播帧,该环路检测帧的目的地址是特定的组MAC地址,例如01-80-C2-00-00-13,该特定的组MAC地址用于指示目的地址是该特定的组MAC地址的组播帧是环路检测帧。
环路检测帧包括环路避免优先级字段,该环路避免优先级字段的值为发送该环路检测帧的以太网端口的环路避免优先级。环路检测帧的源地址为发送该环路检测帧的网络设备的根MAC地址。内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同。
以网络设备S1至网络设备S8中的两个网络设备为第一网络设备和第二网络设备为例,第一网络设备和所述第二网络设备都在内部网络中。第一网络设备和第二网络设备可以是网络设备S1至网络设备S8中的任意两个网络设备。
第一网络设备的第一以太网端口的类型为第一类型,第一以太网端口的环路避免优先级为第一环路避免优先级,第一网络设备的根MAC地址和所述第一网络设备的网桥MAC地址不同。
第二网络设备的第二以太网端口的类型为第一类型,第二以太网端口的环路避免优先级为第二环路避免优先级,第二网络设备的根MAC地址和第二网络设备的网桥MAC地址不同,所述第二网络设备的根MAC地址和所述第一网络设备的根MAC地址相同。
第一网络设备,通过所述第一以太网端口发送第一环路检测帧。第一环路检测帧包括所述第一环路避免优先级。第一环路检测帧的源地址为第一网络设备的根MAC地址,也就是内部网络中的所有网络设备的相同的根MAC地址。
第一网络设备发送的环路检测帧是广播帧或组播帧,因此如果第一以太网端口通过外部网络连接到第二网络设备的第二以太网端口,第二网络设备通过第二以太网端口接收第一环路检测帧。第一以太网端口可以通过以太网线缆直接连接到第二以太网端口。例如,图2中网络设备S3的类型为第一类型的以太网端口发送环路检测帧,网络设备S8会接收到该环路检测帧,并且网络设备S3的以太网端口会接收到网络设备S8的与网络设备S3相连以太网端口发送的环路检测帧。第一以太网端口也可以通过外部网络中的一个或多个网络设备连接到第二以太网端口。例如,图2中网络设备S5的类型为第一类型的以太网端口发送环路检测帧,网络设备S7会通过和外部网络中的网络设备S9相连的以太网端口接收到该环路检测帧,并且网络设备S5会通过和外部网络中的网络设备S9相连的以太网端口接收到网络设备S7发送的环路检测帧。
由于第二以太网端口的类型为第一类型,第一以太网端口也会收到第二以太网端口发送的第二环路检测帧。第二以太网端口和第一以太网端口中有一个要被阻塞。这两个以太网端口中哪一个被阻塞由这两个以太网端口的环路避免优先级决定。环路避免优先级低的以太网端口被阻塞。
这里所称的环路避免优先级的高低不是指环路避免优先级的数值大小,而是指环路避免优先级不同的以太网端口被阻塞的顺序。例如可以规定一个全序集合,内部网络中的各个以太网端口的环路避免优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个环路避免优先级的高低。例如,环路避免优先级为正整数,两个环路避免优先级中较小的那个的环路避免优先级更高,或者两个环路避免优先级中较大的那个的环路避免优先级更高。又例如,环路避免优先级为网络设备的以太网端口的端口优先级和网络设备的网桥MAC地址的组合。两个环路避免优先级中网桥MAC地址的数值较小的那个的环路避免优先级更高,或者两个环路避免优先级中网桥MAC地址的数值较大的那个的环路避免优先级更高。如果两个环路避免优先级中网桥MAC地址的数值相同,则以太网端口的端口优先级较高的那个的环路避免优先级更高。由于各个网络设备的网桥MAC地址各不相同,并且单个设备可以保证该设备的各个以太网端口的端口优先级互不相同,从而可以保证内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同,并且任意两个环路避免优先级之间可以比较高低。
第二网络设备通过第二以太网端口接收到第一环路检测帧后,比较第一环路检测帧中的第一环路避免优先级和第二以太网端口的第二环路避免优先级,根据比较结果确定是否阻塞第二以太网端口。如果第一环路避免优先级高于第二环路避免优先级,第二网络设备阻塞第二以太网端口。如果第一环路避免优先级低于第二环路避免优先级,第一网络设备的第一以太网端口接收到第二以太网端口发送的第二环路检测帧后,第一网络设备确定第二以太网端口的环路避免优先级高于第一以太网端口的环路避免优先级,根据该比较结果,第一网络设备阻塞第一以太网端口。
尽管第一环路检测帧是广播帧或组播帧,第二网络设备不转发该第一环路检测帧。第二网络设备丢弃第一环路检测帧。内部网络中的网络设备也不转发任意环路检测帧,无论其源地址是否为根MAC地址。
该环路避免系统中,由于内部网络中的所有网络设备的根MAC地址相同,如果外部网络在第一网络设备和第二网络设备间成环,这两个网络设备可以接收到对方发送的环路检测帧,并且环路检测帧的源地址和这两个网络设备的根MAC地址相同,从而可以简易的确定存在环路,并且根据环路避免优先级阻塞与外部网络连接的以太网端口,避免改变内部网络的拓扑。
以下结合图2描述本发明实施例的一个场景中的内部网络协商。该内部网络协商包括协商以太网端口的类型以及协商根MAC地址两部分,这两部分可以分别独立实施也可以共同实施。
该场景中内部网络中的多个网络设备之间通过根协商帧完成协商。根协商帧是多个网络设备中的任意两个网络设备之间用于协商以太网端口的类型或者协商根MAC地址的帧。根协商帧也可以既用于协商以太网端口的类型也用于协商根MAC地址。根协商帧可以是自定义的PDU,也可以是扩展的传统协议的PDU,例如LLDPDU。根协商帧的源MAC地址是发送该根协商帧的网络设备的网桥MAC地址。根协商帧的目的MAC地址是接收该根协商帧的网络设备的网桥MAC地址,或者是特定的组播地址。
如果以太网端口的类型是预先设置的,则该网络设备的多个以太网端口中和该网络设备所在内部网络中的其他网络设备相连的以太网端口的类型已经被预先设置为第二类型。这种情况下,需要协商根MAC地址。因此,网络设备发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。根优先级是用于确定根MAC地址的优先级。网络设备初始的根MAC地址可以和该网络设备的网桥MAC地址相同,也可以和该网络设备的网桥MAC地址不同。内部网络中的所有网络设备中的任意两个的根优先级都互不相同。网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。由于以太网端口的类型是根据内部网络的拓扑预先设置的,网络设备只会通过该网络设备的类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。例如,第一网络设备通过第三以太网端口发送第一根协商帧,该第一根协商帧包括该网络设备的根MAC地址和该网络设备的根优先级,该第三以太网端口的类型为第二类型。
内部网络中的第三网络设备通过第四以太网端口接收该第一根协商帧。由于以太网端口的类型是根据内部网络的拓扑预先设置的,第三网络设备只会通过类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。如果第一网络设备的根优先级高于第三网络设备的根优先级,第三网络设备将该网络设备的根MAC地址修改为第一网络设备的根MAC地址并将第三网络设备的根优先级修改为第一网络设备的根优先级。如果发第一网络设备的根优先级低于该第三网络设备的根优先级,第三网络设备无需修改根MAC地址和根优先级。例如网络设备S2接收到网络设备S1发送的第一根协商帧,该第一根协商帧包括网络设备S1的根MAC地址和网络设备S1的根优先级,网络设备S1的根优先级高于网络设备S2的根优先级,网络设备S2将网络设备S2的根MAC地址修改为网络设备S1的根MAC地址并将网络设备S2的根优先级修改为网络设备S1的根优先级。
这里所称的根优先级的高低不是指根优先级的数值大小,而是指根优先级不同的根MAC地址被指定为整个内部网络唯一的根MAC地址的顺序。例如可以规定一个全序集合,内部网络中的各个网络设备的根优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个根优先级的高低。例如,根优先级为正整数,两个根优先级中较小的那个的根优先级更高,或者两个根优先级中较大的那个的根优先级更高。又例如,根优先级为根MAC地址的值,即根协商帧中不需要两个字段分别携带发送该根协商帧的网络设备的根MAC地址和根优先级,而只需要一个字段携带发送该根协商帧的网络设备的根MAC地址也就是该网络设备的根优先级。两个根MAC地址中数值较小的那个根MAC地址的根优先级更高,或者两个根MAC地址中数值较大的那个根MAC地址根优先级更高。由于根MAC地址本身就是根优先级,修改根MAC地址也就等于修改根优先级,如果需要修改根MAC地址并修改根优先级,也只需要修改根MAC地址即等于修改了根MAC地址并修改了根优先级。
如果内部网络中的网络设备的根MAC地址是预先设置的,则该网络设备所在内部网络中的所有网络设备的根MAC地址已经被预先设置为相同的根MAC地址。这种情况下,需要协商以太网端口的类型。网络设备发送的根协商帧中可以不包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。或者,网络设备中的以太网端口中的端口标识数值最小或最大的一个或多个以太网端口的类型被指定为第二类型。在建立内部网络时,要求两个非专用于和内部网络中的其他网络设备相连的以太网端口之间不能相连,或者相连的两个非专用于和内部网络中的其他网络设备相连的以太网端口中的至少一个处于阻塞状态。例如,图2中网络设备S1至网络设备S8的上行端口被指定为专用于和内部网络中的其他网络设备相连的以太网端口。其中,网络设备S2和网络设备S3的上行端口连接到网络设备S1,网络设备S4和网络设备S5的上行端口连接到网络设备S2,网络设备S6,网络设备S7和网络设备S8的上行端口连接到网络设备S3。内部网络被建立之后,网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。
网络设备接收到根协商帧的以太网端口的类型可能是第一类型也可能是第二类型。如果接收根协商帧的以太网端口的类型是第二类型,网络设备无需进一步响应。如果接收根协商帧的以太网端口的类型是第一类型,响应于接收到根协商帧,该网络设备将该以太网端口的类型修改为第二类型。例如,所述第一网络设备的第五以太网端口的类型为第一类型,第一网络设备通过第五以太网端口接收第三根协商帧,将第五以太网端口的类型修改为第二类型。例如,网络设备S4的上行端口连接到网络设备S2,网络设备S2通过与网络设备S4相连的以太网端口接收到第三根协商帧,响应于接收到该第三根协商帧,网络设备S2将与网络设备S4相连的以太网端口的类型修改为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,网络设备发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。内部网络被建立之后,网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。例如,第一网络设备的第六以太网端口的类型为第二类型,第一网络设备通过第六以太网端口发送第四根协商帧所述第四根协商帧包括所述第一网络设备的根MAC地址和所述第一网络设备的根优先级。例如,网络设备S5的上行端口连接到网络设备S2,网络设备S5通过该上行端口发送第四根协商帧,第四根协商帧包括网络设备S5的根MAC地址和网络设备S5的根优先级。
网络设备接收到根协商帧的以太网端口的类型可能是第一类型也可能是第二类型。如果接收根协商帧的以太网端口的类型是第二类型,网络设备无需修改以太网端口的类型。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,该网络设备无需修改根MAC地址和根优先级。例如,内部网络中的第四网络设备通过第七以太网端口接收第四根协商帧,该第七以太网端口的类型为第一类型。第四网络设备将该第七以太网端口的类型修改为第二类型。如果第一网络设备的根优先级高于第四网络设备的根优先级,第四网络设备将第四网络设备的根MAC地址修改为第一网络设备的根MAC地址并将第四网络设备的根优先级修改为第一网络设备的根优先级。例如,网络设备S2通过与网络设备S5相连的以太网端口接收到第四根协商帧,响应于接收到该第四根协商帧,网络设备S2将与网络设备S5相连的以太网端口的类型修改为第二类型。网络设备S5的根优先级高于网络设备S2的根优先级,网络设备S2将网络设备S2的根MAC地址修改为网络设备S5的根MAC地址并将网络设备S2的根优先级修改为网络设备S5的根优先级。
图4为本发明实施例中环路避免设备的结构图。该环路避免设备由网络设备实现。该网络设备是网络交换机或作为MAC桥的其他类型网络设备。网络设备有一个专用于检测环路的MAC地址,称为根MAC地址。为了区别于根MAC地址,该网络设备的物理地址被称为网桥MAC地址。网络设备的以太网端口被区分为两种类型,即第一类型和第二类型。类型为第一类型的以太网端口是可能和外部网络相连的以太网端口。类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口。网络设备的多个以太网端口中的哪些以太网端口的类型是第二类型可以是根据内部网络的拓扑预先设置的,也可以通过环路避免设备和其他网络设备协商来动态设置。一个具体的协商以太网端口的类型的例子可以参见后续场景的描述。
该环路避免设备包括发送模块402,接收模块404和阻塞模块406。其中,
发送模块402,用于通过网络设备的第一以太网端口发送第一环路检测帧,第一以太网端口的类型为第一类型,第一环路检测帧包括第一环路避免优先级,第一环路避免优先级为第一以太网端口的环路避免优先级,第一环路检测帧的源地址为网络设备的根MAC地址,网络设备的根MAC地址和网络设备的网桥MAC地址不同。
内部网络的拓扑为无环的。可以在物理连接上保证内部网络中的没有环路,也可以通过预先配置阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路,还可以可以通过破环协议阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路。
内部网络中的多个网络设备都使用相同的根MAC地址以检测环路。该内部网络中的所有网络设备的网桥MAC地址都和该根MAC地址不同;或者,该内部网络中的所有网络设备中仅有一个网络设备的网桥MAC地址和该根MAC地址相同,其他所有网络设备的网桥MAC地址都和该根MAC地址不同。内部网络中的多个网络设备中的每个网络设备发送的环路检测帧都以该根MAC地址作为源地址。由于内部网络中的所有网络设备的根MAC地址相同,如果外部网络在不同的两个的网络设备间成环,这两个网络设备可以接收到对方发送的环路检测帧,并且环路检测帧的源地址和这两个网络设备的根MAC地址相同,从而可以简易的确定存在环路。
可以预先设置内部网络中的所有网络设备的根MAC地址,以使得所有网络设备的根MAC地址相同。可替换的,也可以采用协商的方式使得内部网络中的所有网络设备的根MAC地址相同。协商完成后,内部网络中的所有网络设备的根MAC地址是该内部网络中初始的根优先级最高的根MAC地址。一个具体的协商根MAC地址的例子可以参见后续场景的描述。
网络设备的以太网端口的状态可以为开、关或阻塞等。网络设备的以太网端口通过以太网线缆连接上另一网络设备后该以太网端口的状态改变为UP。
内部网络中的多个网络设备中的每个网络设备的环路避免设备的发送模块402通过各自的所有处于UP状态的第一类型的以太网端口发送环路检测帧。可选的,一旦以太网端口的状态改变为UP,发送模块402通过以太网端口发送环路检测帧。可替换的,发送模块402可以周期性地通过状态为UP的以太网端口发送环路检测帧。
环路检测帧可以是广播帧也可以是组播帧。环路检测帧具有特定的格式以表明该帧的用途,即专用于检测外部网络是否存在环路的帧。例如,环路检测帧的EtherType字段的值为特殊值,该特殊值用于指示EtherType字段的值为该特殊值的广播帧或组播帧是环路检测帧。又如,环路检测帧是组播帧,该环路检测帧的目的地址是特定的组MAC地址,例如01-80-C2-00-00-13,该特定的组MAC地址用于指示目的地址是该特定的组MAC地址的组播帧是环路检测帧。
环路检测帧包括环路避免优先级字段,该环路避免优先级字段的值为发送该环路检测帧的以太网端口的环路避免优先级。环路检测帧的源地址为发送该环路检测帧的环路避免设备所在的网络设备的根MAC地址。内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同。
例如,第一以太网端口的类型为第一类型,发送模块402通过第一以太网端口发送第一环路检测帧。该第一环路检测帧包括第一以太网端口的环路避免优先级即第一环路避免优先级。该第一环路检测帧的源地址为该环路避免设备所在的网络设备的,也是该网络设备所在内部网络中的所有网络设备的,根MAC地址。
接收模块404,用于通过网络设备的第二以太网端口接收第二环路检测帧,第二环路检测帧的源地址为根MAC地址,第二环路检测帧包括第二环路避免优先级,第二以太网端口的环路避免优先级为第三环路避免优先级,还用于丢弃第二环路检测帧。
网络设备的发送模块402发送的环路检测帧是广播帧或组播帧,因此如果该网络设备的一个以太网端口通过外部网络连接到该网络设备的另一个以太网端口,该另一个以太网端口会接收到该环路检测帧。或者如果该网络设备的一个以太网端口连接到该网络设备所在内部网络内的另一个网络设备的以太网端口,该另一个网络设备的以太网端口会接收到该环路检测帧,并且该网络设备的以太网端口会接收到该另一个网络设备的与该网络设备相连以太网端口发送的环路检测帧。该网络设备的该以太网端口可以通过以太网线缆直接连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。该网络设备的该以太网端口也可以通过外部网络中的一个或多个网络设备连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。
例如,网络设备的第二以太网端口的类型为第一类型,该第二以太网端口的环路避免优先级为第三环路避免优先级。该网络设备通过第二以太网端口连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。该网络设备的接收模块404通过第二以太网端口接收到第二环路检测帧。该第二环路检测帧是该网络设备或者该网络设备所在内部网络内的另一个网络设备发送的,由于该网络设备所在内部网络内的另一个网络设备的根MAC地址和该网络设备的根MAC地址相同,所以该第二环路检测帧的源地址为该网络设备的根MAC地址。该第二环路检测帧包括第二环路避免优先级。第二环路避免优先级为发送该第二环路检测帧的以太网端口的环路避免优先级。第一以太网端口的环路避免优先级即第一环路避免优先级。尽管第二环路检测帧是广播帧或组播帧,该网络设备也不转发该第二环路检测帧,因此,接收模块404丢弃该第二环路检测帧。环路避免设备也不转发任意环路检测帧,无论其源地址是否为根MAC地址。
阻塞模块406,用于如果第二环路避免优先级高于第三环路避免优先级,阻塞第二以太网端口。
该网络设备的接收模块404通过第二以太网端口接收到第二环路检测帧,另一方面,由于第二以太网端口的类型为第一类型,发送第二环路检测帧的以太网端口也会收到第二以太网端口发送的环路检测帧。第二以太网端口和发送第二环路检测帧的以太网端口中有一个要被阻塞。这两个以太网端口中哪一个被阻塞由这两个以太网端口的环路避免优先级决定。环路避免优先级低的以太网端口被阻塞。
这里所称的环路避免优先级的高低不是指环路避免优先级的数值大小,而是指环路避免优先级不同的以太网端口被阻塞的顺序。例如可以规定一个全序集合,内部网络中的各个以太网端口的环路避免优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个环路避免优先级的高低。例如,环路避免优先级为正整数,两个环路避免优先级中较小的那个的环路避免优先级更高,或者两个环路避免优先级中较大的那个的环路避免优先级更高。又例如,环路避免优先级为网络设备的以太网端口的端口优先级和网络设备的网桥MAC地址的组合。两个环路避免优先级中网桥MAC地址的数值较小的那个的环路避免优先级更高,或者两个环路避免优先级中网桥MAC地址的数值较大的那个的环路避免优先级更高。如果两个环路避免优先级中网桥MAC地址的数值相同,则以太网端口的端口优先级较高的那个的环路避免优先级更高。由于各个网络设备的网桥MAC地址各不相同,并且单个设备可以保证该设备的各个以太网端口的端口优先级互不相同,从而可以保证内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同,并且任意两个环路避免优先级之间可以比较高低。
该网络设备的接收模块404通过第二以太网端口接收到第二环路检测帧后,该网络设备的阻塞模块406比较第二环路检测帧中的第二环路避免优先级和第二以太网端口的第三环路避免优先级,根据比较结果确定是否阻塞该第二以太网端口。如果第二环路避免优先级高于第三环路避免优先级,阻塞模块406阻塞第二以太网端口。
由于环路避免设备根据环路避免优先级阻塞类型为第一类型的以太网端口,即与外部网络连接的以太网端口,避免了改变内部网络的拓扑。
以下描述内部网络协商的场景。该内部网络协商包括协商以太网端口的类型以及协商根MAC地址两部分,这两部分可以分别独立实施也可以共同实施。
内部网络协商的场景中,发送模块402还用于发送根协商帧,接收模块404还用于接收根协商帧。根协商帧是内部网络中的两个网络设备之间用于协商以太网端口的类型或者协商根MAC地址的帧。根协商帧也可以既用于协商以太网端口的类型也用于协商根MAC地址。根协商帧可以是自定义的PDU,也可以是扩展的传统协议的PDU,例如LLDPDU。根协商帧的源MAC地址是发送该根协商帧的网络设备的网桥MAC地址。根协商帧的目的MAC地址是接收该根协商帧的网络设备的网桥MAC地址,或者是特定的组播地址。
如果以太网端口的类型是预先设置的,则该网络设备的多个以太网端口中和该网络设备所在内部网络中的其他网络设备相连的以太网端口的类型已经被预先设置为第二类型。这种情况下,需要协商根MAC地址,环路避免设备还包括第一修改模块。网络设备的发送模块402发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。根优先级是用于确定根MAC地址的优先级。网络设备初始的根MAC地址可以和该网络设备的网桥MAC地址相同,也可以和该网络设备的网桥MAC地址不同。内部网络中的所有网络设备中的任意两个的根优先级都互不相同。网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。由于以太网端口的类型是根据内部网络的拓扑预先设置的,接收模块404只会通过该网络设备的类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。例如,接收模块404,还用于通过网络设备的第三以太网端口发送第一根协商帧,第一根协商帧包括网络设备的根MAC地址和网络设备的根优先级,第三以太网端口的类型为第二类型。
由于以太网端口的类型是根据内部网络的拓扑预先设置的,网络设备的接收模块404只会通过该网络设备的类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备的第一修改模块将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,该网络设备的第一修改模块无需修改根MAC地址和根优先级。这里所称的根优先级的高低不是指根优先级的数值大小,而是指根优先级不同的根MAC地址被指定为整个内部网络唯一的根MAC地址的顺序。例如可以规定一个全序集合,内部网络中的各个网络设备的根优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个根优先级的高低。例如,根优先级为正整数,两个根优先级中较小的那个的根优先级更高,或者两个根优先级中较大的那个的根优先级更高。又例如,根优先级为根MAC地址的值,即根协商帧中不需要两个字段分别携带发送该根协商帧的网络设备的根MAC地址和根优先级,而只需要一个字段携带发送该根协商帧的网络设备的根MAC地址也就是该网络设备的根优先级。两个根MAC地址中数值较小的那个根MAC地址的根优先级更高,或者两个根MAC地址中数值较大的那个根MAC地址根优先级更高。由于根MAC地址本身就是根优先级,修改根MAC地址也就等于修改根优先级,如果需要修改根MAC地址并修改根优先级,也只需要修改根MAC地址即等于修改了根MAC地址并修改了根优先级。例如,所述接收模块404,还用于通过第三以太网端口接收第二根协商帧,第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级。第一修改模块,用于如果发送所述第二根协商帧的网络设备的根优先级高于网络设备的根优先级,将该网络设备的根MAC地址修改为发送第二根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送第二根协商帧的网络设备的根优先级。
如果内部网络中的网络设备的根MAC地址是预先设置的,则该网络设备所在内部网络中的所有网络设备的根MAC地址已经被预先设置为相同的根MAC地址。这种情况下,需要协商以太网端口的类型。环路避免设备还包括第二修改模块。根协商帧中可以不包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。或者,网络设备中的以太网端口中的端口标识数值最小或最大的一个或多个以太网端口的类型被指定为第二类型。在建立内部网络时,要求两个非专用于和内部网络中的其他网络设备相连的以太网端口之间不能相连,或者相连的两个非专用于和内部网络中的其他网络设备相连的以太网端口中的至少一个处于阻塞状态。内部网络被建立之后,网络设备的发送模块402通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。例如,发送模块402通过第三以太网端口发送第一根协商帧,该第三以太网端口的类型为第二类型。
网络设备接收到根协商帧的以太网端口的类型可能是第一类型也可能是第二类型。如果接收根协商帧的以太网端口的类型是第二类型,网络设备无需进一步响应。如果接收根协商帧的以太网端口的类型是第一类型,响应于接收到根协商帧,该网络设备的第二修改模块将该以太网端口的类型修改为第二类型。例如,接收模块404,还用于通过网络设备的第四以太网端口接收第三根协商帧,该第四以太网端口的类型为第一类型。第二修改模块,用于将第四以太网端口的类型修改为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,网络设备的发送模块402发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。内部网络被建立之后,网络设备通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。例如,网络设备通过第三以太网端口发送第一根协商帧,该第一根协商帧包括该网络设备的根MAC地址和该网络设备的根优先级,该第三以太网端口的类型为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,网络设备接收的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。环路避免设备还包括第三修改模块。网络设备接收到根协商帧的以太网端口的类型可能是第一类型也可能是第二类型。如果接收根协商帧的以太网端口的类型是第二类型,网络设备无需修改以太网端口的类型。如果接收根协商帧的以太网端口的类型是第一类型,响应于接收到根协商帧,网络设备的第三修改模块将该以太网端口的类型修改为第二类型。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,该网络设备的第三修改模块将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,该网络设备的第三修改模块无需修改根MAC地址和根优先级。例如,接收模块404,还用于通过网络设备的第五以太网端口接收第四根协商帧,第四根协商帧包括发送第四根协商帧的网络设备的根MAC地址和发送第四根协商帧的网络设备的根优先级,第五以太网端口的类型为第一类型。第三修改模块,用于将第五以太网端口的类型修改为第二类型。第三修改模块,还用于如果发送第四根协商帧的网络设备的根优先级高于该网络设备的根优先级,将该网络设备的根MAC地址修改为发送第四根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送第四根协商帧的网络设备的根优先级。
图5为本发明实施例中网络设备的结构图。该网络设备可以是网络交换机或作为MAC桥的其他类型网络设备。该网络设备包括处理器502,存储器504,多个以太网端口506以及总线。处理器502连接到存储器504。处理器502连接到多个以太网端口506。一般实现中,处理器502通过总线连接到存储器504。总线在图5中以粗线表示。
该网络设备有一个专用于检测环路的MAC地址,称为根MAC地址。为了区别于根MAC地址,该网络设备的物理地址被称为网桥MAC地址。网络设备的以太网端口被区分为两种类型,即第一类型和第二类型。类型为第一类型的以太网端口是可能和外部网络相连的以太网端口。类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口。网络设备的多个以太网端口506中的哪些以太网端口的类型是第二类型可以是根据内部网络的拓扑预先设置的,也可以通过协商动态设置。一个具体的协商以太网端口的类型的例子可以参见后续场景的描述。
内部网络的拓扑为无环的。可以在物理连接上保证内部网络中的没有环路,也可以通过预先配置阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路,还可以可以通过破环协议阻塞内部网络中的网络设备的某些端口以保证内部网络中的没有环路。
内部网络中的多个网络设备都使用相同的根MAC地址以检测环路。该内部网络中的所有网络设备的网桥MAC地址都和该根MAC地址不同;或者,该内部网络中的所有网络设备中仅有一个网络设备的网桥MAC地址和该根MAC地址相同,其他所有网络设备的网桥MAC地址都和该根MAC地址不同。内部网络中的多个网络设备中的每个网络设备发送的环路检测帧都以该根MAC地址作为源地址。由于内部网络中的所有网络设备的根MAC地址相同,如果外部网络在不同的两个的网络设备间成环,这两个网络设备可以接收到对方发送的环路检测帧,并且环路检测帧的源地址和这两个网络设备的根MAC地址相同,从而可以简易的确定存在环路。
可以预先设置内部网络中的所有网络设备的根MAC地址,以使得所有网络设备的根MAC地址相同。可替换的,也可以采用协商的方式使得内部网络中的所有网络设备的根MAC地址相同。协商完成后,内部网络中的所有网络设备的根MAC地址是该内部网络中初始的根优先级最高的根MAC地址。一个具体的协商根MAC地址的例子可以参见后续场景的描述。
处理器502可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器502还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmablelogic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gatearray,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。图5中以CPU和NP的组合说明了其中一种可能的结构,该结构在图中以虚线表示,以表明该结构只是一种可能的可选项。
多个以太网端口506中包括第一以太网端口和第二以太网端口,第一以太网端口的类型为第一类型,第二以太网端口的类型为第一类型,第一以太网端口的环路避免优先级为第一环路避免优先级,第二以太网端口的环路避免优先级为第二环路避免优先级。
多个以太网端口506的中的各个以太网端口的状态可以为开、关或阻塞等。网络设备的以太网端口通过以太网线缆连接上另一网络设备后该以太网端口的状态改变为UP。
存储器504可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器504也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器504还可以包括上述种类的存储器的组合。存储器504用于存储所述网络设备的根MAC地址,所述网络设备的根MAC地址和网络设备的网桥MAC地址不同。存储器504还可以用于存储网络设备的网桥MAC地址。存储器504还可以用于存储网络设备的各个以太网端口的端口优先级。
处理器502,用于通过第一以太网端口发送第一环路检测帧,第一环路检测帧包括所述第一环路避免优先级,所述第一环路检测帧的源地址为网络设备的根MAC地址。
处理器502可以通过所有处于UP状态的第一类型的以太网端口发送环路检测帧。可选的,一旦以太网端口的状态改变为UP,处理器502通过以太网端口发送环路检测帧。可替换的,处理器502可以周期性地通过状态为UP的以太网端口发送环路检测帧。
环路检测帧可以是广播帧也可以是组播帧。环路检测帧具有特定的格式以表明该帧的用途,即专用于检测外部网络是否存在环路的帧。例如,环路检测帧的EtherType字段的值为特殊值,该特殊值用于指示EtherType字段的值为该特殊值的广播帧或组播帧是环路检测帧。又如,环路检测帧是组播帧,该环路检测帧的目的地址是特定的组MAC地址,例如01-80-C2-00-00-13,该特定的组MAC地址用于指示目的地址是该特定的组MAC地址的组播帧是环路检测帧。
环路检测帧包括环路避免优先级字段,该环路避免优先级字段的值为发送该环路检测帧的以太网端口的环路避免优先级。环路检测帧的源地址为发送该环路检测帧的网络设备的根MAC地址。内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同。
处理器502,还用于通过所述第二以太网端口接收第二环路检测帧,第二环路检测帧的源地址为根MAC地址,第二环路检测帧包括第三环路避免优先级。所述处理器502,还用于比较第二环路避免优先级和第三环路避免优先级,如果第三环路避免优先级高于第二环路避免优先级,处理器502阻塞第二以太网端口,并丢弃第二环路检测帧。
网络设备发送的环路检测帧是广播帧或组播帧,因此如果该网络设备的一个以太网端口通过外部网络连接到该网络设备的另一个以太网端口,该另一个以太网端口会接收到该环路检测帧。或者如果该网络设备的一个以太网端口连接到该网络设备所在内部网络内的另一个网络设备的以太网端口,该另一个网络设备的以太网端口会接收到该环路检测帧,并且该网络设备的以太网端口会接收到该另一个网络设备的与该网络设备相连以太网端口发送的环路检测帧。该网络设备的该以太网端口可以通过以太网线缆直接连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。该网络设备的该以太网端口也可以通过外部网络中的一个或多个网络设备连接到该网络设备的另一个以太网端口或者该网络设备所在内部网络内的另一个网络设备的以太网端口。
处理器502通过第二以太网端口接收到第二环路检测帧,另一方面,由于第二以太网端口的类型为第一类型,发送第二环路检测帧的以太网端口也会收到处理器502通过第二以太网端口发送的环路检测帧。第二以太网端口和发送第二环路检测帧的以太网端口中有一个要被阻塞。这两个以太网端口中哪一个被阻塞由这两个以太网端口的环路避免优先级决定。环路避免优先级低的以太网端口被阻塞。
这里所称的环路避免优先级的高低不是指环路避免优先级的数值大小,而是指环路避免优先级不同的以太网端口被阻塞的顺序。例如可以规定一个全序集合,内部网络中的各个以太网端口的环路避免优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个环路避免优先级的高低。例如,环路避免优先级为正整数,两个环路避免优先级中较小的那个的环路避免优先级更高,或者两个环路避免优先级中较大的那个的环路避免优先级更高。又例如,环路避免优先级为网络设备的以太网端口的端口优先级和网络设备的网桥MAC地址的组合。两个环路避免优先级中网桥MAC地址的数值较小的那个的环路避免优先级更高,或者两个环路避免优先级中网桥MAC地址的数值较大的那个的环路避免优先级更高。如果两个环路避免优先级中网桥MAC地址的数值相同,则以太网端口的端口优先级较高的那个的环路避免优先级更高。由于各个网络设备的网桥MAC地址各不相同,并且单个设备可以保证该设备的各个以太网端口的端口优先级互不相同,从而可以保证内部网络中的所有网络设备的所有以太网端口中的任意两个的环路避免优先级都互不相同,并且任意两个环路避免优先级之间可以比较高低。多个以太网端口506中的各个以太网端口的环路避免优先级存储在存储器504中。
如果网络设备由CPU完成转发,则上述操作都由CPU执行。存储器504中存储有指令代码,CPU根据存储器504中的指令代码执行上述操作。
如果网络设备由NP完成转发,则上述操作可以都由NP执行,也可以由NP配合CPU执行。如果上述操作都由NP执行,则由NP发送第一环路检测帧。如果上述操作由NP配合CPU执行,则由CPU发送第一环路检测帧。
为了确定收到的帧是否为环路检测帧,网络设备还可以包括内容可寻址存储器(英文:content-addressable memory,缩写:CAM),例如三态CAM(英文:ternary CAM,缩写:TCAM)。图5中以该网络设备包括CAM说明了其中一种可能的结构,该结构在图中以虚线表示,以表明该结构只是一种可能的可选项。CAM存储有匹配环路检测帧的特征的访问控制列表(英文:access control list,缩写:ACL)。CAM和NP连接,NP将待转发帧交由CAM执行ACL操作,在接收到的以太网帧中找到环路检测帧。网络设备可以确定找到的环路检测帧的源地址是否为根MAC地址。ACL中可以包括根MAC地址以匹配源地址为根MAC地址的环路检测帧。ACL中也可以不包括根MAC地址,找到环路检测帧由NP确定环路检测帧的源地址是否为根MAC地址。如果ACL中包括根MAC地址以匹配源地址为根MAC地址的环路检测帧,则ACL中可以包括另一个ACL以匹配源地址不为根MAC地址的环路检测帧,以丢弃源地址不为根MAC地址的环路检测帧。
如果上述操作都由NP执行,NP找到源地址为根MAC地址的第二环路检测帧后,比较第二环路避免优先级和第三环路避免优先级,如果第三环路避免优先级高于第二环路避免优先级,NP阻塞第二以太网端口,并丢弃第二环路检测帧。如果上述操作由NP配合CPU执行,NP找到源地址为根MAC地址的第二环路检测帧后,将该第二环路检测帧发送给CPU,由CPU比较第二环路避免优先级和第三环路避免优先级,如果第三环路避免优先级高于第二环路避免优先级,CPU阻塞第二以太网端口,并丢弃第二环路检测帧。如果上述操作由NP配合CPU执行,存储器504中存储有指令代码,CPU根据存储器504中的指令代码执行上述由CPU执行的操作。
如果网络设备由硬件芯片,例如ASIC或FPGA完成转发,则上述操作可以由硬件芯片配合CPU执行。存储器504中存储有指令代码,CPU根据存储器504中的指令代码执行下述由CPU执行的操作。其中,由CPU发送第一环路检测帧。
为了确定收到的帧是否为环路检测帧,网络设备还可以包CAM,例如TCAM。CAM存储有匹配环路检测帧的特征的ACL。CAM和硬件芯片连接,硬件芯片将待转发帧交由CAM执行ACL操作,在接收到的以太网帧中找到环路检测帧。网络设备可以确定找到的环路检测帧的源地址是否为根MAC地址。ACL中可以包括根MAC地址以匹配源地址为根MAC地址的环路检测帧。ACL中也可以不包括根MAC地址,找到环路检测帧由硬件芯片确定环路检测帧的源地址是否为根MAC地址。如果ACL中包括根MAC地址以匹配源地址为根MAC地址的环路检测帧,则ACL中可以包括另一个ACL以匹配源地址不为根MAC地址的环路检测帧,以丢弃源地址不为根MAC地址的环路检测帧。
硬件芯片找到源地址为根MAC地址的第二环路检测帧后,将该第二环路检测帧发送给CPU,由CPU比较第二环路避免优先级和第三环路避免优先级,如果第三环路避免优先级高于第二环路避免优先级,CPU阻塞第二以太网端口,并丢弃第二环路检测帧。
在有些网络架构,例如软件定义网络(英文:software-defined networking,缩写:SDN)架构中,执行环路避免优先级的比较的CPU可以位于一个独立的设备,如控制器(英文:controller)中,网络设备的硬件芯片,NP或CPU找到源地址为根MAC地址的环路检测帧后发送给控制器,由控制器决定是否阻塞接收该环路检测帧的端口。由于网络设备的硬件芯片,NP或CPU和控制器的处理器的组合与上述由NP配合CPU执行操作或由硬件芯片配合CPU执行操作相同,可以将网络设备的硬件芯片,NP或CPU和独立的控制器的组合作为该网络设备的处理器,构成本发明实施例的一种实现。
由于处理器根据环路避免优先级阻塞类型为第一类型的以太网端口,即与外部网络连接的以太网端口,避免了改变内部网络的拓扑。
以下描述内部网络协商的场景。该内部网络协商包括协商以太网端口的类型以及协商根MAC地址两部分,这两部分可以分别独立实施也可以共同实施。
内部网络协商的场景中,处理器502还用于发送和接收根协商帧。根协商帧可以由CPU发送和接收,也可以由NP发送和接收。根协商帧是内部网络中的两个网络设备之间用于协商以太网端口的类型或者协商根MAC地址的帧。根协商帧也可以既用于协商以太网端口的类型也用于协商根MAC地址。根协商帧可以是自定义的PDU,也可以是扩展的传统协议的PDU,例如LLDPDU。根协商帧的源MAC地址是发送该根协商帧的网络设备的网桥MAC地址。根协商帧的目的MAC地址是接收该根协商帧的网络设备的网桥MAC地址,或者是特定的组播地址。
如果以太网端口的类型是预先设置的,则该网络设备的多个以太网端口506中和该网络设备所在内部网络中的其他网络设备相连的以太网端口的类型已经被预先设置为第二类型。这种情况下,需要协商根MAC地址。处理器502发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。根优先级是用于确定根MAC地址的优先级。网络设备初始的根MAC地址可以和该网络设备的网桥MAC地址相同,也可以和该网络设备的网桥MAC地址不同。内部网络中的所有网络设备中的任意两个的根优先级都互不相同。处理器502通过所有类型为第二类型的以太网端口发送该根协商帧。由于以太网端口的类型是根据内部网络的拓扑预先设置的,处理器502只会通过类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。例如,多个以太网端口506中还包括第三以太网端口,第三以太网端口的类型为第二类型。处理器502通过第三以太网端口发送第一根协商帧,第一根协商帧包括网络设备的根MAC地址和网络设备的根优先级。
由于以太网端口的类型是根据内部网络的拓扑预先设置的,处理器502只会通过类型为第二类型的以太网端口接收其他网络设备发送的根协商帧。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,处理器502将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,处理器502无需修改根MAC地址和根优先级。这里所称的根优先级的高低不是指根优先级的数值大小,而是指根优先级不同的根MAC地址被指定为整个内部网络唯一的根MAC地址的顺序。例如可以规定一个全序集合,内部网络中的各个网络设备的根优先级分别为该全序集合中的一个元素,并以该全序集合的全序关系定义任意两个根优先级的高低。例如,根优先级为正整数,两个根优先级中较小的那个的根优先级更高,或者两个根优先级中较大的那个的根优先级更高。又例如,根优先级为根MAC地址的值,即根协商帧中不需要两个字段分别携带发送该根协商帧的网络设备的根MAC地址和根优先级,而只需要一个字段携带发送该根协商帧的网络设备的根MAC地址也就是该网络设备的根优先级。两个根MAC地址中数值较小的那个根MAC地址的根优先级更高,或者两个根MAC地址中数值较大的那个根MAC地址根优先级更高。由于根MAC地址本身就是根优先级,修改根MAC地址也就等于修改根优先级,如果需要修改根MAC地址并修改根优先级,也只需要修改根MAC地址即等于修改了根MAC地址并修改了根优先级。而如果根优先级为有别于根MAC地址的另一个值,根优先级可以存储在存储器504中。例如,处理器502还用于通过第三以太网端口接收第二根协商帧,第二根协商帧包括发送第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级。如果发送所述第二根协商帧的网络设备的根优先级高于网络设备的根优先级,处理器502将该网络设备的根MAC地址修改为发送第二根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送第二根协商帧的网络设备的根优先级。
如果内部网络中的网络设备的根MAC地址是预先设置的,则该网络设备所在内部网络中的所有网络设备的根MAC地址已经被预先设置为相同的根MAC地址。这种情况下,需要协商以太网端口的类型。根协商帧中可以不包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。或者,网络设备中的以太网端口中的端口标识数值最小或最大的一个或多个以太网端口506的类型被指定为第二类型。在建立内部网络时,要求两个非专用于和内部网络中的其他网络设备相连的以太网端口之间不能相连,或者相连的两个非专用于和内部网络中的其他网络设备相连的以太网端口中的至少一个处于阻塞状态。内部网络被建立之后,处理器502通过所有类型为第二类型的以太网端口发送该根协商帧。例如,处理器502通过第三以太网端口发送第一根协商帧,该第三以太网端口的类型为第二类型。
处理器502可能通过类型为第一类型的以太网端口接收到根协商帧,也可能通过类型为第二类型的以太网端口接收到根协商帧。如果处理器502通过类型是第二类型的以太网端口接收根协商帧,处理器502无需进一步处理。如果处理器502通过类型是第一类型的以太网端口接收根协商帧,响应于接收到根协商帧,处理器502将该以太网端口的类型修改为第二类型。例如,网络设备还包括第四以太网端口,第四以太网端口的类型为第一类型。处理器502通过第四以太网端口接收第三根协商帧后,将第四以太网端口的类型修改为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,处理器502发送的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。网络设备中一些以太网端口已经被指定为专用于和内部网络中的其他网络设备相连的以太网端口,即网络设备中一些以太网端口的类型已经被指定为第二类型。网络设备中其他以太网端口的类型被默认设置为第一类型。例如,网络设备中的上行端口的类型被指定为第二类型。内部网络被建立之后,处理器502通过该网络设备的所有类型为第二类型的以太网端口发送该根协商帧。例如,处理器502通过第三以太网端口发送第一根协商帧,该第一根协商帧包括该网络设备的根MAC地址和该网络设备的根优先级,该第三以太网端口的类型为第二类型。
如果以太网端口的类型和根MAC地址都需要协商,处理器502接收的根协商帧中包括该网络设备的根MAC地址和该网络设备的根优先级。处理器502可能通过类型为第一类型的以太网端口接收到根协商帧,也可能通过类型为第二类型的以太网端口接收到根协商帧。如果处理器502通过类型是第二类型的以太网端口接收根协商帧,处理器502无需修改以太网端口的类型。如果处理器502通过类型是第一类型的以太网端口接收根协商帧,响应于接收到根协商帧,处理器502将该以太网端口的类型修改为第二类型。如果发送该根协商帧的网络设备的根优先级高于该网络设备的根优先级,处理器502将该网络设备的根MAC地址修改为发送该根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送该根协商帧的网络设备的根优先级。如果发送该根协商帧的网络设备的根优先级低于该网络设备的根优先级,处理器502无需修改根MAC地址和根优先级。例如,网络设备还包括第五以太网端口,第五以太网端口的类型为第一类型。处理器502通过第五以太网端口接收第四根协商帧,第四根协商帧包括发送第四根协商帧的网络设备的根MAC地址和发送第四根协商帧的网络设备的根优先级。处理器502将第五以太网端口的类型修改为第二类型。如果发送第四根协商帧的网络设备的根优先级高于该网络设备的根优先级,处理器502将该网络设备的根MAC地址修改为发送第四根协商帧的网络设备的根MAC地址并将该网络设备的根优先级修改为发送第四根协商帧的网络设备的根优先级。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (21)
1.一种环路避免系统,其特征在于,包括第一网络设备和第二网络设备,所述第一网络设备和所述第二网络设备都在内部网络中,所述内部网络为拓扑被保证为无环的网络;
所述第一网络设备的第一以太网端口的类型为第一类型,所述第一以太网端口的环路避免优先级为第一环路避免优先级,所述第一网络设备的根介质访问控制MAC地址和所述第一网络设备的网桥MAC地址不同;类型为第一类型的以太网端口是能够和外部网络相连的以太网端口;
所述第二网络设备的第二以太网端口的类型为第一类型,所述第二以太网端口的环路避免优先级为第二环路避免优先级,所述第二网络设备的根MAC地址和所述第二网络设备的网桥MAC地址不同,所述第二网络设备的根MAC地址和所述第一网络设备的根MAC地址相同;
其中,
所述第一网络设备,用于通过所述第一以太网端口发送环路检测帧,所述环路检测帧包括所述第一环路避免优先级,所述环路检测帧的源地址为所述第一网络设备的所述根MAC地址;
所述第二网络设备,用于通过所述第二以太网端口接收所述环路检测帧,如果所述第一环路避免优先级高于所述第二环路避免优先级,阻塞所述第二以太网端口,所述第二网络设备,还用于丢弃所述环路检测帧。
2.根据权利要求1所述的系统,其特征在于,所述第一网络设备的第三以太网端口的类型为第二类型,所述系统还包括第三网络设备,所述第三网络设备在内部网络中,所述第三网络设备的第四以太网端口的类型为第二类型;类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口;
所述第一网络设备还用于通过所述第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述第一网络设备的根MAC地址和所述第一网络设备的根优先级;
所述第三网络设备,用于通过第四以太网端口接收所述第一根协商帧,如果所述第一网络设备的根优先级高于所述第三网络设备的根优先级,所述第三网络设备将所述第三网络设备的根MAC地址修改为所述第一网络设备的根MAC地址并将所述第三网络设备的根优先级修改为所述第一网络设备的根优先级。
3.根据权利要求1所述的系统,其特征在于,所述第一网络设备的第五以太网端口的类型为第一类型,所述第一网络设备还用于通过所述第五以太网端口接收第三根协商帧,将所述第五以太网端口的类型修改为第二类型。
4.根据权利要求2所述的系统,其特征在于,所述第一网络设备的第五以太网端口的类型为第一类型,所述第一网络设备还用于通过所述第五以太网端口接收第三根协商帧,将所述第五以太网端口的类型修改为第二类型。
5.根据权利要求1至4中任意一项所述的系统,其特征在于,所述第一网络设备的第六以太网端口的类型为第二类型,所述系统还包括第四网络设备,所述第四网络设备在内部网络中,所述第四网络设备的第七以太网端口的类型为第一类型;
所述第一网络设备还用于通过所述第六以太网端口发送第四根协商帧,所述第四根协商帧包括所述第一网络设备的根MAC地址和所述第一网络设备的根优先级;
所述第四网络设备,用于通过所述第七以太网端口接收所述第四根协商帧,所述第四网络设备将所述第七以太网端口的类型修改为第二类型,如果所述第一网络设备的根优先级高于所述第四网络设备的根优先级,将所述第四网络设备的根MAC地址修改为所述第一网络设备的根MAC地址并将所述第四网络设备的根优先级修改为所述第一网络设备的根优先级。
6.一种环路避免方法,其特征在于,包括:
网络设备通过第一以太网端口发送第一环路检测帧,所述第一以太网端口的类型为第一类型,所述第一环路检测帧包括第一环路避免优先级,所述第一环路避免优先级为所述第一以太网端口的环路避免优先级,所述第一环路检测帧的源地址为所述网络设备的根介质访问控制MAC地址,所述网络设备的根MAC地址和所述网络设备的网桥MAC地址不同;类型为第一类型的以太网端口是能够和外部网络相连的以太网端口;
所述网络设备通过第二以太网端口接收第二环路检测帧,所述第二环路检测帧的源地址为所述根MAC地址,所述第二环路检测帧包括第二环路避免优先级,所述第二以太网端口的环路避免优先级为第三环路避免优先级;
如果所述第二环路避免优先级高于所述第三环路避免优先级,所述网络设备阻塞所述第二以太网端口;
所述网络设备丢弃所述第二环路检测帧。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述网络设备通过第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述网络设备的根MAC地址和所述网络设备的根优先级,所述第三以太网端口的类型为第二类型;类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口;
所述网络设备通过所述第三以太网端口接收第二根协商帧,所述第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级;
如果发送所述第二根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述网络设备将所述网络设备的根MAC地址修改为发送所述第二根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第二根协商帧的网络设备的根优先级。
8.根据权利要求6所述的方法,其特征在于,还包括:
所述网络设备通过第四以太网端口接收第三根协商帧,所述第四以太网端口的类型为第一类型;
所述网络设备将所述第四以太网端口的类型修改为第二类型。
9.根据权利要求7所述的方法,其特征在于,还包括:
所述网络设备通过第四以太网端口接收第三根协商帧,所述第四以太网端口的类型为第一类型;
所述网络设备将所述第四以太网端口的类型修改为第二类型。
10.根据权利要求6至9中任意一项所述的方法,其特征在于,还包括:
所述网络设备通过第五以太网端口接收第四根协商帧,所述第四根协商帧包括发送所述第四根协商帧的网络设备的根MAC地址和发送所述第四根协商帧的网络设备的根优先级,所述第五以太网端口的类型为第一类型;
所述网络设备将所述第五以太网端口的类型修改为第二类型;
如果发送所述第四根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述网络设备将所述网络设备的根MAC地址修改为发送所述第四根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第四根协商帧的网络设备的根优先级。
11.一种环路避免设备,其特征在于,包括发送模块,接收模块和阻塞模块;其中,
所述发送模块,用于通过网络设备的第一以太网端口发送第一环路检测帧,所述第一以太网端口的类型为第一类型,所述第一环路检测帧包括第一环路避免优先级,所述第一环路避免优先级为所述第一以太网端口的环路避免优先级,所述第一环路检测帧的源地址为所述网络设备的根介质访问控制MAC地址,所述网络设备的根MAC地址和所述网络设备的网桥MAC地址不同;类型为第一类型的以太网端口是能够和外部网络相连的以太网端口;
所述接收模块,用于通过所述网络设备的第二以太网端口接收第二环路检测帧,所述第二环路检测帧的源地址为所述根MAC地址,所述第二环路检测帧包括第二环路避免优先级,所述第二以太网端口的环路避免优先级为第三环路避免优先级,还用于丢弃所述第二环路检测帧;
所述阻塞模块,用于如果所述第二环路避免优先级高于所述第三环路避免优先级,阻塞所述第二以太网端口。
12.根据权利要求11所述的设备,其特征在于,还包括第一修改模块;
所述发送模块,还用于通过所述网络设备的第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述网络设备的根MAC地址和所述网络设备的根优先级,所述第三以太网端口的类型为第二类型;类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口;
所述接收模块,还用于通过所述第三以太网端口接收第二根协商帧,所述第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级;
所述第一修改模块,用于如果发送所述第二根协商帧的网络设备的根优先级高于所述网络设备的根优先级,将所述网络设备的根MAC地址修改为发送所述第二根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第二根协商帧的网络设备的根优先级。
13.根据权利要求11所述的设备,其特征在于,还包括第二修改模块;
所述接收模块,还用于通过所述网络设备的第四以太网端口接收第三根协商帧,所述第四以太网端口的类型为第一类型;
所述第二修改模块,用于将所述第四以太网端口的类型修改为第二类型。
14.根据权利要求12所述的设备,其特征在于,还包括第二修改模块;
所述接收模块,还用于通过所述网络设备的第四以太网端口接收第三根协商帧,所述第四以太网端口的类型为第一类型;
所述第二修改模块,用于将所述第四以太网端口的类型修改为第二类型。
15.根据权利要求11至14中任意一项所述的设备,其特征在于,还包括第三修改模块;
所述接收模块,还用于通过所述网络设备的第五以太网端口接收第四根协商帧,所述第四根协商帧包括发送所述第四根协商帧的网络设备的根MAC地址和发送所述第四根协商帧的网络设备的根优先级,所述第五以太网端口的类型为第一类型;
所述第三修改模块,用于将所述第五以太网端口的类型修改为第二类型;
所述第三修改模块,还用于如果发送所述第四根协商帧的网络设备的根优先级高于所述网络设备的根优先级,将所述网络设备的根MAC地址修改为发送所述第四根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第四根协商帧的网络设备的根优先级。
16.一种网络设备,其特征在于,包括处理器,存储器以及多个以太网端口,所述处理器连接到所述存储器,所述处理器连接到所述多个以太网端口;其中,
所述多个以太网端口中包括第一以太网端口和第二以太网端口,所述第一以太网端口的类型为第一类型,所述第二以太网端口的类型为第一类型,所述第一以太网端口的环路避免优先级为第一环路避免优先级,所述第二以太网端口的环路避免优先级为第二环路避免优先级;类型为第一类型的以太网端口是能够和外部网络相连的以太网端口;
其中,
所述网络设备的存储器用于存储所述网络设备的根介质访问控制MAC地址,所述网络设备的根MAC地址和所述网络设备的网桥MAC地址不同;
所述处理器,用于通过所述第一以太网端口发送第一环路检测帧,所述第一环路检测帧包括所述第一环路避免优先级,所述第一环路检测帧的源地址为所述网络设备的根MAC地址;
所述处理器,还用于通过所述第二以太网端口接收第二环路检测帧,所述第二环路检测帧的源地址为所述根MAC地址,所述第二环路检测帧包括第三环路避免优先级;
所述处理器,还用于比较所述第二环路避免优先级和所述第三环路避免优先级,如果所述第三环路避免优先级高于所述第二环路避免优先级,所述处理器阻塞所述第二以太网端口,并丢弃所述第二环路检测帧。
17.根据权利要求16所述的网络设备,其特征在于,所述多个以太网端口中还包括第三以太网端口,所述第三以太网端口的类型为第二类型;类型为第二类型的以太网端口是和内部网络中其他网络设备相连的以太网端口;
所述处理器通过所述第三以太网端口发送第一根协商帧,所述第一根协商帧包括所述网络设备的根MAC地址和所述网络设备的根优先级;
所述处理器通过所述第三以太网端口接收第二根协商帧,所述第二根协商帧包括发送所述第二根协商帧的网络设备的根MAC地址和发送所述第二根协商帧的网络设备的根优先级;
如果发送所述第二根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述处理器将所述网络设备的根MAC地址修改为发送所述第二根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第二根协商帧的网络设备的根优先级。
18.根据权利要求16所述的网络设备,其特征在于,所述网络设备还包括第四以太网端口,所述第四以太网端口的类型为第一类型;
所述处理器通过所述第四以太网端口接收第三根协商帧;
所述处理器将所述第四以太网端口的类型修改为第二类型。
19.根据权利要求17所述的网络设备,其特征在于,所述网络设备还包括第四以太网端口,所述第四以太网端口的类型为第一类型;
所述处理器通过所述第四以太网端口接收第三根协商帧;
所述处理器将所述第四以太网端口的类型修改为第二类型。
20.根据权利要求16至19中任意一项所述的网络设备,其特征在于,所述网络设备还包括第五以太网端口,所述第五以太网端口的类型为第一类型;
所述处理器所述处理器通过所述第五以太网端口接收第四根协商帧,所述第四根协商帧包括发送所述第四根协商帧的网络设备的根MAC地址和发送所述第四根协商帧的网络设备的根优先级;
所述处理器将所述第五以太网端口的类型修改为第二类型;
如果发送所述第四根协商帧的网络设备的根优先级高于所述网络设备的根优先级,所述处理器将所述网络设备的根MAC地址修改为发送所述第四根协商帧的网络设备的根MAC地址并将所述网络设备的根优先级修改为发送所述第四根协商帧的网络设备的根优先级。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令处理器,完成权利要求6至10任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410687509.8A CN105704020B (zh) | 2014-11-25 | 2014-11-25 | 环路避免方法,设备和系统 |
EP15195025.0A EP3026852B1 (en) | 2014-11-25 | 2015-11-17 | Loop avoidance method, device and system |
US14/949,451 US10142217B2 (en) | 2014-11-25 | 2015-11-23 | Loop avoidance method, device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410687509.8A CN105704020B (zh) | 2014-11-25 | 2014-11-25 | 环路避免方法,设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105704020A CN105704020A (zh) | 2016-06-22 |
CN105704020B true CN105704020B (zh) | 2019-05-17 |
Family
ID=54754429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410687509.8A Active CN105704020B (zh) | 2014-11-25 | 2014-11-25 | 环路避免方法,设备和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10142217B2 (zh) |
EP (1) | EP3026852B1 (zh) |
CN (1) | CN105704020B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106231007B (zh) * | 2016-09-14 | 2019-04-12 | 浙江宇视科技有限公司 | 一种防止mac地址漂移的方法及装置 |
CN107968753B (zh) * | 2016-10-20 | 2021-08-13 | 华为技术有限公司 | 修改媒体接入控制地址转发表的方法和装置 |
CN107040431B (zh) * | 2017-03-16 | 2021-06-04 | 台州市吉吉知识产权运营有限公司 | 一种检测ap的lan口环路的方法及系统 |
US10516599B1 (en) | 2018-08-31 | 2019-12-24 | Hewlett Packard Enterprise Development Lp | Link priority for loop-protect |
CN109462518B (zh) * | 2018-10-24 | 2020-10-02 | 新华三技术有限公司 | 一种环路检测的方法及装置 |
JP7326868B2 (ja) * | 2019-05-22 | 2023-08-16 | オムロン株式会社 | ネットワーク機器 |
CN110391957A (zh) * | 2019-07-26 | 2019-10-29 | 新华三技术有限公司合肥分公司 | 环路检测方法和装置 |
TWI708490B (zh) * | 2019-11-19 | 2020-10-21 | 智易科技股份有限公司 | 網狀網路主從式架構角色決定與迴圈預防方法及實施該方法的網路裝置 |
CN113014466B (zh) * | 2019-12-19 | 2022-08-16 | 西安诺瓦星云科技股份有限公司 | 网口环路检测方法和系统 |
US11689455B2 (en) * | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
JP2023535149A (ja) | 2020-07-14 | 2023-08-16 | オラクル・インターナショナル・コーポレイション | Vlanスイッチングおよびルーティングサービスのためのシステムおよび方法 |
CN112003783B (zh) * | 2020-08-21 | 2022-07-22 | 烽火通信科技股份有限公司 | 一种以太网二层防环的方法及装置 |
CN112491699B (zh) * | 2020-11-05 | 2022-04-01 | 普联技术有限公司 | 一种环路避免方法、装置及终端设备 |
US11757773B2 (en) | 2020-12-30 | 2023-09-12 | Oracle International Corporation | Layer-2 networking storm control in a virtualized cloud environment |
US11777897B2 (en) | 2021-02-13 | 2023-10-03 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
CN113225376B (zh) * | 2021-03-29 | 2022-07-08 | 桂林电子科技大学 | 一种基于fpga的以太网帧与sdn数据帧的适配方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1675320A1 (en) * | 2004-12-22 | 2006-06-28 | Alcatel | Loops detection in Ethernet networks |
CN101707538A (zh) * | 2009-11-25 | 2010-05-12 | 烽火通信科技股份有限公司 | 一种检测以太网环路并且自动恢复的方法 |
CN102055525A (zh) * | 2010-12-17 | 2011-05-11 | 北京格林伟迪科技有限公司 | 环路检测和控制方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6879594B1 (en) * | 1999-06-07 | 2005-04-12 | Nortel Networks Limited | System and method for loop avoidance in multi-protocol label switching |
US6798739B1 (en) * | 1999-06-07 | 2004-09-28 | Nortel Networks Limited | Mechanism for splicing trees |
US7539154B1 (en) * | 2000-10-17 | 2009-05-26 | Cisco Technology, Inc. | Method and apparatus to detect and break loop configuration |
US6857027B1 (en) * | 2000-11-14 | 2005-02-15 | 3Com Corporation | Intelligent network topology and configuration verification using a method of loop detection |
US7564858B1 (en) * | 2003-08-01 | 2009-07-21 | Foundry Networks, Inc. | System and method for enabling a remote instance of a loop avoidance protocol |
US7558205B1 (en) * | 2003-08-01 | 2009-07-07 | Foundry Networks, Inc. | System and method for detecting and isolating a remote loop |
US20050076140A1 (en) * | 2003-09-24 | 2005-04-07 | Hei Tao Fung | [topology loop detection mechanism] |
JP4397292B2 (ja) * | 2004-07-09 | 2010-01-13 | 富士通株式会社 | 制御パケットループ防止方法及びそれを用いたブリッジ装置 |
US20060285499A1 (en) * | 2005-06-17 | 2006-12-21 | Broadcom Corporation | Loop detection for a network device |
US7688756B2 (en) * | 2005-10-05 | 2010-03-30 | Nortel Networks Limited | Provider link state bridging |
US20080130503A1 (en) * | 2006-12-01 | 2008-06-05 | Gideon Kaempfer | Method and system for forwarding ethernet frames over redundant networks with all links enabled |
US8270319B2 (en) * | 2006-12-14 | 2012-09-18 | Rockstart Bidco, LP | Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas |
US8509618B2 (en) * | 2009-05-06 | 2013-08-13 | Ciena Corporation | Photonic routing systems and methods for loop avoidance |
US8665747B2 (en) * | 2009-12-03 | 2014-03-04 | Cisco Technology, Inc. | Preventing loops on network topologies built with virtual switches and VMS |
US9143447B2 (en) * | 2010-11-18 | 2015-09-22 | Nec Corporation | Closed loop formation preventing system and closed loop formation preventing method |
WO2012077126A1 (en) * | 2010-12-09 | 2012-06-14 | Tejas Networks Limited | A method and system for loop avoidance in a communication network |
US8467316B1 (en) * | 2010-12-29 | 2013-06-18 | Juniper Networks, Inc. | Enhanced address learning in layer two computer networks |
US9007958B2 (en) * | 2011-06-29 | 2015-04-14 | Brocade Communication Systems, Inc. | External loop detection for an ethernet fabric switch |
CN102340434B (zh) * | 2011-07-07 | 2014-03-26 | 杭州华三通信技术有限公司 | 基于多归属接入的环路避免方法和边缘设备 |
US9083484B2 (en) * | 2012-02-13 | 2015-07-14 | Ciena Corporation | Software defined networking photonic routing systems and methods |
TW201431320A (zh) * | 2013-01-24 | 2014-08-01 | Accton Technology Corp | 迴路偵測的方法及網路裝置 |
US9178799B2 (en) * | 2013-02-01 | 2015-11-03 | TELEFONAKTIEBOLAGET L M ERRICSSON (publ) | Method and system of shortest path bridging (SPB) enhanced resilience with loop mitigation |
CN103220218B (zh) * | 2013-04-28 | 2016-03-30 | 杭州华三通信技术有限公司 | 纵向堆叠组网中防止环路的方法和装置 |
US9712393B2 (en) * | 2013-10-15 | 2017-07-18 | Avaya Inc. | Network loop prevention |
US10320692B2 (en) * | 2014-09-11 | 2019-06-11 | Fujitsu Limited | Ethernet loopback detection and service traffic blocking |
-
2014
- 2014-11-25 CN CN201410687509.8A patent/CN105704020B/zh active Active
-
2015
- 2015-11-17 EP EP15195025.0A patent/EP3026852B1/en active Active
- 2015-11-23 US US14/949,451 patent/US10142217B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1675320A1 (en) * | 2004-12-22 | 2006-06-28 | Alcatel | Loops detection in Ethernet networks |
CN101707538A (zh) * | 2009-11-25 | 2010-05-12 | 烽火通信科技股份有限公司 | 一种检测以太网环路并且自动恢复的方法 |
CN102055525A (zh) * | 2010-12-17 | 2011-05-11 | 北京格林伟迪科技有限公司 | 环路检测和控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160149799A1 (en) | 2016-05-26 |
US10142217B2 (en) | 2018-11-27 |
CN105704020A (zh) | 2016-06-22 |
EP3026852A1 (en) | 2016-06-01 |
EP3026852B1 (en) | 2018-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105704020B (zh) | 环路避免方法,设备和系统 | |
US20210367853A1 (en) | Transmit specific traffic along blocked link | |
JP5752243B2 (ja) | パケットを処理および/または転送するための方法および装置 | |
US9531850B2 (en) | Inter-domain service function chaining | |
US9686137B2 (en) | Method and system for identifying an outgoing interface using openflow protocol | |
US9491109B2 (en) | Extended priority for Ethernet packets | |
US8886879B2 (en) | TCAM action updates | |
US10432510B2 (en) | Forwarding table of hybrid software defined networking switch | |
US9667440B2 (en) | Method and system for identifying an incoming interface using openflow protocol | |
US10454711B2 (en) | Method for obtaining port path and apparatus | |
WO2004040855A1 (en) | Multi- tiered virtual local area network (vlan) domain mapping mechanism | |
EP2596603B1 (en) | Ethernet switch and method for routing ethernet data packets | |
WO2017053452A1 (en) | Methods, systems, and computer readable media for advanced distribution in a link aggregation group | |
US10554556B2 (en) | Network element with congestion-aware match tables | |
US9124524B2 (en) | System and method for priority based flow control between nodes | |
JP7156310B2 (ja) | 通信装置、通信システム、通信制御方法、プログラム | |
US8407779B1 (en) | Transposing a packet firewall policy within a node | |
JP2006502637A (ja) | 配電網の中の通信システム上に仮想ローカルエリアネットワークを実現するための方法 | |
Cisco | Configuring IEEE 802.1Q and Layer 2 Protocol Tunneling | |
Cisco | Configuring IEEE 802.1Q Tunneling | |
JP2018064228A (ja) | パケット制御装置 | |
US20070274330A1 (en) | Network Bridge | |
CN106027353A (zh) | 信息处理装置以及网络系统 | |
US20130279502A1 (en) | Switch having dedicated stacking link |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |