具体实施方式
本发明提供了一种利用链路聚合作为弹性接入PLSB网络的形式的方法。参考图3-5,下面仅通过示例的方式描述发明的实施例。
概括地说,本发明实现到网络域的弹性连接,借此,在上行方向上,客户端系统(CS)对分离链路聚合组(SLAG)的多个链路的业务分配是任意的,并且通过扩展从网络域通过该域到期望出口点的并行连接,实现跨域网络域的这种弹性的扩展。这些出口点可以是其它以太网交换机(ES)或奇异(singular)ES中的虚拟CS,其中,该奇异ES代表单个附着的客户端来代理功能。在优选的实施例中,这通过提供网络域的两个或更多对等边缘节点的集合来完成,对等边缘节点集合中的每一个节点包括宿留(host)连接到CS的对应LAG链路的至少一个本地链路聚合组(LAG)端口;以及宿留将节点连接到对等边缘节点集合的每个其它节点的节点间干线的至少一个端口。计算通过网络域从每个对等边缘节点到至少一个预定目的地地址的路径,以载送到或来自CS的业务。然后控制对等边缘节点,使得经由到至少一个预定目的地地址的路径来转发从CS接收的进入业务;然而如果任意的本地LAG端口可操作(operational),则经由本地LAG端口,将去往CS的输出业务转发到CS,否则经由节点间干线转发到对等边缘节点集合中的另一个节点。
图3示意性地说明了在其中可以在提供商链路状态桥接(PLSB)网络域中实现这一方法的网络。
图3的实施例在拓扑结构上类似于以上参考图2描述的分离链路聚合组(SLAG),其中,将以太网客户端系统(CS)6连接到两个或更多交换节点。然而,图3的实施例与图2的安排的不同在于图2的使能SMLT的以太网交换机由提供商链路状态桥接(PLSB)域20的边缘节点18替代,这里将边缘节点18称为骨干边缘桥(BEB)。通过节点间干线(INT)22来互连BEB 18,其可以是PLSB域20中传统的单播或多播连接,以实现下面将更详细地描述的BEB 18之间的协调。因此,节点间干线(INT)22类似于上面结合图2描述的交换机间干线(IST)16。
如上面所提及的,期望CS 6能够执行如IEEE 802.3-2005(第43节)中所定义的传统的MAC客户端和聚合器功能。在不干扰BEB 18的传统的PLSB功能性的情况下,这能够通过跨越所涉及的BEB 18分发传统的多链路聚合主干的MAC客户端功能性来实现。需要分发的功能有三种,也就是:LAG聚合器功能;通告CS 6以实现到或来自CS 6的业务转发所需的路径(和/或树);以及BEB服务分组转发功能。下面更加详细地描述这些中的每一个。
分发LAG聚合器功能
可以使用已知的方法来实现LAG聚合器功能的分发,例如,从分离多链路聚合主干(SMLT)。因此,在分离链路聚合组(SLAG)12的分离端14处,提供相应的聚合器实例24给每个对等BEB 18,其中,该聚合器实例24包括所有三个组件(即控制器、分发器和收集器)。
当在分离多链路聚合主干(SMLT)中时,在每个对等BEB 18处提供的相应控制器实例协作以管理SLAG 12的状态,并且将该状态信息提供给每个BEB 18中的分发器实例。因此,例如,可以认为每个BEB 18具有与SLAG 12相关联的三个端口集,也就是:连接到CS 16的一个或多个本地LAG端口;用于与对等BEB 18交换消息的一个或多个INT端口;以及用于通过路径(或树)26向PLSB域20中的(一个或多个)目的地地址28转发业务的一个或多个PLSB端口。在跨越PLSB域20的扩展的LAG情形中,路径(或树)26将扩展到一个或多个BEB,其中,所述一个或多个BEB以通常是图3中所示的镜像的方式宿留目的地CS(未示出)。每个分发的聚合器24中的控制器实例管理每个它的本地LAG端口的状态,并且通过INT 22经由合适的控制信令广播该状态信息到每个对等BEB 18中的分发器实例。
在正常的操作中,每个BEB中的分发器实例将去往CS的帧仅分发到其本地的LAG端口。但是,如果那些本地端口不能操作,并且对等BEB上至少一个LAG端口可操作,则分发器实例能够通过INT 22将帧转发到它的对等分发器。
当在传统的MLT和SMLT方法中时,收集器实例仅将帧从本地LAG端口传递到它的MAC客户端。
在传统的LAG 2中,与每个聚合器4相关联的MAC客户端执行服务级别分组转发。如上面所描述的那样,在图3的实施例中,通过安装在每个BEB中的相应聚合器实例24,在对等BEB 18上分发聚合器功能。在这样的情形中,使用对应的MAC客户端实例30,还在BEB 18上分发MAC客户端功能是高效的。
为了易于描述,方便起见,将支持SLAG 12的分离端14的对等BEB 18称为“分离BEB”(S/BEB)。在以下描述中将使用这一术语。
将客户端系统通告给PLSB域
通常,存在两种技术可以用于将客户端系统6通告给PLSB域20从而计算通过PLSB域20从每个S/BEB 18到任意目的地地址的路径(或树)26。下面描述的第一种技术用于将S/BEB 18的聚合表示成假想节点(PN)32,其中,该假想节点(PN)32在概念上位于INT 22上距离每个S/BEB 18一跳处。描述的第二种技术用于控制每个对等S/BEB 18为SLAG 12独立地计算一个或多个路径/树26的集合,并且然后从计算的路径/树的集合中选择路径/树,从而最大化由所有的对等S/BEB 18所选择的路径/树之间的分集。
如现有技术中所已知的那样,传统的PLSB路径计算技术能够产生源地址和(一个或多个)任意给定目的地地址之间的多于一个的等成本路径或树。使用已知的平局决胜技术,例如,来自2007年12月26日提交的美国专利申请第11/964,478号,标准的BEB上的分组转发器正常地选择这些路径或树中的一个,从而在PLSB域20上经由所选择的路径或树来封装和转发业务。为方便参考,在存在两个等成本路径/树的情形中,可以将这两个路径/树称为“高”路径/树和“低”路径/树。在存在多于两个等成本路径/树的情形中,可以使用不同的分级系统,但是一般性的原理保持一样。
使用假想节点将客户端系统通告给PLSB域
在本发明的上下文中,需要将假想节点(PN)32的骨干MAC(B-MAC)地址作为传递到/来自CS 6的订户业务的单播路径和多播树的目的地和源地址(B-DA,B-SA)来通告。
根据IEEE 802.3(2005)第43节中的LAG描述,聚合器具有它自己的MAC地址,并且这一地址成为使用聚合器的MAC客户端的MAC地址。当支持多个链路聚合的系统具有用于每个的不同MAC地址时,似乎不需要禁止在系统上对所有的聚合链路使用相同的MAC地址。因此,例如,如果期望,每个S/BEB 18上的相应的聚合器实例24都可以具有相同的MAC地址。在某些实施例中,该公共MAC地址能够用作假想节点32的B-MAC地址(也就是说,PLSB域20中的地址)。
如本技术中已知的,链路状态分组(LSP)包含序列号和存在时间(age)字段。每个S/BEB 18必须转发假想节点LSP,其中,所述LSP看起来似乎它们已经从假想节点32到达它的INT 22端口。由于PN 32实际不存在,做到这点的一种方式是指定S/BEB 18中的一个来负责代表PN 32生成任意给定的LSP(并且相应地设置序列号和存在时间字段),而(一个或多个)其它S/BEB只转发它。可以在提供S/BEB 18的时候、或者在任意其它合适的时候,选择指定的S/BEB 18。可以基于任意合适的准则来指定选择S/BEB 18中的哪个来负责代表PN 32生成任意给定的LSP。例如,在某些实施例中,可选择具有最低地址的S/BEB 18作为指定的S/BEB。
BEB生成的传统的IS-IS LSP包含用于BEB所宿留的任意/所有MAC客户端的相应I-SID。相应地,由指定的S/BEB代表PN 32所生成的LSP,优选包括分配给S/BEB 18上的每个MAC客户端实例30的相应I-SID。
基于它们自己的LSP,以及涌到(flood to)它们的LSP,S/BEB 18必须计算最短路径和树并且扩展到PLSB域20中每个其它的通告的BEB,其中,所述最短路径和树在概念上植根于PN 32。在PLSB的一个实施例中,选择来自每个节点的所有可能的最短路径中的两个路径来使用:在平局决胜过程中得分最高的一个和得分最低的一个。尽管单播路径是I-SID独立的,对于假想节点PN 32所支持的每个I-SID,必须生成一对多播树(“高”树和“低”树)。在每个目的地BEB支持每个I-SID的情形中,则将仅存在一对不同的树。否则,将生成两对或更多对的树,这些成对的树在用于不支持任意特定I-SID的叶BEB的裁剪链路中彼此不同。还注意到仅在存在单独附着到S/BEB 18对中的一个成员而不附着到另一成员的客户端系统的情况下,也就是说,如果在相同的BEB上存在多宿主和单宿主的客户端系统的混合,则S/BEB 18必须通告(一个或多个)I-SID并且为它们自己的骨干MAC地址计算路径。
为方便起见,可以采用从之前提及的平局决胜算法中已知的方式来对S/BEB 18分级。因此,例如,可以将具有更高身份的S/BEB 18指定为“高”S/BEB 18H,以及具有更低身份的S/BEB 18为“低”S/BEB 18L。使用这一命名法,对于概念上植根于假想节点32的两个树的最高级存在四种可能的安排(参见图4a-d):
1)对于每个树,存在来自根(假想节点32)的单个链路34,并且每个树的第一链路去往两个S/BEB 18中不同的一个(图4a);
2)对于每个树,存在来自根32的单个链路34,并且每个树的第一链路去往相同的S/BEB 18(图4b中低S/BEB 18L);
3)对于一个树,存在来自根的单个链路34,而另一个树在根32处分离(图4c);以及
4)两个树都在根32处分离(图4d)。
在细心构造的网络中,确保所有“高”树(图4a-d中的虚线)以一个S/BEB 18作为它们的第二级节点的是可能的,并且所有“低”树(图4a-d中的实线)另一S/BEB 18(参见图4a),但是这样的网络可能是例外。一般地,对于概念上植根于假想节点32的树,通常将存在树的划分;到某些目的地地址28的最短的路径将穿过一个S/BEB 18,并且到其它的目的地地址28的最短路径将穿过另一S/BEB 18(图4c和4d).
对于图4b、4c和4d的安排,必须安装PLSB转发项(forwarding entry)和反向路径转发检查(RPFC),从而能够在INT 22上将从CS 6接收的在一个S/BEB 18处的输入订户分组转发到另一S/BEB 18,然后该另一S/BEB 18能够转发分组,如同它已经从假想节点32接收到分组一样。通过控制每个S/BEB 18通告它自己假想节点32离它一跳距离,并且在INT 22上,IS-IS协议将自动安装转发项从而使得将在正确的路径或树上转发/复制S/BEB 18经由INT 22接收的任意分组,如同已经从假想节点32接收到那些分组一样。这一相同的技术还将安装转发项到INT 22上的假想节点32。当然,如上面所描述地,通过INT 22转发的任意分组(概念上到PN 32)将事实上穿过INT 22并且将由对等S/BEB 18接收,在该对等S/BEB 18处,它将被处理,就如同它已经被从PN 18接收到一样。
必须安装额外的转发项以确保S/BEB 18通过适当的到目的地BEB 28或(概念上)到假想节点32的路径/树来正确地转发从CS 6接收的进入订户分组。对于单播转发,期望的行为是:当S/BEB 18是从假想节点32到目的地BEB 28的单播路径上的第二节点时,则S/BEB 18如同分组已经从假想节点32到达一样地转发分组(在封装后);但是当S/BEB 18不在到目的地BEB 28的路径上时,则S/BEB 18跨越INT 22转发分组(在封装后)(概念上到PN 32),从而使得它被对等S/BEB 18所接收,其中,通过构造,该对等S/BEB 18必须是到目的地28的路径上的第二节点。对于进入订户分组的多播转发/复制,可以在子树方面规定期望的行为。
可以将概念上植根于PN 32的树表示成植根于每个S/BEB 18的一对子树,该对子树完美地划分了网络中的对等BEB 18和内部节点的集合。从每个S/BEB 18,一个子树通过PLSB域20扩展到一个或更多目的地BEB 28,而通过INT 22将另一子树路由到对等S/BEB 18。当然,对于任意给定的S/BEB 18,可以基于概念上植根于PN 32的树的构造来消除(裁剪)这些子树中的一个或两个。因此,如果概念上植根于PN 32的树没有通过给定的S/BEB 18扩展到目的地BEB 28,则裁剪通过PLSB域20从那个S/BEB 18扩展的子树,如从对等S/BEB 18到那个S/BEB 18的子树那样。
例如,在图4a的安排中,概念上植根于PN 32的低树(实线)仅仅遍历低S/BEB 18L。所以,对于低树,低S/BEB 18L将为仅仅一个子树安装转发状态,其中,该子树通过PLSB域20扩展到一个或更多目的地BEB 28;而高S/BEB 18H将为仅仅一个子树安装转发项,其中,通过INT 22引导该子树到低S/BEB 18L。如可见的,这将导致通过低S/BEB 18路由所有的低树业务,其中,该低S/BEB 18遵循图4a的低树。通过对比,在图4c的安排中,概念上植根于PN 32的高树(虚线)在PN 32处分离并且穿过两个对等S/BEB 18。所以,对于高树,两个S/BEB 18都将为两个子树安装转发状态;通过PLSB域20引导一个到一个或更多目的地BEB 28,以及通过INT 22引导一个到另一S/BEB 18。
在这一安排下,能够复制和通过从那个S/BEB 18扩展的子树转发在任意给定的S/BEB 18处从CS 6接收的进入订户分组(在包括插入作为树根的PN的B-MAC的封装之后),以获取期望的多播行为。
较早提及地,传统的PLSB处理导致在入口BEB处发起的两个路径集和两个树集的生成。将在其上以隧道传输(tunnel)客户端分组的路径或树通过区别包括在分组的封装中的骨干V-LAN ID(B-VID)来标识。然后问题是在封装期间S/BEB 18应该分配哪个B-VID给进入订户分组?在预计支持众多VPN的载波网络中,传统的BEB可以用客户端服务的I-SID作为在路径和树的两个集合上分发客户端业务的关键。例如,分配用于在低路径和树上以隧道传输的B-VID给具有偶数编号的I-SID的分组,而分配用于在高路径和树上以隧道传输的B-VID给奇数编号的I-SID的分组。可以将这一相同的策略应用到S/BEB 18。但是,不管I-SID,客户端系统6处的传统的聚合器功能4将正常地在S/BEB 18上散布(spread)进入订户业务负载。所以,如在传统的系统中,实现在其中基于I-SID分配B-VID的规则,导致通过INT 22发送大约50%的进入订户业务。与此相反,由于给定的I-SID能够仅与单个B-VID相关联,所以必须安装的多播树的数目将减少(减少了约一半)。在企业的PLSB部署中,预计通常将存在相对小的数目的树,从而使得相比限制树的数目,最小化通过INT 22的订户业务和最大化通过骨干的负载散布更加重要。
一种最小化通过INT 22的订户业务的策略是实现转发规则,使得低S/BEB 18L分配B-VID,以用于在低路径或树上以隧道传输,并且高S/BEB 18H分配B-VID,以用于在高路径或树上以隧道传输。假设CS 6处的LAG聚合器功能4产生在对等S/BEB 18上进入订户业务的均匀分布,则在图4a的安排中,零订户业务将跨越INT 22;而对于图4b和4d的安排,一半的业务必须跨越INT 22;以及对于图4c的安排,四分之一的业务必须跨越INT 22。
图5的示例中,由于BEB 5 28e仅通过低S/BEB 18L可到达,高S/BEB 18H已经在相应的网络端口上安装用于BEB 1和2、28a、28b和BEB 3和4 28c、28d的高树(虚线)转发表项,以及在INT 22端口上的用于BEB 5 28e的高树转发表项。高S/BEB 18H还安装用于BEB 1和2、28a、28b的低树转发表项。低S/BEB 18L安装用于BEB 5 28e的低树和高树业务两者的转发表项,以及用于BEB 3和4 28c、28d的低树转发表项。遵循上面提及的分割策略,对于多播转发,在低S/BEB 18L处从CS 6接收的订户分组将仅被复制到低树上。因此,低S/BEB 18L将向BEB 3、4 和5 28c-e(在封装之后)复制订户分组,并且通过INT 22到高S/BEB 18H,其中,该高S/BEB 18H具有用于面向BEB 1和2 28a、28b的子树的低树转发项。类似地,对于多播转发,在高S/BEB 18H处从CS 6接收的用户分组将仅被复制到高树上。因此,高S/BEB 18H将(在封装之后)向BEB 1-4 28a-d复制订户分组,并且通过INT 22到低S/BEB 18L,其中,该低S/BEB 18L具有用于仅面向BEB 5 28e的子树的高树转发项。
分组的“按顺序”传递是以太网服务的要求,其大多在多播分组穿过与单播分组到相同的目的地所穿过的链路不同的链路到它们的目的地时测试。以上规则确保客户端系统6上的负载散布过程认为多播和单播分组属于穿过相同路径的相同对话,但是以如上面所提及的具有为各个和每个I-SID安装高和低树的IS-IS过程为代价。对于分组转发服务,其中多播流明显区别于单播流,并且多播可能没那么普遍,根据I-SID仅为多播分组使用高或低树、但是在匹配它们所到达的S/BEB 18的路径上转发单播分组的混合方法,可能是优选的方法。对于INT 22业务的小的增加,这一方法可以消除在所有BEB中安装的树的一半。
在操作的正常的过程中,其它BEB处的转发功能将学习PN 32的MAC地址并且将封装去往具有等于PN的MAC地址的骨干目的地地址(B-DA)的客户端系统6的分组。
当具有PN 32的B-DA的单播分组到达S/BEB 18时,S/BEB 18应该将它传递给它的本地MAC客户端实例30,以传递到它的相应的SLAG聚合器实例24。因此,将在不穿过INT 22的情况下转发分组到客户端系统6,除非所有的S/BEB 18的到SLAG 12的本地链路不能操作。
如果假想节点32是植根于PLSB域20的某个其它BEB处的一对广播树的叶集的成员,则可能是复制和在那些树之一上转发的分组到达两个S/BEB 18的情形。仅仅一个S/BEB 18将在到PN 32的最短路径上,而另一个S/BEB 18可能是它自己的目的地(例如,它支持属于相同的VPN的虚拟桥)或者它是到其它叶的路径上的中间节点。多播分组在其中不携带目的地MAC地址,因此,S/BEB 18不能从进入多播分组的首部中简单地确定它是否接收到它,因为,它是到PN 32的倒数第二跳或者因为它自身是树的叶或者因为它是树的另一分支中的中间节点(或者,事实上,因为多播处理中的实施缺点,其中在分组预计将被丢弃的情况下分组被转发)。
正确操作的要求是仅仅一个S/BEB的MAC客户端实例30应该处理用于转发到CS 6的分组。一个简单的规则是仅仅由高S/BEB 18H的MAC客户端实例30转发到达高树的广播分组,并且仅仅由低S/BEB 18L的MAC客户端实例30转发在低树上到达的那些广播分组。不论S/BEB 18是如何组织的,这一规则需要非常少的规定以实现和避免关于何时向CS 6复制广播分组的任意混淆。但是确实需要两个S/BEB 18来用它们自身的MAC地址来通告PN的I-SID,从而确保来自其它的BEB的所有高树包括高S/BEB 18H(和低树低S/BEB 18L)作为叶。
用于输出多播的可替换策略是当且仅当已经将多播分组转发到PN 32时,控制S/BEB 18将多播分组转发到它的MAC客户端30。因此,当S/BEB 18计算它作为节点所在的树、以及它需要复制分组到哪些邻居、它需要将任意实例改变成规则以转发它到I-SID MAC客户端,在所述实例中,它复制和转发分组到PN 32。在这一安排下,如果S/BEB 18是到PN32的特定树上的路径上的倒数第二个节点,S/NEN 18仅向客户端系统6转发多播分组。
为了简化,假设S/BEB 18上的所有的用户网络接口(UNI)端口是分离LAG端口(SLAG端口)。于是,作为S/BEB 18上的MAC客户端30,MAC客户端看见三类端口:SLAG端口;PB端口(到PLSB域20的端口)和INT 22端口。注意MAC客户端将以与标题是“Split Multi-Link Trunking(SMLT)”http://tools.ietf.org/html/draft-lapuh-network-smlt-07的互联网草案中描述的方式类似的方式在INT 22上交换MAC学习信息。
对于到达MAC客户端的SLAG端口上的多播分组
-如果学习到的输出端口是另一SLAG端口,则根据正常的负载分割规则,将分组转发到本地分发器。
-如果学习到的输出端口是PB端口,则如同分组源于假想节点(即B-SA=PN B-MAC)一样地封装分组并且在匹配树的S/BEB 18(即,如果是高S/BEB,则具有高B-VID)上转发分组。如果目的地BEB路径通过对等S/BEB 18,则如上面所描述地,将自动在INT 22端口上导出分组。
-如果输出端口未知,则如下面所述的那样广播分组。
对于到达MAC客户端的PB端口上的单播分组(从高或低路径):
-如果学习到的输出端口是SLAG端口,则将解封装的分组转发到SLAG端口的分发器功能。
-如果输出端口未知,则复制分组到所有的SLAG端口的分发器功能。(如果任意分离LAG端口不能操作,则在INT 22上转发分组的副本到另一MAC客户端,其中,仅仅在那个MAC客户端的SLAG端口上转发到那个MAC客户端)。
由于将看见来自核心的分组的第一S/BEB 18应该是发送它到客户端系统的S/BEB 18,所以对于在INT 22上到达的单播分组(如具有B-DA=PN MAC的PLSB分组),丢弃该分组。
对于到达SLAG端口上的广播和未知分组:
-如上,广播到所有其它SLAG端口上。针对源于假想节点的匹配(低S/BEB,低)多播树,封装并且在所安装的树上转发。如上面所描述地,如果树的任意部分通过另一S/BEB,则这将自动包括在IST干线上转发。
对于从PB端口到达的广播分组:
-复制分组到所有的SLAG端口。(如果已存在用于PN的转发项-即S/BEB 18是从源BEB到PN的路径上的倒数第二个节点,则S/BEB 18将仅仅已转发分组到本地MAC客户端实例)。如果S/BEB 18具有用于针对端口的树的任意“复制和转发”项,在任意其它的PB端口(包括INT 22端口)上复制分组。
S/BEB 18应该从不转发在INT 22上到达的多播分组到它的本地MAC客户端实例。
在没有假想节点的情况下将客户端系统通告给PLSB域
在之前的描述中,在PLSB域20中将客户端系统的LAG链路表示成附着于假想节点(PN)32,其中,该假想节点(PN)32在概念上位于INT 22上,离每个S/BEB 18一跳。“如同”PN 32是PLSB域20中的物理节点一样,每个S/BEB 18代表PN转发通告消息,从而使得能够构造单播路径和多播树到PLSB域20中的目的地节点。然后在每个S/BEB 18中实施适当的业务转发规则以提供到或来自附着的客户端系统的期望的分组转发。图6描述了可替换的实施例,其中不使用假想节点。图6的实施例使用PLSB的设备来通告所谓的“端口”MAC和节点地址以及相关联的I-SID,以触发通过PLSB网络20从每个S/BEB 18到其它BEB的路径的计算,用于载送到或来自CS 6的业务。当由节点在LSP中通告端口MAC时,源自那个端口MAC的路径(即,其B-SA是端口MAC的分组所遵循的路径)与从节点安装的路径是同构的。树也是同构的,服从于上面提及的I-SID裁剪。
在图6的实施例中,每个S/BEB 18以与上面描述的方式类似的方式宿留分发的MAC客户端实例30和聚合器实例24。但是,在这一情形中,由每个S/BEB 18直接通告SLAG端口的所分配的B-MAC地址,作为端口MAC。通告多个节点上所宿留的相同的端口MAC地址通常将导致跨越PLSB网络的不可预测的分组转发行为。在图6的实施例中,S/BEB 18遵循过程以确保在PLSB网络中的操作中,对于每个不同的骨干V-LAN ID(B-VID),仅仅一个S/BEB 18通告SLAG端口MAC地址。
如上面所描述地,传统的PLSB路径计算技术能够在源地址和任意给定目的地地址(一个或多个)之间产生多于一个的等成本路径或树。根据之前提及的平局决胜技术,可以选择两个或更多这样的到每个目的地的路径以及相关的树,以用于中间交换机的转发表中的安装。每个路径集由不同的BVID来区别。在传统的BEB中,如较早描述地,存在用于选择哪个BVID以及因此哪条路径以用于转发业务的各种选项。但是,传统的BVID选择过程在每个BEB中独立地操作,而为了确保每个BVID仅仅由S/BEB 18集的一个成员选择以供使用,必须在S/BEB 18集上协调BVID分配过程。例如,链路聚合组的特征是聚合组内的每个链路8的物理分集(diversity),并且期望在遍历PLSB域20的扩展的LAG中保留这种分集。这暗示BVID选择机制的吸引力,其中,该BVID选择机制操作以最小化每个S/BEB 18选择的相应路径之间的任意重叠。
完成这一点的一种方法是对从每个BEB 18扩展的路径进行分级,并且然后迫使每个S/BEB 18基于该分级选择路径。例如,考虑其中有两个S/BEB 18的情形,定义该S/BEB 18为“高”S/BEB 18H和“低”S/BEB 18L,并且其中每个S/BEB 18宿留相应的等成本路径对(类似于标识成“高”BVID路径和“低”BVID路径)。在这一情形中,BVID分配机制可操作以迫使低S/BEB 18L向SLAG端口MAC通告“低”BVID,以及高S/BEB 18H向SLAG端口MAC通告“高”BVID。当然,在不偏离本发明的范围的情况下,还可以使用向单独S/BEB 18唯一地分配BVID的其它机制。
如可以理解到地,这一安排实现为SLAG的每个链路构造相应的单播路径(或多播树),从而有效地扩展通过PLSB域20的SLAG。图6的实施例中的业务转发相当简单,其中,由S/BEB 18通过它的本地LAG端口接收进入业务,并且用分配给用于CS的该特定S/BEB 18的B-VID来封装进入业务,并且通过PLSB域20来转发。在它的BVID与分配给S/BEB 18的BVID匹配的情况下,将S/BEB 18通过PLSB域20接收并且去往CS 6的输出业务转发到S/BEB的本地LAG端口。注意,在正常操作下,所有具有SLAG 12的B-DA的单播业务将总是到达通告B-VID的S/BEB 18。如较早提及地,多播业务不载送目的地地址并且存在网络拓扑,在所述网络拓扑中,以其它BVID标记的多播分组可以到达S/BEB 18以转发到其它节点。在以上规则下,S/BEB 18将不会向CS 6转发这样的多播分组。将仅仅向CS 6转发多播分组的一个副本,其到达具有匹配分组的BVID的分配的S/BEB 18。在这一安排下,通过INT 22的业务转发被最小化。(如较早描述地,在没有本地LAG可操作的情形中,通过INT 22将去往CS 6的输出业务转发到对等S/BEB 18,该对等S/BEB 18经由它的本地LAG端口转发输出业务到CS 6)。
当在代理S/BEB 18中虚拟化CS 6时, 如同它们是LAG一样地对待B-VID,其中,它将使用负载散布技术在它们中的两个上随机化客户端业务。它们将使用“共享学习”(代替由IST执行的学习同步过程),其中,在一个B-VID中学习的C-MAC到B-MAC的绑定将类似地应用到另一B-VID以使得避免病态的“不学习”的情形。
在以上描述的实施例中,已经参考代表性的实施例描述了本发明,其中,客户端系统6经由一对对等S/BEB 18附着到PLSB域20。在这一实施例中,认为INT 22是所涉及的节点之间的单播连接。但是,将理解到本发明不限于这样的实施例。相反,如果期望,可以容易地将描述的技术应用到附加方案,其涉及多于两个对等S/BEB和甚至更大数目的BVID。在这一情形中,将INT 22定义为广播链路,并且将高和低S/BEB、路径和树的指定扩展到容纳增加数目的S/BEB。可以认为这样的变型完全在那些本领域技术人员的视野内,并且认为它们落入本发明的范围。
以上描述的本发明的实施例(一个或多个)仅意图是示例性的。因此,本发明的范围意图仅由附加的权利要求的范围限定。