CN1645834A - Mac桥接网络环路发现、空间重用和保护倒换的方法和装置 - Google Patents
Mac桥接网络环路发现、空间重用和保护倒换的方法和装置 Download PDFInfo
- Publication number
- CN1645834A CN1645834A CN 200510018238 CN200510018238A CN1645834A CN 1645834 A CN1645834 A CN 1645834A CN 200510018238 CN200510018238 CN 200510018238 CN 200510018238 A CN200510018238 A CN 200510018238A CN 1645834 A CN1645834 A CN 1645834A
- Authority
- CN
- China
- Prior art keywords
- bridge
- port
- topology
- loop
- message
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种MAC桥接网络,例如以太网,环路发现、空间重用和保护倒换的方法和装置。环路的控制网桥周期性发送的拓扑发现消息经过整个环路返回控制网桥,记录环路中的网桥和链路情况。控制网桥通过拓扑指示将拓扑信息通告环路的其它网桥,并指定保护网桥和保护端口。保护网桥阻塞保护端口,避免数据在环路中循环。网桥根据拓扑信息选择最短路径,实现空间重用,同时使用心博消息检测链路的连通性,并在发现链路故障时,通知保护网桥实现快速保护倒换。本发明可以在包含多个环路的复杂拓扑结构网络中,通过配置发现环路拓扑或者通过生成树协议簇中的协议自动发现环路拓扑,提高环路空间利用效率,实现50ms之内的快速保护倒换。
Description
技术领域
本发明涉及数据通信网络。本发明特别涉及MAC桥接网络,例如以太网,环路拓扑发现、空间重用网络的连接性检查和自动保护倒换。
背景技术
伴随着Internet的普及和新业务的不断出现,在局域网和城域网中的数据流量成指数级的增长。城域网主要采用的一种技术是同步数字序列(SDH/SONET),SDH/SONET提供自愈能力,通过保护倒换的方式提供50ms以内的1+1和1:N的保护。SDH/SONET采用时分复用方式,主要适应语音传输,用于数据传输则有成本较高和效率较低的缺点。
位于链路层的MAC桥接网络,特别是以太网,由于其简单、低成本和广泛使用的特点,被逐步广泛应用到城域网和园区网的建设中。目前MAC桥接网络主要采用的环路预防和路径保护的主要技术是由IEEE定义的生成树协议簇,包括802.1D生成树协议、802.1W快速生成树协议和802.1S多生成树协议。生成树协议簇中的协议面临的主要问题是使用生成树协议在环路中仅仅包含一个活动拓扑,数据的传输路径并非最短路径,环路的利用效率不高。另外,这些协议只能提供秒级的保护,即在一条链路发生故障时,协议在许多情况下需要1秒以上的时间发现故障并选择另一条有效链路。这种情况不能满足一些对于故障时间敏感的应用要求。
IEEE定义的802.17RPR(弹性分组环)实现了拓扑发现和50ms以下的快速保护倒换,但是RPR需要引入一个全新的MAC层,实现较为复杂;RPR只支持双纤环路,不适用网络中可能存在的其它复杂拓扑结构。
发明内容
本发明针对MAC桥接网络,特别是以太网,环路利用效率不高,缺乏50ms以内的快速保护倒换功能的缺点,提供了一种在MAC桥接网络中的环路拓扑发现、空间重用和自动保护倒换的方法。
为了文字简洁清晰的目的,做出如下定义:
“链路”:传送MAC帧的点对点通道。该通道可以是一条以太网物理链路或使用链路聚合技术的多条物理链路,也可以是一个“隧道”。“隧道”中可以使用WDM、MSTP、ATM、MPLS和各种路由协议等技术。
“环路”:由一个或者多个至少包含两个MAC网桥首尾相连构成。每个MAC网桥至少包含两个端口,并由这两个端口通过链路连接相邻的MAC网桥;
“VLAN环路”:支持IEEE 802.1Q的MAC桥接网络,由于端口可以属于不同的VLAN,所以在不同的VLAN中的实际拓扑是物理拓扑的一个子集,如果在一个VLAN中的拓扑构成一个环路,则该VLAN中的环路可称为VLAN环路;
“主环”:包含从环的环路。主环是相对所属从环的称谓,该主环也可以是其它环路的从环;
“从环”:两个环路中包含两个或者多个相同的MAC网桥以及一条或者多条相同的链路和连接端口,其中一个环路作为主环,另一个环路中该主环中不包含的MAC网桥、链路和端口构成从环。主环是相对所属主环的称谓,该从环也可以是其它环路的主环;
“接入网桥”:主环和从环共同链路端点的两个MAC网桥,即包含两个主环端口和一个从环端口的MAC网桥。接入网桥完成从环接入主环的功能;
“逻辑链路”:两个接入网桥位于主环中的传送路径。逻辑链路完成从环的两个接入网桥之间信息的收发,使从环在逻辑上构成一个完整的环路;
“闭合”:表示环路处于正常工作状态,链路不存在故障;
“开放”:表示环路的链路中存在一个或者多个失效或中断;
“控制帧”:实现本发明的各种控制消息,包括拓扑发现消息、拓扑指示、拓扑指示证实、拓扑无效指示、心博消息、拓扑改变报告、拓扑改变证实等;
“转发状态”:端口转发和接收数据帧和控制帧,端口的MAC学习功能使能;
“阻塞状态”:端口仅转发和接收控制帧,丢弃接收和需转发的数据帧,端口的MAC学习功能禁止;
“控制转发状态”:端口转发和接收控制帧,仅转发和接收目的地址为所属环路中网桥的MAC地址的单播数据帧,丢弃其它数据帧,端口的MAC学习功能禁止;
本发明的技术方案如下:
根据本发明的一个方面,MAC桥接网络的每个环路选择环路中的一个MAC网桥作为控制网桥,周期性通过环路中的一个或多个端口发送拓扑发现消息,该消息包含源网桥标识和拓扑信息,拓扑信息由源网桥的MAC地址和发送端口相连链路的代价构成。环路中的MAC网桥在接收到拓扑发现消息后,选择另一个或多个端口作为转发端口,并将由自己的MAC地址和发送端口相连的链路的代价构成的拓扑信息增加到拓扑发现消息中,通过发送端口转发该消息。拓扑发现消息沿环路传送并最终返回控制网桥,控制网桥记录消息中包含的拓扑信息,根据该信息生成拓扑指示,并选择所属环路中的一个网桥和网桥中属于该环路的一个端口分别作为保护网桥和保护端口,使用保护网桥标识和保护端口号构成保护信息,在拓扑指示中附加该信息。控制网桥选择网桥在该环路中的一个端口作为发送端口,向环路中相邻MAC网桥发送该指示。MAC网桥在接收拓扑指示后,记录该指示中包含的拓扑信息,向发送该指示的MAC网桥发送拓扑指示证实,并根据指示中包含的拓扑信息,向自己在环路中的另一个相邻MAC网桥转发该拓扑指示。同时网桥比较自己的标识和拓扑指示中的保护网桥标识,如果相同,该网桥为保护网桥,并将指定的保护端口设置为阻塞状态。
根据本发明的一个方面,为了减少不必要的拓扑发现消息的发送,减少网桥资源和带宽资源的占用,避免出现由不同网桥状态差异导致的混乱,环路在闭合状态时只能包含一个控制网桥,在开放状态时每一个连通的区域也只能包含一个控制网桥。环路中的MAC网桥在接收到拓扑发现消息后,将自己的网桥标识和该消息中包含的源网桥标识进行比较。如果自己的网桥标识值较大,该MAC网桥了解自己不是该环路的控制网桥,将停止源于自身的拓扑发现消息的发送,同时选择该环路的另一个端口作为转发端口;如果自己的网桥标识值较小,该MAC网桥将丢弃该消息,同时重新发送源于自身的拓扑发现消息。
根据本发明的一个方面,如果MAC桥接网络中运行IEEE定义的生成树协议簇中的协议,可以进一步优化为:包含协议定义的处于转发状态的根(root)端口和处于非转发状态的可选(alternate)端口的MAC网桥作为这两个端口所连接的环路的控制网桥,通过上述两个端口周期性的发送拓扑发现消息。消息中拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价。环路中的MAC网桥接收到拓扑发现消息后,记录该消息的接收端口,选择该网桥的根端口作为转发端口。环路中的某个网桥将在两个端口接收到源自同一个控制网桥的拓扑发现消息,并将接收的拓扑发现消息通过另一个端口转发。该消息到达另一个网桥后,网桥选择所记录的另一个同源拓扑发现消息的接收端口作为转发端口,转发该消息。在接收拓扑发现消息的网桥在消息中增加的拓扑信息,使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价。拓扑发现消息将返回控制网桥记录拓扑信息,其后控制网桥使用根端口作为拓扑指示的发送端口,继续拓扑发现过程。
根据本发明的另一个方面,如果MAC桥接网络中运行IEEE定义的生成树协议簇中的协议,可进一步优化为:包含协议定义的处于转发状态的根端口和处于非转发状态的可选端口的MAC网桥作为这两个端口所连接的环路的控制网桥,通过处于转发状态的根端口周期性的发送拓扑发现消息,消息中拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价。环路中的MAC网桥接收到拓扑发现消息后,如果接收端口处于非转发状态,则丢弃该消息;否则选择所有处于转发状态的端口作为转发端口,转发该消息。在消息中增加的拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价。拓扑发现消息将返回控制网桥完成拓扑记录,其后控制网桥使用根端口作为拓扑指示的发送端口,继续拓扑发现过程。
根据本发明的一个方面,如果MAC桥接网络包含主环和从环,可进一步优化为:接入网桥在接收到从环中的拓扑发现消息后,将该消息设置一个从环标识,根据MAC过滤数据库,选择一个主环中的端口作为转发端口。在消息中增加的拓扑信息中包含的发送链路的代价,使用该网桥和另一个接入网桥之间位于主环中的所有链路的代价之和,或者使用一个预先配置的数值。主环中MAC网桥在接收到包含从环标识的拓扑发现消息后,选择该网桥属于主环的另一个端口作为转发端口,但该网桥不在该消息中增加拓扑信息。接入网桥在属于主环的端口接收到源自从环中MAC网桥的拓扑发现消息后,通过消息中的源网桥标识识别出该消息,取消该消息中的从环标识,并选择该网桥属于该从环的端口作为转发端口。
根据本发明的一个方面,如果MAC桥接网络包含主环和从环且运行IEEE定义的生成树协议簇中的协议,可进一步优化为:两个接入网桥比较它们之间在两个环路中经过控制网桥的两条路径之间的链路代价总和。总和大的路径将成为从环中的路径,接入网桥向它属于从环的端口向从环控制网桥发送拓扑无效消息。该控制网桥在接收到拓扑无效消息后,重新发送拓扑发现消息,开始从环的拓扑发现,此后接入网桥在接收到源自该控制网桥的拓扑发现消息后,按照上段所述方式处理。
根据本发明的一个方面,一个环路中相邻的网桥使用心搏消息检测链路故障。网桥周期性地向相邻的网桥发送心搏消息。当网桥在环路中的一个端口在一个固定的周期内没有收到心搏消息,或者收到消息的数量小于一个阈值时,网桥认为该端口所连接的链路发生故障。为了避免因链路单个方向发生故障造成链路两端网桥对链路状态的判断不一致,此后网桥在该端口发送的心搏消息中设置故障标识,通知相邻的网桥该链路发生故障。相邻网桥在接收到该消息后,了解到该链路发生故障。接收到包含故障标识的心博消息的端口在它发送的心博消息中一定不能包含故障标识,避免连接一个链路的两个端口同时发送包含故障标识的心博消息而导致故障恢复不能识别。
根据本发明的一个方面,环路中网桥检测到故障后,将连接故障链路的端口设置为阻塞状态,通过拓扑改变报告向该环路中的保护网桥报告该故障。保护网桥接收到报告链路故障的拓扑改变报告后,刷新MAC过滤数据库,将保护端口设置为转发状态,同时向报告该故障的网桥发送拓扑改变证实。环路中的网桥接收到该证实后,刷新MAC过滤数据库,同时执行如下逻辑,通知从环和主环中的网桥刷新MAC过滤数据库:如果该网桥不是接入网桥,则通过环路中的另一个端口转发该证实;如果该网桥是接入网桥且消息源自网桥所属主环,则通过主环中的另一个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过从环中的端口接收,则通过网桥所属主环中的两个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过主环中的端口接收,则通过所属主环中的另一个端口和从环中的端口转发该证实。
根据本发明的一个方面,一个环路中相邻的网桥使用心搏消息检测链路故障恢复。当网桥在故障链路连接的端口收到不含故障标识的心搏消息,或者在一个固定的周期内收到此类消息的数量大于一个阈值时,认为该链路故障恢复。为了避免因链路单个方向发生故障造成链路两端网桥对链路状态的判断不一致,此后网桥在接收端口发送的心搏消息中清除故障标识,通知相邻网桥链路故障恢复。相邻网桥在接收到该消息后,了解到该链路故障恢复。
根据本发明的一个方面,环路中网桥检测到故障恢复后,启动恢复等待计时器,并在计时器超时后,通过拓扑改变报告向该环路中的保护网桥报告该故障恢复。恢复等待计时器用于避免由于链路状态不稳定导致的环路保护倒换的不断发生。保护网桥接收到报告链路故障恢复的拓扑改变报告后,刷新MAC过滤数据库,将保护端口设置为阻塞状态,同时向报告该故障恢复的网桥发送拓扑改变证实。环路中的网桥接收到该证实后,刷新MAC过滤数据库的同时,执行如下逻辑,通知从环和主环中的网桥刷新MAC过滤数据库:如果该网桥不是接入网桥,则通过环路中的另一个端口转发该证实;如果该网桥是接入网桥且消息源自网桥所属主环,则通过主环中的另一个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过从环中的端口接收,则通过网桥所属主环中的两个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过主环中的端口接收,则通过所属主环中的另一个端口和从环中的端口转发该证实。检测到故障恢复的网桥接收到拓扑改变证实后,将连接故障恢复链路的端口设置为转发状态。
根据本发明的一个方面,如果MAC桥接网络包含主环和从环,可进一步优化为:从环的接入网络在接收到拓扑证实后,将两个接入网桥标识和两个接入网桥位于从环中的链路代价总和,通过拓扑指示向主环中的网桥通告。主环中的网桥接收到该指示后,记录从环拓扑信息并发送拓扑指示证实。当主环链路发生两处或两处以上故障,导致从环的逻辑链路故障时,选择此类从环实现保护倒换。方法是:在逻辑链路出现故障的从环中,选择从环链路的代价与主环链路代价之和最小的从环(主环链路代价使用该从环的两个接入网桥之间的两条主环路径的链路代价总和中较大的一个),向它发送故障报告,实现保护倒换。此时由于两个接入网桥之间的路径连通,将使该主环的其它从环的逻辑链路连通。如果此时仍然存在包含故障逻辑链路的从环,将重复上述选择方法。此后如果实现保护倒换的从环也发生故障,接入网桥将首先通知主环,并使用上述选择方法重新选择另一个从环实现保护倒换;如果不存在另一个可实现保护倒换的从环。该从环使用上述选择方法在其所属的从环寻求保护。
根据本发明的一个方面,MAC网桥通过记录的拓扑信息,比较经过所属环路的两个方向通往环路中其它网桥的两条路径的链路代价总和,选择总和较小的路径作为网桥通往目标网桥的最短路径,并将目标网桥的MAC地址和最短路径包含的端口,记录在网桥的MAC过滤数据库中。如果两个方向链路代价总和相同,选择不包含保护网桥的路径作为最短路径。保护网桥将保护端口设置为控制转发状态。
根据本发明的一个方面,同一个环路中不同网桥可以使用不同的VLAN标识标记向环路中转发的数据帧,并分别成为相应VLAN数据帧的发送网桥。控制网桥根据包含的拓扑信息,指定一个特定网桥作为该VLAN的保护网桥——该保护网桥通过环路两个方向通往该VLAN数据的发送网桥的链路代价总和的差值最小——并指定链路代价总和大的路径所包含的保护网桥中的端口作为保护端口。
根据本发明的一个方面,本发明可以在一个或者多个网络设备中实现。网络设备包括交换机、路由器和其它包转发设备、网络服务器和用户终端或主机等。
依照本发明上述方面和其它方面,可以提供包含上述或者其它方法的装置。
本发明的有益效果:本发明的方法可以在任意MAC桥接网络中,通过预先配置方式发现环路拓扑或者在运行生成树协议簇中的协议情况下自动发现环路拓扑,并根据记录的拓扑情况为环路中数据的传输选择最短路径,提高环路空间利用效率。本发明的方法还可以在环路中提供50ms以内的保护倒换,并可以适应包含多个不同环路,且环路存在公用链路的各种复杂拓扑结构。
附图说明
图1是在环路中发现环路拓扑的一个实施例的示意图;
图2是在不同的VLAN环路拓扑的网络中发现环路拓扑的一个实施例的示意图;
图3是在从环中发现环路拓扑的一个实施例的示意图;
图4是在运行生成树协议簇中的协议的MAC桥接网络中发现环路拓扑的一个实施例的示意图;
图5是在运行生成树协议簇中的协议的MAC桥接网络中发现环路拓扑的另一个实施例的示意图;
图6是在环路中进行拓扑指示和证实的一个实施例的示意图;
图7是图6所示的环路中***一个网桥的一个实施例的示意图;
图8是图6所示的环路中移出一个网桥的一个实施例的示意图;
图9是在运行生成树协议簇中的协议,包含一个主环和一个从环的MAC桥接网络中发现环路拓扑并进行拓扑指示和证实的一个实施例的示意图;
图10是在环路中实现控制转发的一个实施例的示意图;
图11是图10所示的环路中使用多个拓扑实例,实现空间重用的一个实施例的示意图;
图12是环路中发现链路故障并实现保护倒换的一个实施例的示意图;
图13是在图12所示的环路中发现链路故障恢复并恢复到正常状态的一个实施例的示意图;
图14是在一个包含一个环路和两个从环的MAC桥接网络中从环向主环中网桥注册和修改从环拓扑的一个实施例的示意图;
图15是在图14所示的MAC桥接网络中的主环发现多处链路故障,利用从环实现保护倒换的一个实施例的示意图;
图16是在图14所示的MAC桥接网络中的主环的链路故障恢复后,环路状态恢复的一个实施例的示意图;
图17是本发明的一个实施例的实现装置的框图;
图18是本发明的一个实施例的拓扑数据库结构的框图;
图19是本发明在网络中的应用的一个实施例的示意图;
图20是本发明在网络中的应用的另一个实施例的示意图;
具体实施方式
下面部分详细描述了本发明的具体实施方式。专业技术人员必须理解在实践中可以使用本发明的部分或者全部方面,也可以抛开这些细节进行实施。为了避免不必要地使本发明内容不够显著,本发明对专业技术人员熟知的部分未进行表述或者未进行详细描述。相应的,说明和附图是用于示例意义而不是用于限制意义。
另外,为了使本发明更容易理解,各种操作将按照顺序使用多个分离的步骤进行描述。但是,描述的顺序并不意味着这些操作必须和顺序,特别是表述的顺序相关联。
图1是在MAC桥接网络100中发现环路拓扑的一个实施例。环路100中各网桥在环路中的端口初始时处于阻塞状态。
拓扑发现消息用于环路拓扑的发现,可以包含消息的源网桥标识、拓扑版本号、类型标识和拓扑信息。源网桥标识由源网桥的MAC地址构成,也可以使用优先级+MAC地址构成。拓扑版本号从0开始,并由网桥在后续的实施例所述的拓扑指示和证实过程中自动增加。拓扑发现消息的类型标识用于表明该消息的类型,具体作用在后续的实施例中进行描述。拓扑信息有若干条目组成,用于记录消息所经过网桥的MAC地址和链路的代价。
拓扑发现消息可以选择性地包含拓扑实例集、映射表校验和映射表请求,用于区分可能在不同VLAN中存在的不同拓扑。拓扑实例集由一个或者多个拓扑实例号组成,每一个拓扑实例代表一个或多个IEEE 802.1Q所定义的VLAN在一个网络中的拓扑。拓扑实例号和VLAN之间的对应关系为一对多的关系。环路中的每个网桥包含一个的映射表,记录这种对应关系。所有网桥均使用拓扑实例号0,对应于映射表中除显式包含的VLAN之外的其它VLAN,该映射不包含在映射表中。每个环路中各网桥的映射表内容必须相同。映射表校验是映射表使用校验算法例如CRC32或者摘要算法例如HMAC-MD5计算得到的结果,用来验证环路中网桥的映射表是否一致。映射表请求用于标记环路中的网桥是否需要由控制网桥指定映射表内容,例如用0表示不需要,1表示需要。
网桥如B1(110)选择它在环路中的两个端口111和112中的一个,例如端口号较小的端口111,使用本网桥标识、拓扑数据库中记录的拓扑版本号、类型标识例如00生成拓扑发现消息120,并在该消息拓扑信息的第一个条目中记录本网桥的MAC地址和发送链路B1(110)-B4(113)的代价后,周期性发送该消息。如果需要,拓扑发现消息120还可以包含由该拓扑对应的所有拓扑实例号构成的拓扑实例集、映射校验和映射表请求。映射表请求初始值设为0。
环路中的其它网桥例如B4(113),在端口114收到拓扑发现消息120后,使用拓扑发现消息处理逻辑,对该消息进行处理。拓扑发现消息处理逻辑定义如下:
如果该拓扑发现消息中包含映射校验,网桥B4(113)将完成映射表校验。网桥计算自己映射表的校验值并和信息中包含的映射校验进行比较,如果数值不同,说明两个网桥的映射表不一致,网桥可以选择丢弃该消息并结束消息处理过程,或者将该消息的映射请求置1并进入后续处理过程。在消息通过映射表校验后,网桥B4(113)在该消息的拓扑信息域中记录自己的MAC地址和转发链路B4(113)-B3(116)的代价,形成拓扑发现消息121,通过其另一个端口115向环路中发送。网络中的其它网桥将按照相同的方式使用拓扑发现消息处理逻辑处理拓扑发现消息。
为了减少网络中不必要的拓扑发现消息的传递,在环路100中只能存在一个控制网桥,周期性的发送拓扑发现消息和发送拓扑指示。网桥在拓扑发现消息发送过程中,通过一个选举逻辑在环路中选举控制网桥——当网桥B4(113)接收到源自网桥B1(110)的拓扑发现消息后,该网桥将自己的网桥标识和该消息中包含的源网桥标识进行比较。如果自己的网桥标识值较大,该MAC网桥了解自己不是该环路的控制网桥,将停止源于自身的拓扑发现消息的发送,同时选择该环路的另一个端口作为转发端口;如果自己的网桥标识值较小,该MAC网桥将丢弃该消息,同时重新发送源于自身的拓扑发现消息。
网桥B1(110)发送的拓扑发现消息经过网桥B4(113)、B3(116)和B2(119),并分别发送拓扑发现消息121、122和123后将由自己在端口112接收。拓扑发现消息123包含整个网络的拓扑信息。网桥B1(110)在端口112接收拓扑发现消息123后,将环路的拓扑记录在网桥的拓扑数据库中,开始拓扑指示和证实过程。拓扑指示和证实过程在后续的实施例中进行描述。由于各网桥在转发拓扑发现消息时使用了选举逻辑,因此最终环路中只有一个网桥如网桥B1(110)发送的拓扑发现消息能够返回本网桥,该网桥将作为网络100的控制网桥,继续周期性地发送拓扑发现消息。环路中其他网桥将停止拓扑发现消息的发送。
图2是在MAC桥接网络200中发现环路拓扑的一个实施例。图2在图1的基础上增加了链路B2(219)-B4(213)。链路B2(219)-B4(213)和B2(219)-B3(216)-B4(213)中的所包含的端口分别属于不同的VLAN,并通过配置使网桥中不同的两个实例集分别和网络中两个不同的VLAN环路即B1(210)-B4(213)-B2(219)-B1(210)和B1(210)-B4(213)-B3(216)-B2(219)-B1(210)相对应。这两个实例集的交集应为空集,即两个实例集中的所有实例均不相同。
网桥B1(210)将发送两个使用不同的拓扑实例集的拓扑发现消息220和230,并分别经过两个环路形成消息221、222、223和消息231、232后由自己在端口212接收,分别记录下两个VLAN环路不同的拓扑,并分别开始两个VLAN环路的拓扑指示和证实过程。
图3是在MAC桥接网络300中发现环路拓扑的一个实施例。网络300是一个从环,环路通过两个接入网桥B1(310)和B4(317)连接到主环。环路中各网桥与环路相连的端口处于初始时阻塞状态。
接入网桥B1(310)和B4(317)之间位于主环中的链路可以视为从环中的一条逻辑链路331,从而使从环形成环形结构。拓扑发现消息在进入主环后,将类型标识设置为10,表示消息源自从环;离开主环后,类型标识将重新设置为00。接入网桥在从环中源于自身的拓扑发现消息只通过从环中的端口发送。从环中的网桥也将使用选举逻辑,选择控制网桥。本实施例假设网桥B1(310)为从环的控制网桥,通过从环中的端口311发送拓扑发现消息320。消息经过网桥B2(313)和B3(316)并分别形成拓扑发现消息321和322后,到达网桥B4(317)。从环逻辑链路331的代价由网桥B4(317)的拓扑数据库中记录的主环链路中网桥B4(317)到网桥B1(310)的链路代价总和或者预先配置的路径代价生成。网桥B4(317)使用拓扑发现消息处理逻辑,将自己的MAC地址和逻辑链路331的代价附加在拓扑发现消息322所包含的拓扑信息中,并将消息类型标识设置为10,形成新的拓扑发现消息323,通过主环活动拓扑发送该消息。主环中的其它网桥如B5(330),收到拓扑发现消息323后,发现该消息来自从环,则直接通过主环中另一个端口转发该消息。拓扑发现消息323通过主环到达网桥B1(310),该网桥通过消息中的源网桥标识识别出该消息,完成拓扑发现消息在逻辑链路中的传递。网桥B1(310)成为该环路的控制网桥,将环路的拓扑记录在网桥的拓扑数据库中,开始拓扑指示和证实过程。
图4是在运行生成树协议簇中的协议的环路400中发现环路拓扑的一个实施例。环路400可以对应于一个生成树协议或快速生成树协议的拓扑,也可以对应于一个多生成树协议中的共同生成树、共同内部生成树或多生成树实例的拓扑,并使用相应的生成树协议计算活动拓扑。图中使用空心圆圈表示处于转发状态的根端口,实心圆圈表示处于转发状态的指定端口,两条短竖线表示处于非转发状态的可选端口,空心方框表示拓扑发现消息。
拓扑发现消息430由环路中包含生成树协议簇中的协议定义的处于转发状态的根端口411和处于非转发状态的可选端口412的网桥B3(410),通过它的根端口411发送。拓扑发现消息的格式与图1所示实施例相同,类型标识设置为00,表示消息源自根端口;发送链路的代价使用相应生成树协议中定义的链路代价。如果环路中运行IEEE 802.1s多生成树协议,拓扑发现消息430还包含拓扑实例集、映射表校验和映射表请求,其中拓扑实例集由多生成树协议的MST Configuration Table(多生成树配置表)中的所有MSTID(多生成树标识)组成;映射表校验可使用多生成协议中的MST Configuration Identification(多生成树配置标识);影射表请求置0。
环路中的其它网桥例如B2(413),在其生成树协议簇中的协议定义的指定端口415收到拓扑发现消息430后,在拓扑数据库中记录下自己在环路中位于拓扑发现消息源网桥的根端口方向上的邻居B3(410)和与之相连的端口415。同时,网桥B2(413)调用图1实施例中所述的拓扑发现消息处理逻辑处理拓扑发现消息430,形成拓扑发现消息431后,通过其根端口414向环路中发送该消息。如果在环路中使用多生成树协议,在不同的拓扑实例中,网桥的各端口可能不同。此时网桥应该根据它的根端口所属的拓扑实例,对拓扑发现消息中的拓扑实例集进行修改,删除该端口不包含的拓扑实例号。环路中的其它网桥将重复此过程,例如B1(416)在收到拓扑发现消息431后将发送拓扑发现消息432。
拓扑发现消息440由网桥B3(410)通过其可选端口412发送。该消息的格式与拓扑发现消息430相同,只是类型标识设置为01,表示消息源自可选端口。环路中的其它网桥例如B4(419),在其指定端口421收到拓扑发现消息440后,在拓扑数据库中记录下自己在环路中位于该消息源网桥的可选端口方向上的邻居B3(410)和与之相连的端口421,并在使用拓扑发现消息处理逻辑处理该消息,形成拓扑发现消息441后,通过其根端口420向环路中发送该消息。
网桥B1(416)将在它的两个不同的指定端口417和418接收到源自同一个网桥410的拓扑发现消息431和441。此后网桥B1(416)将不再向其根端口转发拓扑发现消息432,而是在处理完拓扑信息处理后,从自己在环路中的另一个端口转发出去,例如端口417接收的拓扑发现消息431将形成拓扑发现消息433从端口418发送;端口418接收的拓扑发现消息441将形成拓扑发现消息442从端口417发送。
拓扑发现消息433经过网桥B4(419)处理并形成拓扑发现消息434后,由该网桥向自己位于可选端口方向上的邻居B3(410)通过端口421转发,并由网桥B3(410)在其可选端口412接收;拓扑发现消息442将经过网桥B2(413)处理并形成拓扑发现消息443后,由该网桥向自己位于根端口方向上的邻居B3(410)通过端口415转发,并由网桥B3(410)在其根端口411接收。网桥B3(410)作为环路的控制网桥,在环路的拓扑记录在网桥的拓扑数据库中,开始拓扑指示和证实过程。
图5是在MAC桥接网络500中发现环路拓扑的一个实施例。网络500可以对应于一个生成树协议或快速生成树协议的拓扑,也可以对应于一个多生成树协议中的共同生成树、共同内部生成树或多生成树实例的拓扑,并使用相应的生成树协议簇中的协议计算活动拓扑。图中使用空心圆圈表示处于转发状态的根端口,实心圆圈表示处于转发状态的指定端口,两条短竖线表示处于非转发状态的可选端口,空心方框表示拓扑发现消息。
拓扑发现消息520,由环路中包含生成树协议簇中的协议定义的处于转发状态的根端口511和处于非转发状态的可选端口512的网桥B3(510),通过它的根端口511发送。拓扑发现消息520的格式与图1所示实施例相同。环路中的其它网桥例如B2(513),在其指定端口515收到拓扑发现消息520后,使用拓扑发现消息处理逻辑,形成拓扑发现消息521、530和532后,分别通过其处在转发状态的端口514、540和541向环路中发送。其它网桥如B1(516)、B4(519)将重复此过程并分别发送拓扑发现消息522和523。拓扑发现消息523由网桥B3(510)在其可选端口512接收。网桥B3(510)作为环路的控制网桥,将环路的拓扑记录在网桥的拓扑数据库中,开始拓扑指示和证实过程。
网桥B5(542)在其端口收到拓扑发现消息530后将重复上述过程发送拓扑发现消息531,这可能导致在拓扑发现完成之前拓扑发现消息的广泛传播。网桥在其处于非转发状态的端口接收到拓扑发现消息,例如B6(543)在其可选端口接收到拓扑发现消息532后,将其丢弃,使由拓扑发现消息发现的环路中不可能包含两个处于非转发状态的可选端口。
图6描述了环路600中拓扑指示和证实过程的一个实施例。环路600可以对应于一个主环,也可以对应一个从环,环路中可选择性的运行生成树协议簇中的协议。环路中的链路如B1(616)-B4(619)可以对应一个主环或从环中的实际链路,也可以对应于从环中两个接入网桥之间的逻辑链路。图中使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口,虚线空心方框表示拓扑指示,实线空心方框表示拓扑指示证实,实线实心方框表示拓扑无效指示。
拓扑指示可以包含消息的源网桥标识、拓扑版本号和拓扑信息,并可以根据接收到的拓扑发现消息选择性地包含拓扑实例集和映射表。源网桥标识、拓扑版本号、拓扑信息和拓扑实例集的内容和格式与图1中实施例相对应的部分相同,由控制网桥根据拓扑数据库中的内容生成。映射表反映了控制网桥VLAN标识和拓扑实例号的对应关系,包含了控制网桥中映射表的所有内容,在收到的拓扑发现消息中包含映射表请求且置1时通过拓扑指示发送。拓扑指示还包含指定的环路的保护网桥和保护端口。在运行生成树协议簇中的协议的情况下,保护网桥必须是控制网桥,保护端口必须是保护网桥在环路中处于阻塞状态的可选端口;在不运行生成树协议的情况下,保护网桥和保护端口可由控制网桥根据特定的逻辑指定。在从环中,保护端口必须是连接从环实际链路的端口,而不能是连接逻辑链路的端口。
控制网桥B3(610)在进入拓扑发现状态后,将拓扑数据库中该拓扑的拓扑版本号加1,同时选择环路中的保护网桥和保护端口——在本实施例中为B3(610)和端口612。控制网桥根据是否运行生成树协议簇中的协议的情况,选择其在环路中的两个端口中端口号较小的端口或者处于生成树协议簇中的协议定义的转发状态的端口作为发送端口,向环路中发送拓扑指示630。控制网桥环路中其它网桥如B2(613),在其转发端口615收到拓扑指示630后,将消息复制到网桥中消息处理单元,同时立即将拓扑指示630向其环路中另一个端口614发送出去。网桥在发送或者转发拓扑指示后,启动相应的拓扑指示重发计时器。该计时器超时后,如果网桥还未接收到相应的拓扑证实,则重发该拓扑指示。如果网桥经过数次,例如3次重发拓扑指示630后均未接收到拓扑证实,网桥清除其拓扑数据库,并通过网桥在环路600中的两个端口614和615发送拓扑无效指示650和651。
网桥B2(613)中的消息处理单元接收到拓扑指示630后,将对消息进行验证。如果在报告中发现错误,例如报告中不包含本网桥或者出现不正常的环路,则向环路600中广播拓扑无效指示650和651。拓扑指示通过验证后,网桥根据拓扑指示中的信息更新其拓扑数据库,同时比较自己的标识和拓扑指示中的保护网桥标识,如果相同,该网桥为保护网桥。网桥B2(613)通过该拓扑指示的接收端口615,发送拓扑指示证实640。拓扑指示证实包含拓扑指示的所有信息。网桥B3(610)在端口611接收到拓扑证实报告640后,停止相应的拓扑指示重发计时器,完成本网桥环路的发现。环路中的网桥将重复上述过程,网桥B1(616)、B4(619)和B3(610)将分别收到拓扑指示631、632和633,并分别发送拓扑指示证实641、642和643。环路中的各网桥在分别收到拓扑证实后,保护网桥将转发端口设置为转发状态,保护端口设置为阻塞状态;其它网桥将两个转发端口设置为转发状态。
如果MAC桥接网络600运行生成树协议簇中的协议,则环路中任意端口的生成树协议的角色,因为一些除了环路中链路失效之外的特定原因发生转换(例如网络600的根网桥发生变化,或者网络中除环路之外的链路代价或拓扑结构发生改变),导致网络活动拓扑发生变化时,网桥清除其拓扑数据库,通过其在环路中的两个端口发送拓扑无效指示。
环路600中的网桥在环路中的一个端口接收到拓扑无效指示后,清除其拓扑数据库,并向环路中的另一个端口转发拓扑无效指示。控制网桥B3(610)在接收到拓扑无效指示后,清除其拓扑数据库,但不再转发该消息。网桥在接收到拓扑无效指示后,重新开始拓扑发现过程。此时,网桥在接收到除拓扑无效指示和拓扑发现消息之外的任何控制帧时,都将在接收端口回应一个拓扑无效指示。
图7描述了在环路600中***一个网桥的一个实施例。图中使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口,空心方框表示拓扑发现消息。
在环路600完成拓扑发现以及拓扑指示和证实过程后,***了一个新的网桥B5(660)。B5(660)将向环路中发送拓扑发现消息661经过网桥B4(619)形成拓扑发现消息662后,到达控制网桥B3(610)。网桥B3(610)将调用选举逻辑进行判定。如果网桥B3(610)网桥标识值较小,B3(610)将重新发送拓扑发现消息,完成环路新拓扑的发现。B5(660)也将根据收到的源自网桥B3(610)的拓扑发现消息,停止源于自身的拓扑发现消息的发送;如果网桥B3(610)网桥标识值较大,该网桥将向网络发送拓扑无效指示,通知网络中其他网桥原环路拓扑已经无效。同时,网桥B3(610)将转发拓扑发现消息662,开始环路的拓扑发现过程。
如果环路中运行生成树协议簇中的协议,环路600中新网桥的***将导致相应的生成树协议状态发生变化,从而导致拓扑无效指示的发送,并开始新的拓扑发现过程。
图8描述了在环路600中移出一个网桥的一个实施例。图中使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口。
在环路600完成拓扑发现以及拓扑指示和证实过程后,环路600中移出网桥B4(619)。该过程将导致下面实施例中描述的保护倒换的发生。在环路重新“闭合”后,将导致控制网桥B3(610)重新发送拓扑发现消息,重新开始拓扑发现过程。
图9是在MAC桥接网络700中发现从环的一个实施例。图中使用空心圆圈表示处于转发状态的根端口,实心圆圈表示处于转发状态的指定端口,两条短竖线表示处于非转发状态的可选端口,实心方框表示拓扑无效指示。
网络700可以对应于一个生成树协议或快速生成树协议的拓扑,也可以对应于一个多生成树协议中的共同生成树、共同内部生成树或多生成树实例的拓扑,并使用相应的生成树协议计算活动拓扑。
按照图4或者图5实施例中所描述的方法,在图9中可以发现两个环路即B3(713)-B2(712)-B1(711)-B4(714)-B3(713)和B6(716)-B5(715)-B2(712)-B1(711)-B4(714)-B7(717)-B6(716)。其中网桥B3(713)和B6(716)分别是两个环路的控制网桥。在拓扑发现或者拓扑证实的过程中,网桥B2(712)和网桥B4(714)将发现它们是属于两个网桥公共链路B2(712)-B1(711)-B4(714)的两个端点。网桥B2(712)将比较它通往B4(714)的两条路径即B2(712)-B3(713)-B4(714)和B2(712)-B5(715)-B6(716)-B7(717)的代价,并向路径代价大的链路B2(712)-B5(715)发送拓扑无效指示720。同样,网桥B4(714)也将向B4(714)-B7(717)发送拓扑无效指示721。网桥B6(716)在接收到拓扑无效消息后,将重新开始拓扑发现过程。网桥B2(712)和B4(714)将成为从环的逻辑链路。当拓扑发现消息到达网桥B2(712)或者B4(714)时,该网桥将拓扑发现消息类型改变成从环,即将原拓扑发现消息的类型标识的首位改为1(由00变成10或01变成11)。该消息将通过逻辑链路到达另一个端点B4(714)或者B2(712),并最终回到B6(716),该网桥根据接收到的拓扑发现消息,完成拓扑发现以及拓扑指示和证实过程。
图10描述了环路800中各网桥控制转发的一个实施例。环路800可以对应于一个主环,也可以对应一个从环,环路中可以选择性的运行生成树协议簇中的协议。环路中的链路如B1(816)-B4(819)可以对应一个主环或从环中的实际链路,也可以对应于从环中两个接入网桥之间的逻辑链路。
网桥B3(810)是环路的保护网桥,端口811是转发端口,端口812是保护端口。网桥B3(810)中包含MAC过滤数据库830。网桥B3(810)根据其拓扑数据库计算到环路中各网桥的最短路径,并将各网桥的地址和相应的转发端口一起,使用静态过滤表项的形式记录到MAC过滤数据库830中。如果环路为VLAN环路,则还应加入拓扑实例号对应的VLAN标识。如果从该网桥通过环路去往环路中的另一个网桥的两条路径代价相同,则选择不包含保护网桥中保护端口的那条路径。例如网桥B3(810)到网桥B2(813)、B1(816)和B4(819)的最短路径分别通过端口811、811和812。环路路径计算完成后,保护网桥中的保护端口812将转换成控制转发状态,参与数据包的转发,但是该端口只转发特定类别的单播数据包。该类数据包的目的地址为环路中其它网桥的MAC地址。端口的学习功能仍然不工作。
环路中的其它网桥也使用同样的方式计算最短路径并记录在MAC过滤数据库中。例如网桥B2(813)计算出到网桥B3(810)、B1(816)和B4(819)的最短路径分别通过端口815、814和814,并将结果使用静态过滤表项的形式记录在MAC过滤数据库831中。
图11描述了在环路800中包含多个拓扑实例的一个实施例。该环路也可以看成多个VLAN环路,每个VLAN环路对应一个拓扑实例。通过在一个环路中运行多个拓扑实例,并在不同实例中指定不同的保护网桥和保护端口,可以使不同实例所对应的VLAN数据帧有不同的转发路径,实现环路的空间重用,有效地提高环路带宽的利用率。例如:图11中拓扑实例1对应于VLAN1,使用网桥B3(810)和端口812分别作为该实例的保护网桥和保护端口,拓扑实例2对应于VLAN2,使用网桥B2(813)和端口815分别作为该实例的保护网桥和保护端口。
通过控制转发,对于目的地址为环路中网桥的MAC地址的单播数据包,各网桥能够使用最短路径进行转发,有效地提高环路利用率,这对于环路中的各接入网桥在除环路端口之外的其它端口使用路由技术的应用环境十分有利(此时环路中的所有单播包的目的地址均为环路中网桥的MAC地址,单播包离开网桥后将使用路由技术进行转发)。但是,控制转发并不能有效地提高包含其它目的地址的单播数据包、广播包和组播包的环路带宽利用率。在实际应用中,可以将源于同一个网桥的单播包、广播包和组播包使用相同的VLAN标识进行标记,对应于一个拓扑实例,并指定该网桥在东西两个方向上的链路代价总和的差值最小的网桥作为该拓扑实例的保护网桥,使源于该网桥的单播包、广播包和组播包都选择了最短的转发路径。例如:由网桥B1(816)转发进入环路的数据包使用VLAN标识1进行标记,对应于拓扑实例1;由网桥B4(819)转发进入环路的的数据包使用VLAN标识2进行标记,对应于拓扑实例2。
图12描述了在环路900中发现链路故障的一个实施例。环路900可以对应于一个主环,也可以对应一个从环,环路中可选择性的运行生成树协议簇中的协议。环路中的链路如B1(916)-B4(919)可以对应一个主环或从环中的实际链路,也可以对应于从环中两个接入网桥之间的逻辑链路。图中使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口,实线空心方框表示拓扑改变报告,虚线空心方框表示拓扑改变证实。
网桥使用心搏消息发现链路中的故障。网桥包含两个心搏计时器,分别对应环路中的两个端口,用于周期性地发送心搏消息。网桥包含两个失效计时器,分别对应环路中的两个端口。如果一个端口的失效计时器超时后,没有在该端口收到心搏消息或收到的消息数小于一个阈值,网桥认为该端口相连的链路发生故障并将该端口设置为阻塞状态。失效计时器在超时后重启。心搏消息还可用于实现流量与拥塞控制。
网络900中的链路B1(916)-B2(913)发生故障后。B1(916)和B2(913)将分别向保护网桥B3(910)发送拓扑改变报告930和931。该报告包含消息类型,表明报告为链路失效报告;该报告还包含链路描述,描述发生失效的链路。链路描述使用链路两端网桥的MAC地址描述相应链路。网络中的其它网桥如B4(919),在接收到拓扑改变报告931后,立即向保护网桥转发该消息(图中使用932标记)。保护网桥B3(910)接收到拓扑改变报告930或932后,将该消息复制到消息处理单元,并分别通过端口911和912向发送拓扑改变证实940和941。拓扑改变证实包含消息类型,表明该消息是链路失效证实;拓扑改变证实还包含链路描述,描述发生失效的链路。保护网桥的消息处理单元修改自己的拓扑数据库,将失效链路标示为无效,并将保护端口修改为转发状态,参与环路中的数据帧转发。同时,保护网桥清除控制转发状态下计算生成的MAC过滤数据库中的静态表项,并刷新动态表项。保护网桥还将增加拓扑数据库中的拓扑版本号。拓扑改变报告930和932将先后到达保护网桥B3(910),该网桥处理先到达的一个,对另一个报告不再处理。
网桥如B4(919)接收到拓扑改变证实后,将该消息复制到消息处理单元,并执行如下逻辑:如果该网桥不是接入网桥,则通过环路中的另一个端口转发该证实;如果该网桥是接入网桥且消息源自网桥所属主环,则通过主环中的另一个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过从环中的端口接收,则通过网桥所属主环中的两个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过主环中的端口接收,则通过所属主环中的另一个端口和从环中的端口转发该证实并立即将该消息向环路中的另一个端口转发出去。消息处理单元将修改网桥的拓扑数据库,将失效链路标识为无效,同时清除控制转发状态下计算生成的MAC过滤数据库中的静态表项,并刷新动态表项。如果网桥支持,可以不刷新网桥中目标端口为接收拓扑改变证实的端口的动态表项。网桥还将增加拓扑数据库中的拓扑版本号。
环路中的链路发生故障后,环路的原控制网桥将不再发送拓扑发现消息,转而由故障链路两端的网桥发送该消息。故障链路两端的网桥通过选举逻辑最终选择出一个控制网桥,由该控制网桥定期发送拓扑发现消息。包含故障链路的网桥在接收到拓扑发现消息后,将该消息设置一个标志,并将该消息从接收端口发送出去。消息经过的网桥通过该标志了解该消息的类型,不再处理该消息,而是将该消息从另一个接口向前转发。消息将回到控制网桥,控制网桥根据接收的拓扑发现消息了解环路拓扑是否发生改变。如果发生了改变,如增加或移走了网桥或者改变了链路的权值,控制网桥将发送拓扑指示,并等待相应的拓扑指示证实。
图13描述了在环路900中发现链路故障恢复的一个实施例。图中使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口,实线空心方框表示拓扑改变报告,虚线空心方框表示拓扑改变证实。
链路B1(916)-B2(913)的故障恢复后,网桥B1(916)和B2(913)开始接收到对方的心搏消息,从而检测到链路故障恢复。网桥B1(916)和B2(913)分别启动各自的恢复等待计时器,并在计时器超时后分别向保护网桥B3(910)发送拓扑改变报告960和961。该报告包含消息类型,表明报告为链路恢复报告;该报告还包含链路描述,描述故障恢复的链路。链路描述使用链路两端网桥的MAC地址描述相应链路。网络中的其它网桥如B4(919),在接收到拓扑改变报告961后,立即向保护网桥转发该消息(图中使用962标记)。
保护网桥B3(910)接收到拓扑改变报告960或962后,将该消息复制到消息处理单元,并分别通过端口911和912向发送拓扑改变证实970和971。拓扑改变证实包含消息类型,表明该消息是链路恢复证实;拓扑改变证实还包含链路描述,描述故障恢复的链路。保护网桥的消息处理单元修改自己的拓扑数据库,将故障恢复链路标示有效,并将保护端口的状态修改为控制转发状态。同时,保护网桥刷新网桥的MAC过滤数据库中的所有表项,并计算最短路径,使用静态表项记录在MAC过滤数据库中。保护网桥还将增加拓扑数据库中的拓扑版本号。
网桥如B4(919)接收到拓扑改变证实971后,将该消息复制到消息处理单元,并执行如下逻辑:如果该网桥不是接入网桥,则通过环路中的另一个端口转发该证实;如果该网桥是接入网桥且消息源自网桥所属主环,则通过主环中的另一个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过从环中的端口接收,则通过网桥所属主环中的两个端口转发该证实;如果该网桥是接入网桥,消息源自网桥所属从环且通过主环中的端口接收,则通过所属主环中的另一个端口和从环中的端口转发该证实。消息处理单元将修改自己的拓扑数据库,将故障恢复链路标示有效,刷新网桥的MAC过滤数据库中的所有表项,并计算最短路径,使用静态表项记录在MAC过滤数据库中。网桥还将增加拓扑数据库中的拓扑版本号。
当网桥B1(916)和B2(913)接收到拓扑改变证实后,分别将端口914和917设置为转发状态。
链路故障恢复后,网络在故障时的控制网桥将停止发送拓扑发现消息;网络在故障发生前的控制网桥将重新发送拓扑发现消息。
在图12和图13中,如果环路900对应于一个从环,环路中的链路例如B1(916)-B4(919)为逻辑链路,则B1(916)和B4(919)之间的心搏消息发送周期可以增加,且该消息仅用于实现流量与拥塞控制,并不用于检测其它环路中的链路状态。逻辑链路的连通性由主环维护。
如果环路900中运行生成数协议簇中的协议,为了实现快速保护倒换和控制转发,应使该协议仅仅用于计算活动拓扑并记录端口在协议中的逻辑状态,而不应使该协议修改网桥端口的实际工作状态。例如不能用该协议将端口的实际工作状态从转发状态改变为阻塞状态。另外,网桥通过心搏消息发现链路状态变化时,可以选择性地改变生成树协议中链路状态,这将可能导致网桥发送拓扑改变通知或者触发快速生成树协议或多生成树协议的握手协商过程。如果链路为运行ATM协议或MPLS协议的两个节点之间通过隧道技术建立的虚拟路径,该变化可触发永久虚电路的改换路由的信号或者MPLS的LDP消息等等类似报告。
图14-图16描述了在MAC桥接网络1000中发现链路故障和链路故障恢复,实现保护倒换的一个实施例。
图14使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口,实线空心方框表示拓扑指示,虚线空心方框表示拓扑指示证实。如图14所示,网络1000包含一个主环和两个从环。当从环的拓扑指示和证实过程完成之后,从环的两个接入网桥中MAC地址值较小的网桥,例如从环B2(1012)-B7(1017)-B3(1013)-B2(1012)中的B2(1012)和从环B6(1016)-B8(1018)-B5(1015)-B6(1016)中的B6(1016),将分别向主环中广播从环拓扑指示例如1020,该拓扑指示可以包含拓扑版本号,消息的源网桥标识、拓扑实例号、两个接入网桥的MAC地址及两个网桥在从环中的路径中链路代价总和。主环中的各网桥在接收到该从环拓扑指示后,将回应拓扑指示证实例如1021。从环控制网桥在接收到拓扑指示证实后,完成从环拓扑在主环中的注册。
当从环链路例如从环B2(1012)-B7(1017)-B3(1013)中的链路B2(1012)-B7(1017)发生故障时,如果该从环不存在次级从环,该从环将失去保护功能。此时从环将使用从环拓扑指示向主环中的网桥报告该状态。如果该从环存在次级从环,接入网桥B2(1012)和B3(1013)重新计算两个网桥在从环中的链径代价总和,由两个网桥中MAC地址值较小的网桥使用从环拓扑指示向主环中的网桥报告,并在收到主环的拓扑指示证实后完成从环信息的修改。
图15使用空心圆圈表示保护网桥转发端口,两条短竖线表示保护网桥保护端口,实线空心方框表示拓扑改变报告,虚线空心方框表示拓扑改变证实。如图15所示,当主环的一条链路如B2(1012)-B3(1013)发生故障时,保护网桥的保护端口将设置为转发状态,实现链路的保护。当主环中的另一条链路如B5(1015)-B6(1016)也发生故障时,主环的各网桥之间将不再存在完整的路径,两个从环的逻辑链路也不再连通。此时环路中的保护网桥不再终结拓扑改变报告,使两个从环中的接入网桥B2(1012)、B3(1013)、B5(1015)和B6(1016)分别通过心博消息和接收到的拓扑改变报告得知各自所属的从环的逻辑链路发生故障,此时网桥B2(1012)、B3(1013)、B5(1015)和B6(1016)将选择一个从环实现保护倒换,方法是:选择从环链路的代价与主环链路代价之和最小的从环(主环链路代价使用该从环在两个接入网桥之间的两条主环路径链路代价总和中的较大值)。本实施例中假设链路B6(1016)-B1(1011)-B2(1012)-B7(1017)-B3(1013)-B4(1014)-B5(1015)的代价小于B2(1012)-B1(1011)-B6(1016)-B8(1018)-B5(1015)-B4(1014)-B3(1013),故选择接入网桥B2(1012)和B3(1013)将分别向从环发送拓扑改变报告1040。该从环的保护网桥B7(1070)在接收到拓扑改变报告后,将其保护端口设置为转发状态并回应拓扑改变证实1041。在各网桥在接收拓扑改变证实,刷新MAC过滤数据库后,完成环路的保护倒换。
从环完成保护倒换后,如果该从环也发生故障,则从环先向其上级环路协商保护可能,如果不成功,则尝试其可能包含的次级从环。例如在按上文所述方法完成保护倒换后,链路B2(1012)-B7(1017)发生故障,网桥B2(1012)和B7(1017)将检测出故障并分别发送拓扑改变报告。接入网桥B2(1012)和B3(1013)在接收到拓扑改变报告后,回应拓扑改变证实,同时向主环发送拓扑改变报告——此例中由于检测出故障的网桥B2(1012)也是接入网桥,因此从环中的拓扑改变报告的发送和接收都由该网桥自己完成,在具体实现中可以省去。该报告将导致相关网桥使用上文所述的选择方法,使用链路B6(1016)-B8(1018)-B5(1015)完成保护倒换。如果在链路B2(1012)-B7(1017)发生故障之前,从环B6(1016)-B8(1018)-B5(1015)-B6(1016)中的出现故障,接入网桥B2(1012)和B3(1013)可通过其拓扑数据库发现其主环的其它从环不能完成保护功能。B2(1012)和B3(1013)在接收上文所述的B2(1012)和B7(1017)发送的拓扑改变报告时,将回应拓扑改变证实,并查询拓扑数据库,了解从环是否包含次级从环且是否仍具有保护功能(即不包含故障链路)。如果包含次级的保护从环,且B2(1012)和B3(1013)将向从环发送拓扑改变报告,并由次级从环完成保护倒换。
如图16所示,当网络的主环的链路如B2(1012)-B3(1013)恢复后,网桥B2(1012)和B3(1013)将检测到链路的恢复。通过其拓扑数据库了解到主环的保护倒换由从环B2(1012)-B7(1017)-B3(1012)-B2(1012)完成,接入网桥B2(1012)和B3(1012)分别向该从环中的保护网桥B7(1017)发送拓扑改变报告1050,并在收到拓扑改变证实1051后,将端口1052和1053设置为转发状态。如果恢复的链路是B5(1015)-B6(1016),B5(1015)和B6(1016)将向环路发送拓扑改变报告。接入网桥B2(1012)和B3(1012)在接收到该报告后,根据其拓扑数据库,将拓扑改变报告发送到网桥B7(1017),完成类似的故障恢复过程。
图17是根据本发明的一个实施例的实现装置的方框图。网桥1110位于一个环路中,包含两个端口与该环中的两条链路相连,两个端口分别用东向端口1112和西向端口1111表示;两个端口所连接的链路分别用东向链路1131和西向链路1130表示。如果图中所示的网桥是环路的保护网桥则端口1112和1111根据指定,分别对应于转发端口和保护端口;否则端口1112和1111均为转发端口。网桥1110还包含一个拓扑数据库1114,用于记录环路的拓扑结构和路径代价以及环路的工作状况。网桥1110包含一个MAC过滤数据库(或称为转发数据库)1113,用于记录数据帧转发路径。
在一些实施例中,某些网桥的MAC过滤数据库的刷新较慢。为了达到快速保护的目的,网桥可以在刷新MAC过滤数据库动态表项的同时,在一个预先设置的时间内在环路中的两个端口以广播的方式发送数据包。该时间根据网桥刷新所有动态数据库的时间长短设置,一般为50ms-1s。
在本发明的一个实施例中,环中的各个网桥使用控制帧1140进行通信。控制帧可以使用一个特殊的组播地址作为目的地址发送。网桥应保证控制帧使用最高的优先级进行处理和发送。网桥包含一个信息处理单元1126,用于处理接收的各种控制帧。信息处理单元可以使用网桥中包含的CPU用软件方式实现,也可以采用FPGA或ASIC用硬件或者固件的方式实现。
网桥1110包含一个拓扑发现计时器1118,用于周期性地发送拓扑发现消息。网桥1110未运行生成树协议簇中的协议时,拓扑发现计时器在网桥启动上文实施例中描述的拓扑发现功能,发送拓扑发现消息后启动。网桥根据选举逻辑在后续的过程中决定自己是否是环路的控制网桥。如果网桥不是环路的控制网桥,则将停止拓扑发现计时器。在网桥1110运行生成树协议簇中的协议时,如果网桥是环路的控制网桥,拓扑发现计时器在发送拓扑发现消息后启动。在拓扑发现计时器超时后,网桥1110根据所选择的拓扑发现方法,通过端口1111和1112中的一个端口或者两个端口重新发送拓扑发现消息。拓扑发现计时器在拓扑发现完成之前设定一个较短的时间,例如1秒,使拓扑发现消息的以一个较短的固定周期发送;在拓扑发现完成之后,该计时器可以设置为一个较长的时间如30秒。在环路发生故障时,故障链路两端的网桥中的一个将启动拓扑发现计时器并发送拓扑发现消息,而环路中原来的控制网桥将停止自己的拓扑发现计时器,不再发送拓扑发现消息。
网桥1110包含两个拓扑指示计时器1116和1117分别对应环路的两个方向。拓扑指示计时器用于拓扑指示的重新发送。网桥1110在向环路一个方向的端口发送拓扑指示后,启动相应的拓扑指示计时器。如果拓扑指示计时器超时前在该发送端口收到相应的拓扑证实,则停止该拓扑指示计时器;否则在拓扑指示计时器超时后,网桥将重新发送拓扑指示,并重新启动拓扑指示计时器。拓扑指示计时器的值根据链路和网桥实际情况进行设置,应略大于整个环路的往返时间和网桥的处理时间之和。如果在连续发送三次拓扑指示后均收不到相应的拓扑指示证实,网桥在环路中广播拓扑无效指示。
网桥1110中包含两个心博计时器1124和1125对应环路的两个方向。心搏计时器用于心博消息周期性的发送。发送周期根据网络所要求的保护倒换时间进行设置,周期越短,链路故障发现得越快,但占用链路的带宽越多。在本发明的实施例中,心搏消息占用的带宽在链路带宽的0.025%至1%之间。网桥在向环路发送拓扑指示证实或者心博消息后,启动或者重新启动该方向对应的心博计时器。心博计时器超时后,网桥向心博计时器对应方向的环路发送心博消息。心博消息可以包含链路当前的负载情况,用于实现流量与拥塞控制。流量和拥塞控制的方法可以参考IEEE 802.17即RPR定义的公平算法实现。
网桥1110中包含恢复等待计时器1119,用于避免链路连接状态不稳定导致的保护倒换的频繁发生。网桥在检测到链路恢复后,启动该计时器。如果在计时器超时之前,该链路不再发生链路故障,则在该计时器超时后,网桥认为该链路已经稳定的恢复;否则,网桥不向保护网桥报告拓扑恢复。恢复等待计时器可根据环路情况在较宽范围内取值,缺省为10秒。
网桥1110包含两个失效计时器1122和1123对应环路的两个方向。网桥在环路上收到拓扑指示证实或者心博消息后,启动或者重新启动该方向对应的失效计时器。失效计时器超时后,网桥没有在相应端口收到心搏消息,或者收到消息的数量小于一个阈值时,网桥认为该端口所连接的链路发生故障。此后网桥在该端口发送的心搏消息中设置故障标识,通知相邻的网桥该链路发生故障。当网桥在故障链路连接的端口收到不含故障标识的心搏消息,或者在一个固定的周期内收到此类消息的数量大于一个阈值时,认为该链路故障恢复。此后网桥在接收端口发送的心搏消息中清除故障标识,通知相邻的网桥该链路故障恢复。失效计时器的值一般为心搏计时器值的4倍。
网桥1110包含两个拓扑改变报告计时器1120和1121对应环路的两个方向。拓扑改变报告计时器用于拓扑改变报告的重新发送。网桥通过一个端口发送拓扑改变报告后,启动相应的拓扑改变报告计时器。如果在拓扑改变报告计时器超时前,在该发送端口收到相应的拓扑改变证实,网桥停止该拓扑改变报告计时器;否则,在拓扑改变报告计时器超时后,网桥重新发送拓扑改变报告,并重新启动拓扑改变报告计时器。拓扑改变报告计时器的值根据环路的保护时间要求而定,但应大于整个环路的传输时延和各网桥处理并传送拓扑改变报告的时间总和。如果在连续发送三次拓扑改变报告后均收不到相应的拓扑改变证实,网桥在环路中广播拓扑无效指示。
网桥1110可以选择包含一个拓扑失效计时器1115,用于辅助发现环路拓扑中的故障。拓扑失效计时器在网桥接收到拓扑指示并更新拓扑数据库后启动,并在接收到拓扑发现消息后重启。如果拓扑失效计时器超时,即网桥在相应的周期内没有收到拓扑发现消息,该网桥即认为环路拓扑中出现故障,开始向环路中广播拓扑无效指示。拓扑失效计时器1115的值一般为网络中控制网桥拓扑发现消息发送时间间隔的3-4倍。
图18描述了拓扑数据库的在网桥中的一个实施例。各网桥在接收到控制网桥发送的拓扑指示后,根据拓扑指示的信息生成该数据库。拓扑数据库中的映射表用于记录网桥中的拓扑实例号和VLAN标识的对应关系;映射表校验由相应的算法根据映射表中的数据生成,用于验证映射表的一致性。
由于网桥可以包含在一个或者多个环路中,拓扑数据库可包含多个环路信息。环路信息中控制网桥标识用于记录拓扑证实中所包含的源控制网桥标识;拓扑版本号记录当前的拓扑序号,控制网桥将使用该记录发送拓扑发现消息和拓扑指示;连接端口1和连接端口2记录网桥在该环路中的两个端口;实例集用于记录该环路所对应的所有的拓扑实例号。
拓扑数据库包含环路拓扑信息集,用于记录环路中的拓扑结构。该信息集包含有效性信息,记录链路的连接状态;包含MAC地址,记录环路中的网桥;包含链路代价用于记录该条目中的MAC地址所对应的网桥通往下一个条目中的MAC地址所对应的网桥之间的链路的代价(环路拓扑信息集中最后一个条目中的链路代价记录该条目中的MAC地址所对应的网桥通往第一个条目中的MAC地址所对应的网桥之间的链路的代价);链路类型用于记录该链路是物理链路还是逻辑链路。
拓扑数据库还包含从环信息集,用于记录环路的从环信息。该信息集包含有效性信息,记录从环的“闭合”或者“开放”状态;包含两个接入网桥MAC地址,用于记录该从环的两个接入网桥;包含路径代价,记录该从环在两个接入网桥之间的所有链路代价的总和。
如果网桥使用图4中实施例所描述的方法进行环路发现,拓扑数据库还包含环路发现信息,用于记录网桥拓扑发现信息的接收端口。
图19描述了本发明在MAC桥接网络1200中应用的一个实施例。网络1200中的从环连接两个主环。环路中的网桥使用选举逻辑,使B1(1210)成为环路的控制网桥。B1(1210)发送拓扑发现消息1220,经过网桥B2(1211)、B3(1212)并分别形成拓扑发现消息1221和1222。拓扑发现消息1222将穿过逻辑链路1213到达B5(1214),形成拓扑发现消息1223后经过网桥B6(1215)和B7(1216)并分别形成拓扑发现消息1224和1225。拓扑发现消息1225将穿过另一条逻辑链路1217并最终回到源网桥B1(1210)。网桥B1(1210)记录网络拓扑,发送拓扑指示并在收到拓扑指示证实后完成拓扑发现,形成由一个从环连接两个主环的拓扑结构,并按本发明实施空间重用和保护倒换。
图20描述了本发明在MAC桥接网络1300中应用的一个实施例。网络1300是一个网桥连接两个环路的拓扑。两个环路均不包含由对方链路构成的逻辑链路,是相互独立的***,包含各自的控制网桥和保护网桥。网桥B4(1303)包含两个环路的拓扑信息。
图19和图20中的实施例只是本发明在网络中应用的两个实施例,在实际应用中,本发明还可能有着多种表现形式。这两个实施例只是用于解释意义,而不是用于限制意义。
本发明的某些实现中,本发明所包含的方法和装置可以由运行系列软件程序的计算机***实现。这些软件程序包含一系列的指令并由硬件***中的处理器执行。在初始状态时,这些指令可以保存在数据存储设备、内存或者Flash(闪存)中,也可以以软件产品的形式提供。软件产品可以存储在任何计算机可读取的介质中,例如:软盘、CD-ROM、硬盘驱动器的磁存取介质、DVD的光数据存储介质等等。这些指令还可以存储在远程的存储设备中,例如网络服务器,通过网络复制到内存中,并由处理器执行。
本发明的另外一些实现中,使用硬件或者固件的方式。例如,使用ASIC或者FPGA实现本发明。
本发明所涉及的方法和装置,对于本技术领域的技术人员是明显的。在不背离本发明的精神和范围的前提下,本发明可能存在很多变体,并可能存在许多变更和改变。因此,本发明不受上文所述的具体实施方式的限制。
Claims (11)
1.一种在MAC桥接网络中环路发现、空间重用和保护倒换的方法,其中MAC桥接网络包含一个或者多个至少包含两个MAC网桥的环路。该方法包括:
1)每个环路选择环路中的一个MAC网桥作为控制网桥,周期性地通过环路中的一个或多个端口发送拓扑发现消息。该消息包含源网桥标识和拓扑信息,拓扑信息由源网桥的MAC地址和发送端口相连链路的代价构成;
2)环路中的MAC网桥在接收到拓扑发现消息后,选择另一个或多个端口作为转发端口,并将由自己的MAC地址和发送端口相连链路的代价构成的拓扑信息增加到拓扑发现消息中,通过发送端口转发该消息;
3)拓扑发现消息沿环路传送并最终返回控制网桥,控制网桥记录消息中包含的拓扑信息,根据该信息生成拓扑指示,并选择所属环路中的一个网桥和该网桥中属于该环路的一个端口分别作为保护网桥和保护端口,使用保护网桥标识和保护端口号构成保护信息,在拓扑指示中附加该信息。控制网桥选择网桥在该环路中的一个端口作为发送端口,向环路中的相邻MAC网桥发送该指示;
4)MAC网桥在接收拓扑指示后,记录该指示中包含的拓扑信息,向发送该指示的MAC网桥发送拓扑指示证实,并根据指示中包含的拓扑信息,向自己在环路中的另一个相邻MAC网桥转发该拓扑指示。同时,网桥比较自己的标识和拓扑指示中的保护网桥标识,如果相同,该网桥为保护网桥,并将指定的保护端口设置为阻塞状态。
2.根据权利要求1所述的方法,环路中的MAC网桥在接收到拓扑发现消息后,该网桥将自己的网桥标识和该消息中包含的源网桥标识进行比较。如果自己的网桥标识值较大,该网桥将停止源于自身的拓扑发现消息的发送,同时选择该环路的另一个端口作为转发端口;如果自己的网桥标识值较小,该网桥将丢弃该消息,同时重新发送源于自身的拓扑发现消息。
3.根据权利要求1所述的方法,其中MAC桥接网络运行IEEE定义的生成树协议簇中的协议。方法进一步包括:
1)包含协议定义的处于转发状态的根端口和处于非转发状态的可选端口的MAC网桥作为这两个端口所连接的环路的控制网桥,通过上述两个端口周期性的发送拓扑发现消息。消息中拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价;
2)运行生成树协议簇中的协议的MAC网桥接收到拓扑发现消息后,如果已在该网桥的另一个端口接收到具有相同源网桥标识的拓扑发现消息,则选择网桥中记录的另一个接收端口作为转发端口;否则记录该消息的接收端口,并选择该网桥的根端口作为转发端口。在该消息中增加的拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价。
3)控制网桥使用根端口作为拓扑指示的发送端口。
4.根据权利要求1所述的方法,其中MAC桥接网络运行IEEE定义的生成树协议簇中的协议。方法进一步包括:
1)包含协议定义的处于转发状态的根端口和处于非转发状态的可选端口的MAC网桥作为这两个端口所连接的环路的控制网桥,通过处于转发状态的根端口周期性的发送拓扑发现消息。消息中拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价;
2)运行生成树协议簇中的协议的MAC网桥接收到拓扑发现消息后,如果接收端口处于非转发状态,则丢弃该消息;否则选择所有处于转发状态的端口作为转发端口。在该消息中增加的拓扑信息使用该网桥运行的生成树协议簇中的协议定义的链路代价作为发送链路的代价;
3)控制网桥使用根端口作为拓扑指示的发送端口。
5.根据权利要求1所述的方法,其中MAC桥接网络包含主环和从环。方法进一步包括:
1)接入网桥在接收到从环中的拓扑发现消息后,将该消息设置一个从环标识,根据MAC过滤数据库,选择一个主环中的端口作为转发端口。在消息中增加的拓扑信息中包含的发送链路的代价,使用该网桥和另一个接入网桥之间位于主环中的一条路径中所有链路的代价之和,或者使用一个预先配置的数值;
2)主环中MAC网桥在接收到包含从环标识的拓扑发现消息后,选择该网桥属于主环的另一个端口作为转发端口,但该网桥不在该消息中增加拓扑信息;
3)接入网桥在属于主环的端口接收到源自从环中MAC网桥的拓扑发现消息后,通过消息中的源网桥标识识别出该消息,取消该消息中的从环标识,并选择该网桥属于该从环的端口作为转发端口。
6.根据权利要求1所述的方法,其中MAC桥接网络包含主环和从环且运行IEEE定义的生成树协议簇中的协议。方法进一步包括:
1)两个接入网桥比较它们之间在两个环路中经过控制网桥的两条路径之间的链路代价总和。总和大的路径将成为从环中的路径,接入网桥通过它属于从环的端口发送拓扑无效消息;
2)控制网桥在接收到拓扑无效消息后,重新发送拓扑发现消息,开始从环的拓扑发现。
7.根据权利要求1所述的方法,一个环路中相邻的网桥使用心搏消息检测链路故障和故障恢复。网桥周期性地向相邻的网桥发送心搏消息。当网桥在环路中的一个端口在一个固定的周期内没有收到心搏消息,或者收到消息的数量小于一个阈值时,网桥认为该端口所连接的链路发生故障。此后网桥在该端口发送的心搏消息中设置故障标识,通知相邻的网桥该链路发生故障。接收到包含故障标识的心博消息的端口在它发送的心博消息中一定不能包含故障标识。当网桥在故障链路连接的端口收到不含故障标识的心搏消息,或者在一个固定的周期内收到此类消息的数量大于一个阈值时,认为该链路故障恢复。此后网桥在接收端口发送的心搏消息中清除故障标识,通知相邻的网桥该链路故障恢复。
8.根据权利要求1所述的方法,方法进一步包括:
1)环路中网桥检测到故障后,将连接故障链路的端口设置为阻塞状态,通过拓扑改变报告向该环路中的保护网桥报告该故障;
2)环路中网桥检测到故障恢复后,等待一个固定周期,如果在此期间该链路不再出现故障,网桥通过拓扑改变报告向该环路中的保护网桥报告该故障恢复;
3)保护网桥接收到报告链路故障的拓扑改变报告后,刷新MAC过滤数据库,将保护端口设置为转发状态,同时向报告该故障的网桥发送拓扑改变证实;
4)保护网桥接收到报告链路故障恢复的拓扑改变报告后,刷新MAC过滤数据库,将保护端口设置为阻塞状态,同时向报告该故障恢复的网桥发送拓扑改变证实;
5)环路中的网桥接收到拓扑改变证实后,执行如下方法,同时刷新MAC过滤数据库:
a.如果该网桥不是接入网桥,则通过环路中的另一个端口转发该证实;
b.如果该网桥是接入网桥且消息源自网桥所属主环,则通过主环中的另一个端口转发该证实;
c.如果该网桥是接入网桥,消息源自网桥所属从环且通过从环中的端口接收,则通过网桥所属主环中的两个端口转发该证实;
d.如果该网桥是接入网桥,消息源自网桥所属从环且通过主环中的端口接收,则通过所属主环中的另一个端口和从环中的端口转发该证实。
6)检测到故障恢复的网桥接收到拓扑改变证实后,将连接故障恢复链路的端口设置为转发状态。
9.根据权利要求8所述的方法,方法进一步包括:
1)从环的接入网桥在接收到拓扑证实后,将两个接入网桥标识和两个接入网桥位于从环中的链路代价总和,通过拓扑指示向主环中的网桥通告。主环中的网桥接收到该指示后,记录从环信息并发送拓扑指示证实;
2)当主环链路发生两处或两处以上故障,导致一个或多个从环的逻辑链路故障时,选择此类从环实现保护倒换。选择方法是:在逻辑链路出现故障的从环中,选择从环链路的代价与主环链路代价之和最小的从环(主环链路代价使用该从环的两个接入网桥之间的两条主环路径的链路代价总和中较大的一个),向它发送故障报告,实现保护倒换。此时由于两个接入网桥之间的路径连通,将使该主环的其它从环的逻辑链路连通。如果此时仍然存在包含故障逻辑链路的从环,将重复上述选择方法;
3)当2)中的实现保护倒换的从环也发生故障时,接入网桥将首先通知主环,并使用2)中方法选择另一个从环实现保护倒换。如果不存在另一个可实现保护倒换的从环。该从环使用2)的方法在其所属的从环寻求保护。
10.根据权利要求1所述的方法,MAC网桥通过记录的拓扑信息,比较经过所属环路的两个方向通往环路中其它网桥的两条路径的链路代价总和,选择总和较小的路径作为网桥通往目标网桥的最短路径,并将目标网桥的MAC地址和最短路径包含的端口,记录在网桥的MAC过滤数据库中。如果两个方向链路代价总和相同,选择不包含保护网桥的路径作为最短路径。保护网桥将保护端口设置为控制转发状态。
11.根据权利要求1所述的方法,不同网桥使用不同的VLAN标识标记向环路中转发的数据帧,并分别成为相应VLAN数据帧的发送网桥。控制网桥根据包含的拓扑信息,指定一个特定网桥作为该VLAN的保护网桥——该保护网桥通过环路两个方向通往该VLAN数据的发送网桥的链路代价总和的差值最小——并指定链路代价总和大的路径所包含的保护网桥中的端口作为保护端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510018238 CN1645834A (zh) | 2005-02-02 | 2005-02-02 | Mac桥接网络环路发现、空间重用和保护倒换的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510018238 CN1645834A (zh) | 2005-02-02 | 2005-02-02 | Mac桥接网络环路发现、空间重用和保护倒换的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1645834A true CN1645834A (zh) | 2005-07-27 |
Family
ID=34875702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510018238 Pending CN1645834A (zh) | 2005-02-02 | 2005-02-02 | Mac桥接网络环路发现、空间重用和保护倒换的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1645834A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007054025A1 (fr) * | 2005-11-11 | 2007-05-18 | Huawei Technologies Co., Ltd. | Procede de traitement de donnees dans un reseau a passerelle, passerelle de reseau et reseau a passerelle |
WO2007107098A1 (fr) * | 2006-03-20 | 2007-09-27 | Zte Corporation | Procédé et système de détection de défaillance unidirectionnelle dans des réseaux en boucle |
WO2008031336A1 (fr) * | 2006-09-07 | 2008-03-20 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système permettant d'éviter la formation de cycle de données sur boucle dans un réseau ethernet en anneau |
CN100409634C (zh) * | 2006-01-23 | 2008-08-06 | 杭州华三通信技术有限公司 | 快速环网保护方法及*** |
CN1852211B (zh) * | 2006-04-11 | 2010-04-07 | 华为技术有限公司 | 去除环网上出现的环id错误报文的方法及设备 |
CN101043354B (zh) * | 2006-04-28 | 2010-05-12 | 华为技术有限公司 | 一种宽带通信设备上行保护方法及*** |
CN101815029A (zh) * | 2009-02-19 | 2010-08-25 | 中兴通讯股份有限公司 | 一种子环虚拟通道的地址刷新方法 |
WO2010145213A1 (zh) * | 2009-11-02 | 2010-12-23 | 中兴通讯股份有限公司 | 一种以太环网的拓扑管理方法及环网节点 |
CN101072241B (zh) * | 2006-05-11 | 2011-04-20 | 华为技术有限公司 | 提高最短路径桥可靠性的方法及装置 |
CN101317377B (zh) * | 2006-08-25 | 2011-05-04 | 华为技术有限公司 | 在无源光网络中配置以太网业务的装置、方法及*** |
CN102387078A (zh) * | 2011-10-19 | 2012-03-21 | 杭州华三通信技术有限公司 | 一种trill网络中维护邻居关系的方法和路由桥 |
CN101662421B (zh) * | 2008-08-28 | 2012-09-05 | 中兴通讯股份有限公司 | 基于以太多环网的控制报文的传输方法和装置 |
CN101729261B (zh) * | 2008-10-30 | 2012-10-03 | 阿自倍尔株式会社 | 环连接控制电路及方法、环式交换集线器及以太网*** |
CN101686199B (zh) * | 2009-07-20 | 2012-12-19 | 中兴通讯股份有限公司 | 以太网保护***中控制报文的处理方法、装置及*** |
CN101371504B (zh) * | 2006-01-10 | 2013-02-13 | 思科技术公司 | 线路卡的无缝生成树升级 |
CN104125083A (zh) * | 2013-04-24 | 2014-10-29 | 中兴通讯股份有限公司 | 一种网络设备的主备倒换方法、装置、设备及*** |
CN104579982A (zh) * | 2015-01-06 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种二层组播数据报文转发方法和装置 |
US9237092B2 (en) | 2009-11-11 | 2016-01-12 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for updating ring network topology information |
CN106789389A (zh) * | 2016-04-15 | 2017-05-31 | 新华三技术有限公司 | 一种防止产生环路的方法及装置 |
CN108337145A (zh) * | 2017-01-19 | 2018-07-27 | 中兴通讯股份有限公司 | 多环路网络的处理方法及装置 |
CN108600097A (zh) * | 2018-04-20 | 2018-09-28 | 闫晓峰 | 可多路径传输数据的通讯设备、数据通讯网络***及数据通讯方法 |
CN109617777A (zh) * | 2018-12-24 | 2019-04-12 | 新华三技术有限公司 | 一种rpr相交环的业务数据转发方法及装置 |
CN113055227A (zh) * | 2021-03-02 | 2021-06-29 | 北京航天自动控制研究所 | 一种面向环型拓扑组网通信的故障处理方法、装置及存储介质 |
CN115277299A (zh) * | 2022-07-11 | 2022-11-01 | 国电南瑞科技股份有限公司 | 一种适用于级联型变换器拓扑的同步环路通信*** |
-
2005
- 2005-02-02 CN CN 200510018238 patent/CN1645834A/zh active Pending
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007054025A1 (fr) * | 2005-11-11 | 2007-05-18 | Huawei Technologies Co., Ltd. | Procede de traitement de donnees dans un reseau a passerelle, passerelle de reseau et reseau a passerelle |
CN101371504B (zh) * | 2006-01-10 | 2013-02-13 | 思科技术公司 | 线路卡的无缝生成树升级 |
CN100409634C (zh) * | 2006-01-23 | 2008-08-06 | 杭州华三通信技术有限公司 | 快速环网保护方法及*** |
WO2007107098A1 (fr) * | 2006-03-20 | 2007-09-27 | Zte Corporation | Procédé et système de détection de défaillance unidirectionnelle dans des réseaux en boucle |
CN1852211B (zh) * | 2006-04-11 | 2010-04-07 | 华为技术有限公司 | 去除环网上出现的环id错误报文的方法及设备 |
CN101043354B (zh) * | 2006-04-28 | 2010-05-12 | 华为技术有限公司 | 一种宽带通信设备上行保护方法及*** |
CN101072241B (zh) * | 2006-05-11 | 2011-04-20 | 华为技术有限公司 | 提高最短路径桥可靠性的方法及装置 |
CN101317377B (zh) * | 2006-08-25 | 2011-05-04 | 华为技术有限公司 | 在无源光网络中配置以太网业务的装置、方法及*** |
WO2008031336A1 (fr) * | 2006-09-07 | 2008-03-20 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système permettant d'éviter la formation de cycle de données sur boucle dans un réseau ethernet en anneau |
US8462795B2 (en) | 2008-08-28 | 2013-06-11 | Zte Corporation | Method and device for transmitting control message based on multi-ring ethernet |
CN101662421B (zh) * | 2008-08-28 | 2012-09-05 | 中兴通讯股份有限公司 | 基于以太多环网的控制报文的传输方法和装置 |
CN101729261B (zh) * | 2008-10-30 | 2012-10-03 | 阿自倍尔株式会社 | 环连接控制电路及方法、环式交换集线器及以太网*** |
CN101815029A (zh) * | 2009-02-19 | 2010-08-25 | 中兴通讯股份有限公司 | 一种子环虚拟通道的地址刷新方法 |
CN101815029B (zh) * | 2009-02-19 | 2014-09-10 | 中兴通讯股份有限公司 | 一种子环虚拟通道的地址刷新方法 |
CN101686199B (zh) * | 2009-07-20 | 2012-12-19 | 中兴通讯股份有限公司 | 以太网保护***中控制报文的处理方法、装置及*** |
CN102055635B (zh) * | 2009-11-02 | 2015-04-01 | 中兴通讯股份有限公司 | 一种以太环网的拓扑管理方法及环网节点 |
CN102055635A (zh) * | 2009-11-02 | 2011-05-11 | 中兴通讯股份有限公司 | 一种以太环网的拓扑管理方法及环网节点 |
WO2010145213A1 (zh) * | 2009-11-02 | 2010-12-23 | 中兴通讯股份有限公司 | 一种以太环网的拓扑管理方法及环网节点 |
US9237092B2 (en) | 2009-11-11 | 2016-01-12 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for updating ring network topology information |
CN102387078A (zh) * | 2011-10-19 | 2012-03-21 | 杭州华三通信技术有限公司 | 一种trill网络中维护邻居关系的方法和路由桥 |
CN102387078B (zh) * | 2011-10-19 | 2014-11-12 | 杭州华三通信技术有限公司 | 一种trill网络中维护邻居关系的方法和路由桥 |
CN104125083A (zh) * | 2013-04-24 | 2014-10-29 | 中兴通讯股份有限公司 | 一种网络设备的主备倒换方法、装置、设备及*** |
CN104579982A (zh) * | 2015-01-06 | 2015-04-29 | 杭州华三通信技术有限公司 | 一种二层组播数据报文转发方法和装置 |
CN106789389B (zh) * | 2016-04-15 | 2020-07-03 | 新华三技术有限公司 | 一种防止产生环路的方法及装置 |
CN106789389A (zh) * | 2016-04-15 | 2017-05-31 | 新华三技术有限公司 | 一种防止产生环路的方法及装置 |
CN108337145A (zh) * | 2017-01-19 | 2018-07-27 | 中兴通讯股份有限公司 | 多环路网络的处理方法及装置 |
CN108600097A (zh) * | 2018-04-20 | 2018-09-28 | 闫晓峰 | 可多路径传输数据的通讯设备、数据通讯网络***及数据通讯方法 |
CN108600097B (zh) * | 2018-04-20 | 2020-09-22 | 闫晓峰 | 可多路径传输数据的通讯设备、数据通讯网络***及数据通讯方法 |
CN109617777A (zh) * | 2018-12-24 | 2019-04-12 | 新华三技术有限公司 | 一种rpr相交环的业务数据转发方法及装置 |
CN109617777B (zh) * | 2018-12-24 | 2021-08-20 | 新华三技术有限公司 | 一种rpr相交环的业务数据转发方法及装置 |
CN113055227A (zh) * | 2021-03-02 | 2021-06-29 | 北京航天自动控制研究所 | 一种面向环型拓扑组网通信的故障处理方法、装置及存储介质 |
CN115277299A (zh) * | 2022-07-11 | 2022-11-01 | 国电南瑞科技股份有限公司 | 一种适用于级联型变换器拓扑的同步环路通信*** |
CN115277299B (zh) * | 2022-07-11 | 2023-08-29 | 国电南瑞科技股份有限公司 | 一种适用于级联型变换器拓扑的同步环路通信*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1645834A (zh) | Mac桥接网络环路发现、空间重用和保护倒换的方法和装置 | |
US7558878B2 (en) | Optimal sync for rapid spanning tree protocol | |
Goyal et al. | Improving convergence speed and scalability in OSPF: A survey | |
Albrightson et al. | EIGRP--A fast routing protocol based on distance vectors | |
CN101047601A (zh) | 基于vpls的双归属网络的实现方法及*** | |
US8923112B2 (en) | Technique for controlling data forwarding in computer networks | |
US20110267962A1 (en) | Method and system for predictive designated router handover in a multicast network | |
CN1812300A (zh) | 环型网络连接控制方法、路由交换设备及环型网络*** | |
CN1412977A (zh) | 在rpr网中传播故障信息的方法及相应rpr数据包 | |
CN101051995A (zh) | 基于无连接网络的保护倒换方法 | |
CN1606850A (zh) | 动态分配的环路保护和恢复技术中的带宽保留再使用 | |
CN1783841A (zh) | 软路由器协议分散 | |
CN1716912A (zh) | 提供分组交换通信网络中快速端到端失效转移的方法与设备 | |
CN1453963A (zh) | 蓝牙按请求路由方法和网络形成和蓝牙组网络的通信方法 | |
CN1722726A (zh) | 支持伪线标签反射的二层虚拟专网设备和组网方法 | |
CN1969491A (zh) | 在路由器中的控制故障期间保护多播数据转发的***和方法 | |
JP2009542109A (ja) | フォールト・トレランスのために複数のパスを実現するモバイル・アドホック・ネットワーク(manet)及び方法 | |
CN1770738A (zh) | 具备自动建立机制的堆叠管理器协议 | |
CN1649320A (zh) | 基于网络的虚拟专用网中保证服务质量的***及其方法 | |
CN101051951A (zh) | 一种保证服务器接入可靠性的方法及装置 | |
CN1913496A (zh) | 一种oam报文的转发控制方法及*** | |
CN101060485A (zh) | 拓扑改变报文的处理方法和处理装置 | |
CN1929444A (zh) | 运营商边界节点、虚拟专用局域网服务通信方法及*** | |
CN101047624A (zh) | 标签分配方法以及标签出让方法 | |
CN101047651A (zh) | 设置ip优先级的方法、***和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |