堆叠系统及报文转发方法与流程

文档序号:15743772发布日期:2018-10-23 22:43阅读:294来源:国知局
本申请涉及通信
技术领域
,具体而言,涉及一种堆叠系统及报文转发方法。
背景技术
:基于802.1BR协议的堆叠系统在逻辑上包括:CB(ControllingBridge,控制桥)设备和PE(PortExtender,端口扩展)设备,中,CB设备用于连接和管理PE设备。PE设备作为CB设备的一个远程业务板运行,相当于插在CB设备指定槽位上的一块业务板。目前,通常会在一个PE设备中设置多个彼此互联的交换芯片,以提高端口密度。然而,交换芯片的互联势必会占用交换芯片上的一些端口,导致带宽降低。但如果交换芯片之间彼此不互联,针对交换芯片上的属于任一聚合口的下行端口,该交换芯片无法得知PE设备中的其他交换芯片上是否也存在属于该聚合口的下行端口,从而导致该交换芯片在接收到从该聚合口位于其他交换芯片的成员端口发往任一转发域的报文时,会再从该交换芯片上属于该聚合口的成员端口发送该报文,即交换芯片在组播或广播报文时无法过滤掉报文的源端口。技术实现要素:有鉴于此,本申请的目的在于提供一种堆叠系统、PE设备及报文转发方法,以改善上述问题。为了达到上述目的,本申请实施例采用如下技术方案:第一方面,本申请实施例提供一种堆叠系统,包括PE设备和CB设备,PE设备包括至少两个彼此不互联的交换芯片,每个交换芯片包括与CB设备相连的第一端口和与其他设备相连的第二端口;PE设备上创建有至少一个业务聚合口,该业务聚合口包括至少两个不在同一交换芯片的第二端口;针对PE设备上属于任一业务聚合口的第二端口,CB设备从与该业务聚合口对应的ECID值区间中确定ECID值分配给该第二端口;每个交换芯片中记录有各业务聚合口所对应的ECID值区间;其中,CB设备在接收到的报文为广播报文或已知非单播报文时,确定该报文的源端口所在的转发域,并将该报文转发给该转发域的成员端口所在的目标交换芯片;当目标交换芯片上存在ECID值与所述源端口的ECID值属于同一ECID值区间的端口时,目标交换芯片在除该端口之外的其他端口中确定属于该转发域的端口作为该报文的转发出口对所述报文进行转发。第二方面,本申请实施例还提供一种报文转发方法,应用于包括PE设备和CB设备的堆叠系统,PE设备包括至少两个彼此不互联的交换芯片,每个交换芯片包括与CB设备相连的第一端口和与其他设备相连的第二端口;PE设备上创建有至少一个业务聚合口,该业务聚合口包括至少两个不在同一交换芯片的第二端口;针对PE设备上属于任一业务聚合口的第二端口,CB设备从与该业务聚合口对应的ECID值区间中确定ECID值分配给该第二端口;每个交换芯片中记录有与各业务聚合口对应的ECID值区间;所述方法包括:CB设备在接收到的报文为广播报文或非已知单播报文时,确定该报文的源端口所在的转发域,并将该报文转发给该转发域的成员端口所在的目标交换芯片;当目标交换芯片上存在ECID值与所述源端口的ECID值属于同一ECID值区间的端口时,目标交换芯片在除该端口之外的其他端口中确定属于该转发域的端口作为该报文的转发出口对所述报文进行转发。相对于现有技术而言,本申请具有以下有益效果:本申请实施例提供的一种堆叠系统及报文转发方法,堆叠系统包括PE设备和CB设备,PE设备包括至少两个彼此不互联的交换芯片,每个交换芯片包括第一端口和第二端口,PE设备上创建有至少一个业务聚合口,该业务聚合口包括至少两个不在同一交换芯片的第二端口。针对PE设备上属于任一业务聚合口的第二端口,CB设备从与该业务聚合口对应的ECID值区间中确定一ECID值分配给该第二端口;每个交换芯片中记录有各业务聚合口所对应的ECID值区间。CB设备在接收到的报文为广播报文或非已知单播报文时,确定所述报文的源端口所在的转发域,并将所述报文转发给该转发域的成员端口所在的目标交换芯片;当目标交换芯片上存在ECID值与该报文的源端口的ECID值属于同一ECID值区间的第二端口时,目标交换芯片在除该端口之外的其他端口中确定属于该转发域的端口作为所述报文的转发出口对所述报文进行转发。如此,可以在实现PE设备中的交换芯片不互联的基础上,避免因交换芯片无法得知其他交换芯片上是否存在与本芯片上的第二端口属于同一业务聚合口的第二端口,所导致的泛洪报文从源端口所在业务聚合口被转发的问题。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的一种PE设备的连接框图;图2为本申请实施例提供的一种堆叠系统的连接框图;图3为本申请实施例提供的堆叠系统的又一连接框图;图4为本申请实施例提供的一种报文转发方法的流程示意图;图5为本申请实施例提供的报文转发方法的又一流程示意图;图6为本申请实施例提供的报文转发方法的又一流程示意图;图7为本申请实施例提供的报文转发方法的又一流程示意图;图8为本申请实施例提供的报文转发方法的又一流程示意图;图9为本申请实施例提供的报文转发方法的又一流程示意图;图10为本申请实施例提供的报文转发方法的又一流程示意图;图11为本申请实施例提供的报文转发方法的又一流程示意图。图标:10、60-堆叠系统;100、200、62-PE设备;300、61-CB设备;101、102、210-交换芯片;211-第一端口;212-第二端口;213、621、622-第三端口;230-上行口;240-业务口;310、611、612-第四端口;311、71、72、73、74、75、76、77、78-级联口。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。经发明人研究发现,在一些实施方式中,PE设备仅包括一个交换芯片,但此种PE设备提供的端口密度有限,因而,在另一些实施方式中,PE设备包括两个以上彼此互联的交换芯片。然而,交换芯片的彼此互联势必会占用一些端口,从而导致带宽降低。例如图1所示,PE设备100包括交换芯片101和交换芯片102,交换芯片101和交换芯片102分别包括4个端口A和12个端口B,其中,端口A为25G口,端口B为10G口。交换芯片101的12个端口B和交换芯片102的12个端口B均用于连接PE设备100的子PE设备或用户侧设备(如,服务器等)。交换芯片101的其中两个端口A与交换芯片102的其中两个端口A分别对应相连,从而实现交换芯片101和交换芯片102的彼此互联;交换芯片101的另外两个端口A和交换芯片102的另外两个端口A分别与CB设备相连。在上述情况下,PE设备100包括4个25G的上行口,24个10G的业务口(下行口),每个交换芯片上两个端口A被占用来进行交换芯片间的互联。图1所示的PE设备100的带宽收敛比为若交换芯片101和交换芯片102彼此不互联,则PE设备100可以包括8个25G的上行口和24个10G的业务口,此时PE设备的带宽收敛比可以降低至基于对上述缺陷的研究,本申请实施例提供一种PE设备中的各交换芯片彼此无互联的方案,下面将对该方案的内容进行详细阐述。请参照图2,是本申请实施例提供的一种堆叠系统10的连接框图,该堆叠系统10基于802.1BR协议实现,该堆叠系统10包括PE设备200和CB设备300。其中,PE设备200包括至少两个彼此不互联的交换芯片210,每个交换芯片210包括与CB设备300相连的第一端口211和与其他设备相连的第二端口212。其中,所述其他设备可以是以PE设备200为父PE设备的其他PE设备,也可以是用户侧设备。每个交换芯片210的第一端口211可以与CB设备300的级联口311相连。可选地,每个交换芯片210中包括的第一端口211可以有一个、两个或多个,每个交换芯片210中包括的第二端口212也可以有一个、两个或多个,本实施例对每个交换芯片210上的第一端口211和第二端口212的数量不做限定。在本实施例中,PE设备200包括上行口230和业务口240,其中,PE设备200的上行口230与CB设备300的级联口311相连。PE设备200的每个上行口230接入有一个第一端口211,每个业务口240接入有一个第二端口212。可选地,PE设备200的上行口230可以是拆分口。如图3所示,PE设备200可以包括至少一个与CB设备300相连的第三端口213,该第三端口213被拆分成至少两个上行口230,每个交换芯片210上至少有一个第一端口211与第三端口213相连,每个第一端口211与第三端口213中的一个上行口230相连。CB设备300的级联口311也可以是拆分口,CB设备300可以包括与第三端口213相连的第四端口310,第四端口310被拆分成至少两个级联口311,该至少两个级联口311与第三端口213中的至少两个上行口230分别对应相连。通过上述设计,CB设备300的一个第四端口310可以分别与每个交换芯片210的相连,当其中某一第四端口310坏掉时,仍旧能够确保CB设备300与各交换芯片210之间的通信。并且,现有的PE设备的上行口通常是光口,每个光口都需要相应的光模块进行控制。此外,在上述设计中,只需要通过PE设备200的一个第三端口213就能实现各交换芯片210与CB设备300的通信,因而,可以仅选择使用其中的部分第三端口213,从而减少所需使用的光模块数量,达到降低成本的效果。在一些应用场景中,为了提高连接可靠性,通常会在PE设备上创建包括多个业务口的聚合口,该聚合口在逻辑上相当于一个单独的端口。在本实施例中,PE设备200上创建有至少一个业务聚合口,其中,业务聚合口的成员端口为交换芯片210上的第二端口212,并且,本实施例中的所述业务聚合口包括至少两个不在同一交换芯片210的第二端口212。发明人研究发现,在实际应用中,对于从聚合口的某一成员端口进入堆叠系统的报文,不能再从所述聚合口的其他成员端口被转发出去。在仅包括一个交换芯片的PE设备中,鉴于可以明确地知道哪些业务口属于同一聚合口,通常会在PE设备上针对聚合口设置控制访问列表(AccessControlList,ACL)规则,以防止从聚合口的成员端口进来的报文再从该聚合口的其他成员端口被转发出去。然而,在包括至少两个彼此无互联的交换芯片的PE设备中,各交换芯片之间无法通信,针对每个交换芯片上属于任一业务聚合口的第二端口,该交换芯片无法知道其他交换芯片上是否存在与该第二端口属于同一业务聚合口的第二端口。若交换芯片接收到源端口为某一业务聚合口在其他交换芯片的成员端口的报文时,可能再次从该业务聚合口在该交换芯片的成员端口转发该报文。基于对上述缺陷的研究,在本实施例中,对可用的ECID值进行划分。详细地,802.1BR协议中规定的ingress-ECID为12bit(比特),对应地,支持全局分配的ECID值可以有212=4096个。其中,分配给端口的ECID通过又被称作PCID(PortECID),每个端口的PCID用于唯一地标识该端口。在本实施例中,为各业务聚合口的成员端口划分有对应的ECID值区间。针对PE设备200上属于任一业务聚合口的第二端口212,CB设备300从该业务聚合口对应的ECID值区间中确定一未被分配的ECID值分配给该第二端口212。可选地,在实施时,可以分别给CPU(CentralProcessingUnit)口和网络管理口分配一个ECID,再预留30个保留ECID用于后续扩展使用,其余ECID可以按照如下所示的表1进行划分,在表1中,ECID/PCID对应的值为用十进制表示的值。表1在本实施例中,每个交换芯片210中记录有各业务聚合口对应的ECID值区间,例如表1中分别与聚合组1-聚合组126对应的126个ECID值区间。请参阅图4,是本申请实施例提供的一种应用于图2所示堆叠系统10的报文转发方法的流程示意图,下面对该方法的详细步骤进行阐述。步骤S401,CB设备300在接收到的报文为广播报文或非已知单播报文时,确定所述报文的源端口所在的转发域,并将所述报文转发给该转发域的成员端口所在的目标交换芯片。其中,当CB设备300接收到一单播报文、且无法查找到与该单播报文对应的转发表项时,该单播报文即为非已知单播报文。在本实施例中,CB设备300中可以记录有个转发域包括的成员端口及该成员端口所在的交换芯片210。其中,所述转发域可以是广播域或组播域。转发域可以包括业务聚合口或第二端口212。为便于描述,将所述报文的源端口所在的转发域约定为第一转发域。对应地,当所述第一转发域的某一成员端口是第二端口212时,该第二端口212所在的交换芯片210即为目标交换芯片;当所述第一转发域的某一成员端口是业务聚合口时,该业务聚合口中的各第二端口212所在的交换芯片210均为目标交换芯片。CB设备300接收到的报文中包括802.1BR协议报文标签头E-TAG,该E-TAG中记录有所述报文的源端口的ECID,其中,所述报文进入堆叠系统10时所经过的交换芯片210的第二端口212即为所述报文的源端口。例如,当交换芯片210在某一第二端口X接收到报文时,会在该报文中插入E-TAG,并在该E-TAG中与源端口对应的位置记录该第二端口X的ECID,以表示该第二端口X为该报文的源端口。可选地,在本实施例中,针对PE设备200上的每个交换芯片210,CB设备300上创建有与该交换芯片210对应的小级联聚合口,该小级联聚合口包括CB设备300上与该交换芯片210的第一端口相连的级联口311。对应地,步骤S401可以包括以下子步骤:CB设备300确定与目标交换芯片对应的小级联聚合口,并通过该小级联聚合口将所述报文发送给目标交换芯片。在本实施例中,CB设备300上记录有与小级联聚合口对应的哈希信息,该哈希信息包括与该小级联聚合口中的各级联口311分别对应的哈希值。在实施时,可以通过做哈希得到一哈希值,再从该小级联聚合口中与该哈希值对应的级联口311将所述报文发送给目标交换芯片。步骤S402,目标交换芯片在接收到所述报文时,确定目标交换芯片上是否存在ECID值与所述源端口的ECID值属于同一ECID值区间的第二端口。若是,则执行步骤S403,若否,则可以执行步骤S404。由于CB设备为业务聚合口中的各第二端口分配的ECID值属于同一ECID值区间,因而,当目标交换芯片上存在ECID值与所述源端口的ECID值属于同一ECID值区间的第二端口212时,表明所述报文的源端口与目标交换芯片上的部分第二端口212属于同一业务聚合口,此时,需要避免从该部分第二端口212转发所述报文。可选地,在本实施例中,同一ECID值区间中的ECID值具有相同的掩码。例如表1中,ECID值区间96-127中的各ECID值的掩码均为0x7F;又如,ECID值区间4064-4095中的各ECID值的掩码均为0xFFF。可选地,针对每个业务聚合口所对应的ECID值区间,每个交换芯片可以通过记录该ECID值区间中的各ECID值的掩码(MASK)来记录该ECID值区间。在此情形下,如图5所示,步骤S402可以包括步骤S501-步骤S504四个子步骤。步骤S501,目标交换芯片计算所述源端口的ECID值的掩码得到第一掩码。步骤S502,针对目标交换芯片上的每个第二端口212,目标交换芯片计算该第二端口212的ECID值的掩码得到第二掩码。步骤S503,当得到的第二掩码中包括与所述第一掩码相同的第二掩码时,确定目标交换芯片上存在ECID值与所述源端口的ECID值属于同一ECID值区间的第二端口212。步骤S504,当得到的第二掩码值中不包括与所述第一掩码相同的目标第二掩码时,确定目标交换芯片上不存在ECID值与所述源端口的ECID值属于同一ECID值区间的第二端口。详细地,在本实施例中,可以通过如下方式计算任一端口的ECID值的掩码:将该端口的ECID值与记录的各个掩码分别相与,得到与该端口的ECID值相同的至少一个结果,将所述至少一个结果中值最小的掩码确定为该端口的ECID值的掩码。步骤S403,目标交换芯片在除该第二端口之外的端口中确定属于该转发域的端口作为所述报文的转发出口对所述报文进行转发。可选地,每个交换芯片210中可以记录有目标转发域在该交换芯片210的成员端口的ECID值,其中,当交换芯片210的第二端口212和/或交换芯片210的第二端口212所属的业务聚合口是某一转发域的成员端口时,该转发域即为该交换芯片210的目标转发域,该交换芯片210中记录有该转发域在该交换芯片210的成员端口的标识。其中,PE设备200中记录的各端口(比如,第二端口、业务聚合口等)的标识可以通过端口位图(bitmap)中的相应位来表示,也可以用该端口的ECID值来表示。在本实施例中,每个交换芯片210还可以记录有目标转发域的标识与目标转发域在该交换芯片210的成员端口的标识之间的对应关系。实施时,目标交换芯片查找本芯片上记录的所述第一转发域的成员端口的标识作为目标标识,在目标交换芯片上除去与所述源端口属于同一业务聚合口的第二端口212之外的端口中,确定标识与目标标识相同的端口作为所述报文的转发出口。如此,可以实现所述报文的源端口过滤,避免从所述报文的源端口所在的业务聚合口的成员端口转发所述报文。步骤S404,在目标交换芯片上直接确定属于该转发域的端口作为所述报文的转发出口对所述报文进行转发。当目标交换芯片上不存在ECID值与所述源端口的ECID值属于同一ECID值区间的第二端口212时,表示目标交换芯片上不存在与所述报文的源端口属于同一业务聚合口的第二端口212。因此,可以不必进行源端口的过滤,而是可以查找本芯片上记录的所述第一转发域的成员端口的标识作为目标标识,并直接将目标交换芯片上标识与目标标识相同的端口作为所述报文的转发出口。在实际应用中,当需要从某一业务聚合口转发报文时,只能从该业务聚合口的其中一个成员端口转发该报文。而在本实施例中,由于目标转发域的成员端口可以包括业务聚合口和/或第二端口212,因而,在目标交换芯片上确定的所述报文的转发出口也可以包括业务聚合口和/或第二端口212。所述第一转发域的成员端口可以分别位于至少两个交换芯片210,对应地,可以有至少两个目标交换芯片。即,会有至少两个目标交换芯片接收到CB设备发送的所述报文。此时,当确定的所述报文的转发出口包括业务聚合口,且该至少两个目标交换芯片上均存在属于该业务聚合口的第二端口212时,该至少两个目标交换芯片由于彼此不互联,可能会同时从属于该业务聚合口的第二端口212转发所述报文。基于此,在本实施例中,每个交换芯片210中还可以记录有目标业务聚合口的第一聚合哈希信息,其中,目标业务聚合口为包括该交换芯片210上的至少一个第二端口212的业务聚合口,第一聚合哈希信息包括与该交换芯片210上属于目标业务聚合口的第二端口212相对应的哈希值。其中,属于同一业务聚合口的第二端口212所对应的哈希值不同。可选地,在本实施例中,可以以表的形式记录目标业务聚合口的第一聚合哈希信息,即记录为聚合哈希表,该聚合哈希表可以与所述目标业务聚合口的标识相关联。如此,可以根据目标业务聚合口的标识查找到相应的聚合哈希表。在每个交换芯片210存储的聚合哈希表中,可以记录有该交换芯片210上属于目标业务聚合口的第二端口的ECID值以及与该第二端口212对应的哈希值。在此情形下,本实施例提供的报文转发方法还可以包括步骤S405。步骤S405,当确定的所述报文的转发出口包括业务聚合口时,目标交换芯片根据所述报文做哈希得到第一哈希值,并在该业务聚合口的第一聚合哈希信息中存在所述第一哈希值时,将该业务聚合口中与所述第一哈希值对应的第二端口212作为所述报文的转发出口。通过上述过程,即便是在PE设备200的各交换芯片彼此不互联的情况下,也能够确保仅从业务聚合口中的一个成员端口转发所述报文。应当理解,本实施例提供的方案对于成员端口为位于同一交换芯片210的第二端口212的聚合口同样适用。在一些应用场景中,堆叠系统10会接收到目的地址为业务聚合口的单播报文,在本实施例中,当该业务聚合口中的第二端口212不在同一交换芯片时,CB设备可以只向该业务聚合口中的第二端口212所在的其中一个交换芯片210转发该单播报文。在本实施例中,当用户在PE设备200上创建包括至少两个不在同一交换芯片210的第二端口212的业务聚合口时,CB设备300可以创建与该业务聚合口对应的大级联聚合口,所述大级联聚合口包括与该业务聚合口中的各第二端口212所在的交换芯片210对应的小级联聚合口。对应地,本实施例提供的报文转发方法可以包括以下步骤:CB设备300在根据转发表项确定待转发报文的出端口为任一业务聚合口时,确定与该业务聚合口对应的目标大级联聚合口,通过哈希在目标大级联聚合口中确定用于转发所述待转发报文的小级联聚合口,并通过该小级联聚合口转发所述待转发报文。通过上述过程,该业务聚合口中的第二端口212所在的各交换芯片210中,仅有一个交换芯片210会接收到CB设备300转发的所述待转发报文。可选地,CB设备300中可以存储有所述大级联聚合口的转发哈希信息,该转发哈希信息包括与所述大级联聚合口中的各小级联聚合口分别对应的哈希值。在根据所述待转发报文做哈希得到一哈希值之后,可以根据目标大级联聚合口的转发哈希信息确定与得到的哈希值对应的小级联聚合口,并通过该小级联聚合口转发所述待转发报文。可选地,在本实施例中,每个交换芯片210中还可以记录有目标业务聚合口的第二聚合哈希信息,该第二聚合哈希信息包括与该交换芯片212上属于目标业务聚合口的第二端口212相对应的哈希值。对应地,本实施例提供的报文转发方法还可以包括如下步骤:任一交换芯片210在接收到CB设备300发送的所述待转发报文时,根据该报文做哈希得到第二哈希值,并将该业务聚合口中与所述第二哈希值对应的第二端口212作为所述待转发报文的转发出口。在本实施例中,CB设备300在根据存储的转发表项确定待转发报文的出端口为任一业务聚合口时,会将该待转发报文中的E-CID_base设置为该业务聚合口的标识(比如,ECID),以表示该业务聚合口是所述待转发报文的出端口。下面结合图6给出一具体示例,以对本申请实施例提供的技术方案进行详细阐述。首先,对图6所示的堆叠系统60做简要介绍。堆叠系统60包括CB设备61和PE设备62,PE设备62包括四个彼此不互联的交换芯片,分别为第一交换芯片、第二交换芯片、第三交换芯片和第四交换芯片。其中,第一交换芯片包括第一端口P1、第一端口P2、第二端口P9和第二端口P10。第二交换芯片包括第一端口P3、第一端口P4、第二端口P11、第二端口P12和第二端口P13。第三交换芯片包括第一端口P5、第一端口P6、第二端口P14和第二端口P15。第四交换芯片包括第一端口P7、第一端口P8、第二端口P16和第二端口P17。其中,PE设备62包括第三端口621和第三端口622,第三端口621被拆分成四个上行口,该四个上行口分别与第一端口P1、第一端口P3、第一端口P5和第一端口P7相连;第三端口622被拆分成四个上行口,该四个上行口分别与第一端口P2、第一端口P3、第一端口P6和第一端口P8相连。CB设备61包括第四端口611和第四端口612,其中,第四端口611被拆分成级联口71、级联口72、级联口73和级联口74四个级联口,级联口71、级联口72、级联口73和级联口74与第三端口621拆分出的四个上行口分别对应相连;第四端口612被拆分成级联口75、级联口76、级联口77和级联口78四个级联口,级联口75、级联口76、级联口77和级联口78与第三端口622被拆分出的四个上行口分别对应相连。CB设备61上创建有与第一交换芯片对应的小级联聚合口cascade1_lagg、与第二交换芯片对应的小级联聚合口cascade2_lagg、与第三交换芯片对应的小级联聚合口cascade3_lagg以及与第四交换芯片对应的小级联聚合口cascade4_lagg。其中,小级联聚合口cascade1_lagg包括与第一交换芯片相连的级联口71和级联口75,小级联聚合口cascade2_lagg包括与第二交换芯片相连的级联口72和级联口76,小级联聚合口cascade3_lagg包括与第三交换芯片相连的级联口73和级联口77,小级联聚合口cascade4_lagg包括与第四交换芯片相连的级联口74和级联口78。PE设备62上创建有业务聚合口Lagg1、业务聚合口Lagg2和业务聚合口Lagg3,其中,业务聚合口Lagg1包括第二端口P9、第二端口P10和第二端口P11;业务聚合口Lagg2包括第二端口P12、第二端口P13和第二端口P14;业务聚合口Lagg3包括第二端口P15和第二端口P16。在本实施例中,CB设备61按照如下所示的表2给第二端口P9-P17分配的ECID值:表2其中,第一交换芯片、第二交换芯片、第三交换芯片和第四交换芯片均记录有96-127、128-159以及160-191三个ECID值区间。在本示例中,ECID值区间均为用十进制表示的值。在本实施例中,业务聚合口Lagg1-Lagg3以及第二端口P17均属于转发域BC1,在CB设备61中记录有转发域BC1包括的成员端口的ECID值。在堆叠系统60的每个交换芯片中记录有转发域BC1在该交换芯片的成员端口的标识。具体可以如下表3-表6所示。表3BC1Lagg1表4BC1Lagg1Lagg2表5BC1Lagg2Lagg3表6BC1Lagg3P17其中,表3记录在第一交换芯片中,表4记录在第二交换芯片中,表5记录在第三交换芯片中,表6记录在第四交换芯片中。在此值得说明的是,在本实施例中,PE设备62中记录的本设备上各端口(如业务聚合口、第二端口等)的标识可以通过位图(bitmap)中的相应位表示,也可以采用端口的ECID值表示。在图6所示的堆叠系统60中,当CB设备61接收到源端口为P9的单播报文D1时,若无法查找到与该单播报文D1对应的转发表项,则确定该单播报文D1为非已知单播报文。此时,CB设备61复制报文D1,并将复制的报文D1中的ETAG的Ingress_E-CID_base设置为P9的ECID值、E-CID_base设置为P9所在的转发域的ECID值(即ECID_bc1),得到报文D2,再对报文D2进行转发。在此情形下,可以通过图7所示的报文转发方法实现对报文D2的转发。步骤S701,CB设备61确定报文D2的源端口P9所在的转发域为BC1,并确定转发域BC1包括业务聚合口Lagg1、业务聚合口Lagg2、业务聚合口Lagg3和第二端口P17四个成员端口,从而确定第一交换芯片、第二交换芯片、第三交换芯片和第四交换芯片为目标交换芯片。步骤S702,CB设备61通过小级联聚合口cascade1_lagg将报文D2转发给第一交换芯片,通过小级联聚合口cascade2_lagg将报文D2转发给第二交换芯片,通过小级联聚合口cascade3_lagg将报文D2转发给第三交换芯片,通过小级联聚合口cascade4_lagg将报文D2转发给第四交换芯片。其中,以第一交换芯片为例,CB设备61根据报文D2做哈希,根据得到的哈希值在级联聚合口cascade1_lagg的成员端口中确定用于转发报文D2的级联口,具体可以是级联口71或级联口72。向其他交换芯片转发报文D2的过程类似,在此不再赘述。在本实施例中,当CB设备61接收到源端口为P9的广播报文时,CB设备61复制报文D1,并将复制的报文D1中的Ingress_E-CID_base设置为P9的ECID值、E-CID_base设置为P9所在的转发域(即BC1)的ECID值,得到报文D2,并可以通过上述的步骤S701-步骤S702对该报文D2进行转发。步骤S703,第一交换芯片在接收到CB设备61发送的报文D2时,确定第一交换芯片上的第二端口P9和第二端口P10的ECID值与报文D2的源端口的ECID值均属于ECID值区间96-127,并确定第一交换芯片上除第二端口P9和第二端口P10不存在其他端口,丢弃报文D2。此外,在第一交换芯片中可以记录有业务聚合口Lagg1的第一聚合哈希信息,该第一聚合哈希信息可以如下表7所示:表7lagg1hashindexECID_P9ECID_P10010101其中,当第二端口的ECID值在表7对应的值为0时,表示该第二端口被阻塞,即无法转发报文;当第二端口的ECID值在表7中对应的值为1,表示报文可以从该第二端口被转发。在第二交换芯片中可以记录有业务聚合口Lagg1和业务聚合口Lagg2的第一聚合哈希信息,具体可以如下表8和表9所示,其中,表8为业务聚合口Lagg1的第一聚合哈希信息,表9为业务聚合口Lagg2的第一聚合哈希信息。表8lagg1hashindexECID_P1121表9lagg2hashindexECID_P12ECID_P13010101在第三交换芯片中可以记录有业务聚合口Lagg2和业务聚合口Lagg3的第一聚合哈希信息,具体可以如下表10和表11所示,其中,表10为业务聚合口Lagg2的第一聚合哈希信息,表11为业务聚合口Lagg3的第一聚合哈希信息。表10lagg2hashindexECID_P1421表11lagg3hashindexECID_P1501在第四交换芯片中可以记录有业务聚合口Lagg3的第一聚合哈希信息,具体可以如下表12所示:表12lagg3hashindexECID_P1611如图8所示,是第二交换芯片接收到报文D2时的转发过程。步骤S803,第二交换芯片在接收到CB设备61发送的报文D2时,确定第二交换芯片上的第二端口P11的ECID值与报文D2的源端口的ECID值均属于ECID值区间96-127,并确定第二交换芯片上除第二端口P11之外的端口中确定报文D2的转发出口为业务聚合口Lagg2。步骤S804,第二交换芯片根据报文D2做哈希得到第一哈希值。步骤S805,当得到的第一哈希值为0时,从第二端口P12转发报文D2;当得到的第一哈希值为1时,从第二端口P13转发报文D2;当得到的第一哈希值为2时,丢弃报文D2。在本实施例中,第三交换芯片在接收到报文D2后对报文D2的转发过程与第二交换芯片类似,在此不再赘述。如图9所示,是第四交换芯片接收到报文D2时的转发过程。步骤S903,第四交换芯片在接收到CB设备61发送的报文D2时,确定第四交换芯片上不存在ECID值与报文D2的源端口的ECID值属于同一ECID值区间的第二端口,在第四交换芯片上直接确定属于转发域BC1的第二端口P17以及业务聚合口Lagg3作为报文D2的转发出口。步骤S904,从第二端口P17转发报文D2;根据报文D2做哈希得到第一哈希值,在得到的第一哈希值为0时丢弃报文D2,在得到的第一哈希值为1时从第二端口P16转发报文D2。在本实施例中,CB设备61上针对业务聚合口Lagg1创建有大级联聚合口big1_lagg,业务聚合口Lagg1的成员端口分别有P9、P10和P11三个第二端口,分别位于第一交换芯片和第二交换芯片,因此,大级联聚合口big1_lagg包括与第一交换芯片对应的小级联聚合口cascade1_lagg和与第二交换芯片对应的小级联聚合口cascade2_lagg。对应地,CB设备61上还创建有大级联聚合口big2_lagg和大级联聚合口big3_lagg,大级联聚合口big2_lagg包括小级联聚合口cascade2_lagg和小级联聚合口cascade3_lagg,大级联聚合口big3_lagg包括小级联聚合口cascade3_lagg和小级联聚合口cascade4_lagg。第一交换芯片中还可以记录有业务聚合口Lagg1的第二聚合哈希信息,具体可以如下表13所示:表13lagg1hashindexECID_P9ECID_P10010101第二交换芯片中还可以记录有业务聚合口Lagg1和业务聚合口Lagg2的第二聚合哈希信息,具体可以如下表14和下表15所示,其中,表14为业务聚合口Lagg1的第二聚合哈希信息,表15为业务聚合口Lagg2的第二聚合哈希信息。表14lagg1hashindexECID_P110111表15lagg2hashindexECID_P12ECID_P13010101第三交换芯片中还可以记录有业务聚合口Lagg2和业务聚合口Lagg3的第二聚合哈希信息,具体可以如下表16和表17所示,其中,表16为业务聚合口Lagg2的第二聚合哈希信息,表17为业务聚合口Lagg3的第二聚合哈希信息。表16lagg2hashindexECID_P140111表17Lagg3hashindexECID_P150111第四交换芯片中可以记录有业务聚合口Lagg3的第二聚合哈希信息,比如表18所示:表18Lagg3hashindexECID_P160111在本实施例中,当CB设备61接收到源端口为第二端口P17的报文D3,并根据CB设备61中的转发表项确定报文D3的出端口为业务聚合口Lagg1时,可以通过图10所示的报文转发方法实现对报文D3的转发。步骤S1001,CB设备61确定与业务聚合口Lagg1对应的大级联聚合口big1_lagg为目标大级联聚合口,根据报文D3做哈希得到一哈希值,在目标大级联聚合口big1_lagg中确定与该哈希值对应的小级联聚合口来转发报文D3。在本实施例中,CB设备61上可以记录有每个大级联聚合口的转发哈希信息,该转发哈希信息中包括与该大级联聚合口中的各小级联聚合口分别对应的哈希值。基于上述描述,第一交换芯片或第二交换芯片会接收到报文D3。步骤S1002,第一交换芯片在接收到报文D3时,根据报文D3做哈希得到第二哈希值,当第二哈希值为0时,从第二端口P9转发报文D3;当第二哈希值为1时,从第二端口P10转发报文D3。当第二交换芯片接收到报文D3时,可以通过图11所示的报文转发方法对报文D3进行转发。步骤S1102,第二交换芯片在接收到报文D3时,根据报文D3做哈希得到第二哈希值,当第二哈希值为0或1时,从第二端口P11转发报文D3。综上所述,本申请实施例提供的堆叠系统及报文转发方法,堆叠系统包括PE设备和CB设备,PE设备包括至少两个彼此不互联的交换芯片,每个交换芯片包括第一端口和第二端口,PE设备上创建有至少一个业务聚合口,该业务聚合口包括至少两个不在同一交换芯片的第二端口。针对PE设备上属于任一业务聚合口的第二端口,CB设备从与该业务聚合口对应的ECID值区间中确定一ECID值分配给该第二端口;每个交换芯片中记录有各业务聚合口所对应的ECID值区间。CB设备在接收到的报文为广播报文或非已知单播报文时,确定所述报文的源端口所在的转发域,并将所述报文转发给该转发域的成员端口所在的目标交换芯片;当目标交换芯片上存在ECID值与该报文的源端口的ECID值属于同一ECID值区间的第二端口时,目标交换芯片在除该端口之外的其他端口中确定属于该转发域的端口作为所述报文的转发出口对所述报文进行转发。如此,可以在实现PE设备中的交换芯片不互联的基础上,避免因交换芯片无法得知其他交换芯片上是否存在与本芯片上的第二端口属于同一业务聚合口的第二端口,所导致的泛洪报文从源端口所在业务聚合口被转发的问题。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1