报文转发方法和设备的制作方法

文档序号:7984282阅读:168来源:国知局
报文转发方法和设备的制作方法
【专利摘要】本申请提供了报文转发方法和设备。其中,该方法包括:从堆叠系统中选取堆叠控制成员和堆叠端口扩展成员,其中,堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,而堆叠端口扩展成员为所述堆叠系统中除堆叠控制成员之外剩余的成员;任一堆叠控制成员在本地创建连接堆叠端口扩展成员的跨设备聚合组端口,该跨设备聚合组端口的成员端口为所述堆叠系统中各堆叠控制成员上连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口;任一堆叠控制成员在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发所述报文。
【专利说明】报文转发方法和设备
【技术领域】
[0001]本申请涉及网络通信技术,特别涉及报文转发方法和设备。
【背景技术】
[0002]堆叠是指一台以上的交换设备组合起来共同工作,以便在有限的空间内提供尽可能多的端口。支持堆叠的多台交换设备互连组成一个联合设备,该联合设备称为一个Stacking (堆叠),而组成该Stacking的每个交换设备称为一个Slot (成员)。多个Slot组成Stacking后,无论在管理上还是在使用上,就成为了一个整体,也就是说,可将该多个Slot看成单一设备进行管理和使用,这样,既可以通过增加设备来扩展端口数量和交换能力,同时,也通过多个Slot之间的相互备份增加整个Stacking的可靠性。
[0003]参见图1,图1为现有Stacking的示意图。在图1中,该Stacking由4个Slot组成,分别记为:S1、S2、S3、S4,每个Slot配置两组外部堆叠口,分别记为第一堆叠口(Pl)和第二堆叠口(P2)。相邻两个Slot之间必须按照一个Slot的Pl与另一个Slot的P2的方式进行连接,例如图1中,SI的Pl与S4的P2连接,SI的P2与S2的Pl连接等等,如此,4个Slot之间通过P1、P2连接组成环形的Stacking。
[0004]在现有技术中,每个Slot配置的外部堆叠口可由至少一个成员端口组成,其中,同一外部堆叠口的成员端口由同一芯片提供,而不同外部堆叠口的成员端口由不同芯片提供,这就限制了相邻两个不同Slot之间的链路连接是1:1方式,如此,就会导致相邻两个不同slot之间的所有流量都集中在同一个链路上,增加链路负载,无法实现链路分担。

【发明内容】

[0005]本申请提供了报文转发方法和设备,以实现堆叠中两个不同成员之间的流量分担。
[0006]本申请提供的技术方案包括:
[0007]—种报文转发方法,包括:
[0008]从堆叠系统中选取堆叠控制成员和堆叠端口扩展成员,其中,堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,而堆叠端口扩展成员为所述堆叠系统中除堆叠控制成员之外剩余的成员;
[0009]任一堆叠控制成员在本地创建连接堆叠端口扩展成员的跨设备聚合组端口,该跨设备聚合组端口的成员端口为所述堆叠系统中各堆叠控制成员上连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口 ;
[0010]任一堆叠控制成员在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发所述报文。
[0011]—种报文转发方法,包括:
[0012]从堆叠系统中选取堆叠控制成员和堆叠端口扩展成员,其中,堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,而堆叠端口扩展成员为所述堆叠系统中除堆叠控制成员之外剩余的成员;
[0013]任一堆叠控制成员创建连接堆叠端口扩展成员的本地聚合组端口,该本地聚合组端口的成员端口为该堆叠控制成员本地连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口 ;
[0014]任一堆叠控制成员在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
[0015]一种报文转发设备,该设备作为堆叠系统中的其中一个堆叠控制成员,其中,所述堆叠系统中所有的堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,所述堆叠系统中还包括堆叠端口扩展成员,堆叠端口扩展成员为堆叠系统中除堆叠控制成员之外剩余的成员;
[0016]所述设备包括:
[0017]跨设备聚合组端口,用于连接堆叠端口扩展成员,其中的成员端口为所述堆叠系统中各堆叠控制成员上连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口;
[0018]媒体接入控制MAC芯片,用于在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发所述报文。
[0019]一种报文转发设备,该设备作为堆叠系统中的其中一个堆叠控制成员,其中,所述堆叠系统中所有的堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,所述堆叠系统中还包括堆叠端口扩展成员,堆叠端口扩展成员为堆叠系统中除堆叠控制成员之外剩余的成员;
[0020]所述设备包括:
[0021]本地聚合组端口,用于连接堆叠端口扩展成员,其中的成员端口为该设备本地连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为该设备上连接堆叠端口扩展成员的堆叠口;
[0022]媒体接入控制MAC芯片,用于在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
[0023]由以上技术方案可以看出,本发明中,堆叠控制成员在本地创建连接堆叠端口扩展成员的跨设备聚合组端口或本地聚合组端口,这实现了堆叠控制成员和堆叠扩展成员之间不再像现有技术那样1:1连接,而是一种聚合连接方式,如此,当堆叠控制成员向堆叠扩展成员发送报文时,就从连接该堆叠端口扩展成员的跨设备聚合组端口或本地聚合组端口中选择一个成员端口转发报文,这相比于现有的1:1连接方式,显然能够保证报文转发可靠性和流量分担。
【专利附图】

【附图说明】
[0024]图1为现有Stacking的示意图;
[0025]图2为本发明实施例提供的堆叠系统组网示意图;
[0026]图3为本发明实施例提供的另一堆叠系统组网示意图;
[0027]图4为本发明实施例提供的报文转发设备结构图;[0028]图5为本发明实施例提供的另一报文转发设备结构图。
【具体实施方式】
[0029]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0030]在本发明中,需要先对堆叠系统中的成员进行划分,具体划分为两部分:一部分来构成堆叠系统的交换转发中心,主要负责交换转发工作,为便于描述,可将该部分成员称为堆叠控制成员;至于另一部分,其用于进行堆叠端口扩展,以便增强堆叠系统的接入能力,其可为堆叠系统中除堆叠控制成员之外的剩余成员,为便于描述,可将该部分成员称为堆叠端口扩展成员。
[0031]以图2 所示的组网为例,假如图 2 中 Slotl, Slot2,Slot3,Slot4,SlotlOl,Slotl02, Slotl03作为成员组成了一个堆叠系统,则,可根据组网需求选择其中的Slotl,Slot2,Slot3,Slot4作为堆叠控制成员,而将剩下的SlotlOl, Slotl02, Slotl03作为堆叠
端口扩展成员。
[0032]优选地,本发明中,堆叠系统采用星形拓扑结构组网,则堆叠控制成员作为堆叠系统的交换转发中心,其可处于星形拓扑的中心位置,而端口扩展成员,则可作为星形拓扑的发散分支,具体如图2所示。本发明中,之所以采用星型拓扑结构,主要是因为星型拓扑结构提供了充足的扩展能力,其每个发散分支没必要深度发散,这降低了堆叠拓扑深度,确保网络结构的扁平化;并且,星形拓扑结构只要保证中心位置的堆叠控制成员设备性能,其他设备可为廉价设备,有利于廉价、高密度端口扩展方案,适合数据中心CB-PE端口扩展。
[0033]优选地,本发明中,堆叠控制成员间按环型或链型进行堆叠,如图2所示,将Slotl至Slot4通过环型或链型堆叠在一起,这种堆叠方式与现有堆叠系统中成员之间的堆叠方式一样,为便于描述,这里先将相邻堆叠控制成员之间连接的堆叠口称为一级堆叠口,与现有技术一样,这里的一级堆叠口遵守同一堆叠口的成员端口由同一芯片提供,而不同堆叠口的成员端口由不同芯片提供的限制。
[0034]而堆叠控制成员与堆叠端口扩展成员之间的堆叠方式不同于现有堆叠系统中成员之间的堆叠方式,为便于描述,这里将堆叠控制成员与堆叠端口扩展成员之间的堆叠端口称为二级堆叠口。其中,针对堆叠控制成员,将其连向堆叠端口扩展成员的二级堆叠口称为下行二级堆叠口,相应地,针对堆叠端口扩展成员,可将其连向堆叠控制成员的二级堆叠口称为上行二级堆叠口。下面通过两种方式描述如何基于堆叠控制成员的下行二级堆叠口实现堆叠控制成员与堆叠扩展成员之间的流量分担:
[0035]方式1:
[0036]本方式I要求各个堆叠控制成员支持跨设备堆叠链路聚合。基于此,该方式I下,在任一堆叠控制成员上创建连接堆叠端口扩展成员的跨设备聚合组端口。这里,跨设备聚合组端口的成员端口为不同堆叠控制成员上连接该堆叠端口扩展成员的下行二级堆叠口。
[0037]以图2所示组网中的堆叠控制成员Slotl为例,则在Slotl至Slot4支持跨设备堆叠链路聚合下,在Slotl上创建一个连接堆叠端口扩展成员SlotlOl的跨设备聚合组端口,该跨设备聚合组端口是由Slotl上连接SlotlOl的本地下行二级堆叠口比如端口 101、以及Slot2至Slot4上连接SlotlOl的下行二级堆叠口(假如依次为端口 201、端口 301、端口 401)聚合而得到,其中的下行二级堆叠口即端口 101、端口 201、端口 301、端口 401为Slotl上连接SlotlOl的跨设备聚合组端口中的成员端口。同样,通过本方式2,Slot2至Slot4上也会创建一个连接SlotlOl的跨设备聚合组端口,该跨设备聚合组端口中的成员端口与上述在Slotl上创建的连接SlotlOl的跨设备聚合组端口中的成员端口相同。
[0038]可以看出,本方式I下,任一堆叠控制成员上跨设备聚合组端口的成员端口既包含本地下行二级堆叠口,也包含其他堆叠控制成员上的下行二级堆叠口。在报文转发过程中,跨设备聚合组端口中的所有成员端口相互之间进行流量分担,具体实现时可通过一定的哈希算法从跨设备聚合组端口的所有成员端口中选择一个成员端口进行报文转发,该选择方式与普通端口聚合处理一致,不再描述。
[0039]但是,本方式I下按照一定的哈希算法选择成员端口的方式,不能保证报文本地优先转发,也可能会出现单播报文上下行路径不一致的可能,也不能保证报文转发路径最短,基于这种缺陷,本方式I可在报文转发过程中按照本地优先转发方式从跨设备聚合组端口的成员端口中优先选择本地的下行二级堆叠口。以图2所示组网为例,假如Slotl收到一个目的地为SlotlOl的下行报文,则Slotl从本地创建的连接SlotlOl的跨设备聚合组端口的成员端口中优先选择出本地下行二级堆叠口,通过该选择的本地下行二级堆叠口向SlotlOl转发该下行报文。这种本地优先转发方式能够保证报文本地优先转发,也能保证单播报文上下行路径一致,以及报文在堆叠系统中转发路径最短。
[0040]优选地,本方式I中,在按照本地优先转发方式从跨设备聚合组端口的成员端口中选择本地下行二级堆叠口的前提下,当堆叠控制成员在转发报文时检测到本地发送该报文的下行二级堆叠口故障,则按照最短路径原则从跨设备聚合组端口中选择其他正常的成员端口,将所述报文发送给该选择的端口进行转发。以图2所示组网为例,假如Slotl收到一个目的地为SlotlOl的下行报文,则Slotl从本地创建的连接SlotlOl的跨设备聚合组端口中优先选择本地下行二级堆叠口,但发现本地下行二级堆叠口故障,则从连接SlotlOl的跨设备聚合组端口中选择其他成员端口,比如选择Slot2上连接SlotlOl的下行二级堆叠口,如此,将该报文发送给Slot2,由Slot2通过连接SlotlOl的下行二级堆叠口发送该报文。
[0041]至此,完成方式I的描述。下面对方式2进行描述:
[0042]方式2:
[0043]相比于方式1,方式2对各个堆叠控制成员是否支持跨设备聚合并不做限定。针对任一堆叠控制成员,实际转发过程是由硬件执行的,基于此,本方式2下,任一堆叠控制成员在硬件上创建连接堆叠端口扩展成员的本地聚合组端口,这里,本地聚合组端口不同于方式I中的跨设备聚合组端口,其中的成员端口不再跨设备,其仅为本地连接堆叠端口成员的下行二级堆叠口。
[0044]以图3所示组网中的堆叠控制成员Slotl为例,堆叠控制成员Slot2至Slot4原理类似,如图3所示,仅以Slotl连接SlotlOl为例,则采用本方式2,就需要在Slotl的硬件上配置连接SlotlOl的本地聚合组端口,该本地聚合组端口是通过对Slotl上连接SlotlOl的本地所有下行二级堆叠口即图3所示的端口 IOla和端口 IOlb进行聚合而得到,因此,Slotl上连接SlotlOl的本地所有下行二级堆叠口即图3所示的端口 IOla和端口 IOlb为该本地聚合组端口的成员端口。[0045]由于任一堆叠控制成员其可连接不同的堆叠端口扩展成员,因此,采用本方式2,会导致堆叠控制成员在硬件上创建多个本地聚合组端口,其中,不同本地聚合组端口包含的成员端口不同。如,以图3所示的组网为例,Slotl上除了创建连接SlotlOl的本地聚合组端口外,还可以创建连接Slotl02、Slotl03的本地聚合组端口,具体创建方式与创建连接SlotlOl的聚合组端口类似,不再赘述。
[0046]可以看出,采用方式2,任一堆叠控制成员上创建的本地聚合组端口仅包含本地下行二级堆叠口,如此,任一堆叠控制成员在向堆叠端口扩展成员转发报文时,优先从连接该堆叠端口扩展成员的本地聚合组端口中选择成员端口向所述堆叠端口扩展成员转发所述报文。这能够保证报文本地优先转发,也能保证单播报文上下行路径一致,以及报文在堆叠系统中转发路径最短。
[0047]但是,当堆叠控制成员在向堆叠端口扩展成员转发报文时,如果发现连接该堆叠端口扩展成员的本地聚合组端口中的所有成员端口均故障,不能继续用于报文转发,按照上述的方式2,会导致报文转发中断。基于此,本方式2下,为保证报文转发可靠性,还必须在软件层面为每个堆叠控制成员配置同一个芯片转发表,该芯片转发表仅是在堆叠控制成员上连接堆叠端口扩展成员的本地聚合组端口故障下,指导该堆叠控制成员继续进行报文转发。优选地,本发明中,所述芯片转发表包含:所述芯片转发表包含:堆叠端口扩展成员和各个堆叠控制成员上连接该堆叠端口扩展成员的本地聚合组端口。比如图3中,以堆叠扩展成员为SlotlOl为例,假如Slotl上连接SlotlOl的本地聚合组端口为端口 a,Slot2上连接SlotlOl的本地聚合组端口为端口 b,Slot3上连接SlotlOl的本地聚合组端口为端口 C,以及,Slot4上连接SlotlOl的本地聚合组端口为端口 d,则图3中任一堆叠控制成员比如Slotl至Slot4上配置的芯片转发表中包含SlotlOl和端口 a至端口 d。
[0048]可以看出,本方式2下,各个堆叠控制成员上配置了完全相同的芯片转发表,如此,当各个堆叠控制成员向堆叠扩展成员转发报文时,都会从本地聚合组端口优先转发,而当堆叠控制成员在本地聚合组端口故障时,就会根据路径最短原则从芯片转发表中找到其他连接该堆叠扩展成员的聚合组端口,从该找到的聚合组端口中选择一个成员端口,比如Slotl在向SlotlOl发送报文时,发现本地用于转发报文的本地聚合组端口故障,则按照最短路径从已配置的芯片转发表中找到SlotlOl对应的其他聚合组端口,从该找到的聚合组端口中选择一个正常成员端口比如找到Slot2上连接SlotlOl的下行二级堆叠口(记为端口 2),则Slotl将该报文通过一级堆叠口发送给Slot2,由该Slot2通过上述找到的端口比如端口 2转发该报文。这提高了堆叠成员之间连接的可靠性保证效果。
[0049]至此,完成了对上述两种方式的描述。
[0050]通过上面两种方式可以看出,本发明中,堆叠控制成员和堆叠扩展成员之间不再像现有技术那样1:1连接,而是由堆叠控制成员通过跨设备聚合组端口或者本地聚合组端口连接堆叠扩展成员,能够实现堆叠控制成员和堆叠扩展成员之间的N:1或N:M的多归属拓扑联接,相比于现有的1:1连接方式,显然能够保证报文转发可靠性和流量分担。
[0051]需要说明的是,在上述两种方式下,当堆叠控制成员向堆叠扩展成员发送下行多播报文(包括:组播报文,广播报文、以及未知单播报文)时,可能会出现多份下行多播报文复制的可能。针对这种情况,本发明还提供了使用多播源过滤进行抑制,以避免多份报文复制,具体为:[0052]I)针对每一堆叠控制成员,为该堆叠控制成员上的每个业务端口分配源ID,这里,堆叠控制成员的业务端口为除堆叠口之外的端口。比如图2或图3中,Slotl上除一级堆叠口和二级堆叠口之外的其他端口,比如图2或图3中的端口 I。
[0053]2)任一堆叠控制成员在通过业务端口接收到下行多播报文时,发现该下行多播报文需要继续向堆叠端口扩展成员转发,则为该下行多播报文标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的下行多播报文,并按照上述两种方式中任一方式执行向堆叠端口扩展成员转发该下行多播报文;而其他堆叠控制成员在通过一级堆叠口接收到下行多播报文时,发现该下行多播报文标记的源ID不为本设备分配的源ID,则仅通过本设备上其他的一级堆叠口转发该接收的下行多播报文,禁止通过本设备上的下行二级堆叠口转发该接收的下行多播报文,即实现了堆叠控制成员不对本地业务接口接收的报文进行过滤。优选地,为保证报文传输可靠性,本发明中,建议这种过滤方式不应用于上述的下行二级堆叠口故障时执行的操作。
[0054]同样,针对堆叠端口扩展成员向堆叠控制成员发送的上行多播(包括:组播,广播/未知单播)报文,本发明也提供了使用多播源过滤进行抑制,以避免多份报文复制,具体为:
[0055]任一堆叠控制成员通过下行二级堆叠口接收的来自一堆叠扩展成员发送的上行多播报文时,不对该报文进行过滤,并且,在发现该报文的目的端口为另一堆叠端口扩展成员的业务端口即向堆叠扩展成员转发报文,则,按照上述两种方式中任一方式执行向堆叠端口扩展成员转发报文时的操作,并通过一级堆叠口发送接收的报文给其他堆叠控制成员,而当其他堆叠控制成员通过一级堆叠口接收到该报文时,如果发现该报文的目的端口为堆叠端口扩展成员的业务端口,则在下行二级堆叠端口进行源过滤,具体为:仅通过本设备上其他的一级堆叠口转发该接收的报文,禁止通过本设备上的下行二级堆叠口转发该接收的报文。
[0056]优选地,本发明中,堆叠端口扩展成员的业务端口为除堆叠口之外的其他端口,比如图2或图3中,SlotlOl上的端口 2,其通过被分配源ID而区分。基于此,上述发现该报文的目的端口为堆叠端口扩展成员的业务端口具体为:识别该报文携带的目的端口的源ID,如果该识别的源ID为堆叠端口扩展成员的业务端口被分配的源ID,则确定该报文的目的端口为堆叠端口扩展成员的业务端口。
[0057]至此,完成了本发明提供的方法描述。
[0058]下面对本发明提供的设备进行描述:
[0059]参见图4,图4为本发明实施例提供的设备结构图。该设备为从堆叠系统中选取的其中一个堆叠控制成员,其中,所述堆叠系统中的堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,所述堆叠系统中还包括堆叠端口扩展成员,堆叠端口扩展成员为堆叠系统中除堆叠控制成员之外剩余的成员;
[0060]如图4所示,所述设备包括:
[0061]跨设备聚合组端口,用于连接堆叠端口扩展成员,其中的成员端口为所述堆叠系统中各堆叠控制成员上连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口;
[0062]媒体接入控制MAC芯片,用于在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发所述报文。
[0063]优选地,本发明中,所述MAC芯片按照本地优先转发方式从连接堆叠端口扩展成员的跨设备聚合组端口中选择出一个本地下行二级堆叠口转发报文,或者,按照哈希算法从连接堆叠端口扩展成员的跨设备聚合组端口中选择出一个成员端口转发报文;
[0064]其中,所述MAC芯片还用于在按照本地优先转发方式从跨设备聚合组端口中选择本地下行二级堆叠口转发报文时,如果检测到发送报文的本地下行二级堆叠口故障,则按照最短路径原则从跨设备聚合组端口中选择一个正常的成员端口,将所述报文发送给该选择的端口进行转发。
[0065]优选地,如图4所示,所述设备还包括:业务端口。其中,业务端口,其为所述堆叠控制成员上除堆叠口之外的端口,具有唯一的源ID ;
[0066]基于此,所述MAC芯片还用于在发送报文之前,进一步执行以下操作:
[0067]识别所述报文是否属于多播报文,所述多播报文包含组播报文、广播报文和未知单播报文,
[0068]在识别出所述报文属于多播报文时,如果当前接收到该报文的接口是本地的业务端口,则在该报文上标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的报文,并继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作,如果当前接收到该报文的接口是本地的下行二级堆叠口,则通过一级堆叠口发送该报文,并继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作;如果当前接收到该报文的接口是本地的一级堆叠口,则仅通过本地的其他一级堆叠口转发该接收的报文;其中,所述一级堆叠口为用于连接堆叠控制成员的堆叠Π ;
[0069]在识别出所述报文不属于多播报文时,继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作。
[0070]至此,完成本发明提供的设备描述。
[0071]优选地,本发明中,还提供了另一种报文转发设备结构,具体如图5所示。
[0072]参见图5,图5为本发明实施例提供的另一种报文转发设备结构图。在本发明中,该报文转发设备作为堆叠系统中的其中一个堆叠控制成员,其中,所述堆叠系统中所有的堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,所述堆叠系统中还包括堆叠端口扩展成员,堆叠端口扩展成员为堆叠系统中除堆叠控制成员之外剩余的成员;
[0073]如图5所示,所述设备包括:
[0074]本地聚合组端口,其用于连接堆叠端口扩展成员,其与上述的跨设备成员端口不同,其中的成员端口为该设备本地连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为该设备上连接堆叠端口扩展成员的堆叠口;
[0075]MAC芯片,用于在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
[0076]优选地,本发明中,所述MAC芯片从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文包括:
[0077]检测连接该堆叠端口扩展成员的本地聚合组端口是否正常,如果正常,则从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文的操作,如果故障,则从其他堆叠控制成员连接所述堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
[0078]如图5所示,所述设备进一步包括:
[0079]存储器,用于存储本地配置的芯片转发表,所述芯片转发表包含:堆叠端口扩展成员和各个堆叠控制成员上连接该堆叠端口扩展成员的本地聚合组端口 ;
[0080]基于此,所述MAC芯片从其他堆叠控制成员连接所述堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文包括:
[0081]按照最短路径原则从所述存储单元存储的芯片转发表中查找到其他堆叠控制成员上连接所述堆叠端口扩展成员的本地聚合组端口,从查找到的本地聚合组端口中选择一个成员端口转发所述报文。
[0082]本发明中,如图5所示,该设备进一步包括:
[0083]业务端口,其为所述堆叠控制成员上除堆叠口之外的端口,具有唯一的源ID ;
[0084]基于此,所述MAC芯片还用于在发送报文之前,识别所述报文是否属于多播报文,所述多播报文包含组播报文、广播报文和未知单播报文,
[0085]在识别出所述报文属于多播报文时,如果当前接收到该报文的接口是本地的业务端口,则在该报文上标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的报文,并继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作,如果当前接收到该报文的接口是本地的下行二级堆叠口,则通过一级堆叠口发送该报文,并继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作;如果当前接收到该报文的接口是本地的一级堆叠口,则仅通过本地的其他一级堆叠口转发该接收的报文;其中,所述一级堆叠口为用于连接堆叠控制成员的堆叠Π ;
[0086]在所述报文不属于多播报文时,继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作。
[0087]至此,完成图5所示报文转发设备的结构描述。
[0088]由以上技术方案可以看出,本发明中,堆叠控制成员通过跨设备聚合组端口或者本地聚合组端口连接堆叠端口扩展成员,这实现了堆叠控制成员和堆叠扩展成员之间不再像现有技术那样1:1连接,而是由堆叠控制成员通过跨设备聚合组端口连接堆叠扩展成员,能够实现堆叠控制成员和堆叠扩展成员之间的N:1或N:M的多归属拓扑联接,相比于现有的1:1连接方式,显然能够保证报文转发可靠性和流量分担。
[0089]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种报文转发方法,其特征在于,该方法包括: 从堆叠系统中选取堆叠控制成员和堆叠端口扩展成员,其中,堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,而堆叠端口扩展成员为所述堆叠系统中除堆叠控制成员之外剩余的成员; 任一堆叠控制成员在本地创建连接堆叠端口扩展成员的跨设备聚合组端口,该跨设备聚合组端口的成员端口为所述堆叠系统中各堆叠控制成员上连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口 ; 任一堆叠控制成员在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发所述报文。
2.根据权利要求1所述的方法,其特征在于,所述从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文包括: 按照本地优先转发方式从连接堆叠端口扩展成员的跨设备聚合组端口中选择出一个本地下行二级堆叠口转发报文,或者,按照哈希算法从连接堆叠端口扩展成员的跨设备聚合组端口中选择出一个成员端口转发报文。
3.根据权利要求2所述的方法,其特征在于,该方法进一步包括: 任一堆叠控制成员在通过本地下行二级堆叠口发送报文时,如果发现本地下行二级堆叠口故障,则按照最短路径原则从包含该故障下行二级堆叠口的跨设备聚合组端口中选择正常的成员端口转发报文。
4.根据权利要求1至3任一所述的方法,其特征在于,该方法进一步包括: 任一堆叠控制成员为本地的业务端口分配源ID,所述堆叠控制成员上的业务端口为堆叠控制成员上除堆叠口之外的端口; 在从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文之前,进一步包括: 识别所述报文是否属于多播报文,所述多播报文包含组播报文、广播报文和未知单播报文; 在所述报文属于多播报文时,如果当前接收到该报文的接口是本地的业务端口,则在该报文上标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的报文,并继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作,如果当前接收到该报文的接口是本地的下行二级堆叠口,则通过一级堆叠口发送该报文,并继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作;如果当前接收到该报文的接口是本地的一级堆叠口,则仅通过本地的其他一级堆叠口转发该接收的报文;其中,所述一级堆叠口为用于连接堆叠控制成员的堆叠口 ; 在所述报文不属于多播报文时,继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作。
5.—种报文转发方法,其特征在于,该方法包括: 从堆叠系统中选取堆叠控制成员和堆叠端口扩展成员,其中,堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,而堆叠端口扩展成员为所述堆叠系统中除堆叠控制成员之外剩余的成员;任一堆叠控制成员创建连接堆叠端口扩展成员的本地聚合组端口,该本地聚合组端口的成员端口为该堆叠控制成员本地连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口 ; 任一堆叠控制成员在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
6.根据权利要求5所述的方法,其特征在于,所述从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文包括: 检测连接该堆叠端口扩展成员的本地聚合组端口是否正常,如果正常,则从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文的操作,如果故障,则从其他堆叠控制成员连接所述堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
7.根据权利要求6所述的方法,其特征在于,该方法进一步包括: 任一堆叠控制成员在本地配置芯片转发表,所述芯片转发表包含:堆叠端口扩展成员和各个堆叠控制成员上连接该堆叠端口扩展成员的本地聚合组端口 ; 所述从其他堆叠控制成员连接所述堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文包括: 按照最短路径原则从本地芯片转发表中查找到其他堆叠控制成员上连接所述堆叠端口扩展成员的本地聚合组端口; 从查找到的本地聚合组端口中选择一个成员端口转发所述报文。`
8.根据权利要求5至7任一所述的方法,其特征在于,该方法进一步包括: 任一堆叠控制成员为本地的业务端口分配源ID,所述堆叠控制成员上的业务端口为堆叠控制成员上除堆叠口之外的端口; 在从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文之前,进一步包括: 识别所述报文是否属于多播报文,所述多播报文包含组播报文、广播报文和未知单播报文; 在所述报文属于多播报文时,如果当前接收到该报文的接口是本地的业务端口,则在该报文上标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的报文,并继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作,如果当前接收到该报文的接口是本地的下行二级堆叠口,则通过一级堆叠口发送该报文,并继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作;如果当前接收到该报文的接口是本地的一级堆叠口,则仅通过本地的其他一级堆叠口转发该接收的报文;其中,所述一级堆叠口为用于连接堆叠控制成员的堆叠口 ; 在所述报文不属于多播报文时,继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作。
9.一种报文转发设备,其特征在于,该设备作为堆叠系统中的其中一个堆叠控制成员,其中,所述堆叠系统中所有的堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,所述堆叠系统中还包括堆叠端口扩展成员,堆叠端口扩展成员为堆叠系统中除堆叠控制成员之外剩余的成员;所述设备包括: 跨设备聚合组端口,用于连接堆叠端口扩展成员,其中的成员端口为所述堆叠系统中各堆叠控制成员上连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为堆叠控制成员上连接堆叠端口扩展成员的堆叠口; 媒体接入控制MAC芯片,用于在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发所述报文。
10.根据权利要求9所述的设备,其特征在于,所述MAC芯片按照本地优先转发方式从连接堆叠端口扩展成员的跨设备聚合组端口中选择出一个本地下行二级堆叠口转发报文,或者,按照哈希算法从连接堆叠端口扩展成员的跨设备聚合组端口中选择出一个成员端口转发报文; 所述MAC芯片还用于在按照本地优先转发方式从跨设备聚合组端口中选择本地下行二级堆叠口转发报文时,如果检测到发送报文的本地下行二级堆叠口故障,则按照最短路径原则从跨设备聚合组端口中选择一个正常的成员端口,将所述报文发送给该选择的端口进行转发。
11.根据权利要求9至10任一所述的设备,其特征在于,所述设备进一步包括: 业务端口,其为所述堆叠控制成员上除堆叠口之外的端口,具有唯一的源ID ; 所述MAC芯片还用于在发送报文之前,识别所述报文是否属于多播报文,所述多播报文包含组播报文、广播 报文和未知单播报文, 在识别出所述报文属于多播报文时,如果当前接收到该报文的接口是本地的业务端口,则在该报文上标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的报文,并继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作,如果当前接收到该报文的接口是本地的下行二级堆叠口,则通过一级堆叠口发送该报文,并继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作;如果当前接收到该报文的接口是本地的一级堆叠口,则仅通过本地的其他一级堆叠口转发该接收的报文;其中,所述一级堆叠口为用于连接堆叠控制成员的堆叠口 ; 在识别出所述报文不属于多播报文时,继续执行从连接堆叠端口扩展成员的跨设备聚合组端口中选择一个成员端口转发报文的操作。
12.一种报文转发设备,其特征在于,该设备作为堆叠系统中的其中一个堆叠控制成员,其中,所述堆叠系统中所有的堆叠控制成员作为所述堆叠系统的交换转发中心,相互之间通过环形或链形堆叠,所述堆叠系统中还包括堆叠端口扩展成员,堆叠端口扩展成员为堆叠系统中除堆叠控制成员之外剩余的成员; 所述设备包括: 本地聚合组端口,用于连接堆叠端口扩展成员,其中的成员端口为该设备本地连接所述堆叠端口扩展成员的下行二级堆叠口,所述下行二级堆叠口为该设备上连接堆叠端口扩展成员的堆叠口; 媒体接入控制MAC芯片,用于在向堆叠端口扩展成员转发报文时,从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
13.根据权利要求12所述的设备,其特征在于,所述MAC芯片从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文包括:检测连接该堆叠端口扩展成员的本地聚合组端口是否正常,如果正常,则从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文的操作,如果故障,则从其他堆叠控制成员连接所述堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文。
14.根据权利要求13所述的设备,其特征在于,所述设备进一步包括: 存储器,用于存储本地配置的芯片转发表,所述芯片转发表包含:堆叠端口扩展成员和各个堆叠控制成员上连接该堆叠端口扩展成员的本地聚合组端口 ; 所述MAC芯片从其他堆叠控制成员连接所述堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发所述报文包括: 按照最短路径原则从所述存储单元存储的芯片转发表中查找到其他堆叠控制成员上连接所述堆叠端口扩展成员的本地聚合组端口,从查找到的本地聚合组端口中选择一个成员端口转发所述报文。
15.根据权利要求12至14任一所述的设备,其特征在于,该设备进一步包括: 业务端口,其为所述堆叠控制成员上除堆叠口之外的端口,具有唯一的源ID ; 所述MAC芯片还用于在发送报文之前,识别所述报文是否属于多播报文,所述多播报文包含组播报文、广播报文和未知单播报文, 在识别出所述报文属于 多播报文时,如果当前接收到该报文的接口是本地的业务端口,则在该报文上标记该业务端口被分配的源ID,通过一级堆叠口发送该被标记的报文,并继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作,如果当前接收到该报文的接口是本地的下行二级堆叠口,则通过一级堆叠口发送该报文,并继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作;如果当前接收到该报文的接口是本地的一级堆叠口,则仅通过本地的其他一级堆叠口转发该接收的报文;其中,所述一级堆叠口为用于连接堆叠控制成员的堆叠口 ; 在所述报文不属于多播报文时,继续执行从连接该堆叠端口扩展成员的本地聚合组端口中选择一个成员端口转发报文的操作。
【文档编号】H04L12/70GK103780480SQ201210394880
【公开日】2014年5月7日 申请日期:2012年10月17日 优先权日:2012年10月17日
【发明者】梁学伟, 刘刀桂, 祁正林, 修亦宏 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1