CN111010343A - 一种转发组播报文的方法、装置、网络设备及存储介质 - Google Patents
一种转发组播报文的方法、装置、网络设备及存储介质 Download PDFInfo
- Publication number
- CN111010343A CN111010343A CN201911310611.5A CN201911310611A CN111010343A CN 111010343 A CN111010343 A CN 111010343A CN 201911310611 A CN201911310611 A CN 201911310611A CN 111010343 A CN111010343 A CN 111010343A
- Authority
- CN
- China
- Prior art keywords
- port
- member port
- forwarding
- forwarding unit
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 230000002776 aggregation Effects 0.000 claims abstract description 125
- 238000004220 aggregation Methods 0.000 claims abstract description 125
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 230000006399 behavior Effects 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000010076 replication Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000000873 masking effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint 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
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种转发组播报文的方法、装置、网络设备及存储介质,用于避免组播报文重复转发,提高组播报文转发的有效性。所述方法包括:监测到所述堆叠系统中的任一转发单元接收组播报文后,确定所述组播报文的组播下游口对应在所述堆叠系统中的目标聚合口;将所述组播报文复制到所述目标聚合口对应的除接收所述组播报文之外的其余转发单元中,以使所述目标聚合口对应的各个转发单元分别从属于所述目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口;按照预设选择策略,从所述至少一个成员口中确定目标成员口;通过所述目标成员口转发所述组播报文。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种转发组播报文的方法、装置、网络设备及存储介质。
背景技术
堆叠系统(Stacking System)是指一个以上的转发单元通过各自的堆叠口连接起来,形成一台“逻辑设备”,即作为一个逻辑交换实体运行,这样,用户通过这台“逻辑设备”进行管理,即可实现对“逻辑设备”中所有的转发单元进行管理。
具体的,上述转发单元可设置于交换芯片上,此时,上述堆叠系统是由多个交换芯片组成的;或者,上述转发单元还可设置于交换设备(例如交换机)上,此时,上述堆叠系统是由多个交换设备组成的;或者,上述转发单元还可设置于交换线卡上,此时,上述堆叠系统是由多个交换线卡组成的(例如机箱式交换设备)。
目前,交换堆叠系统中,当组播组的下游口是聚合口(Aggregate Port,AP)时,转发组播报文时将组播组添加到三态内容寻址存储器(Ternary Content AddressableMemory,TCAM)中,下游口添加到活跃组播链表(Multicast Linked List,MLL)中,MLL中存储了AP信息,每个转发单元可以根据组播报文的特定字段通过哈希(hash)计算,确定从AP的哪个成员口转发,此时,若要实现层次化转发,就需要使组播报文在每个转发单元都转发一份报文,导致组播报文多次重复转发,造成资源浪费。
因此,如何有效避免组播报文在下游口为聚合口时的重复转发是目前亟待解决的技术问题。
发明内容
本申请实施例提供一种转发组播报文的方法、装置、网络设备及存储介质,用于避免组播报文在下游口为聚合口时的重复转发,以提高组播报文转发的有效性。
第一方面,提供一种转发组播报文的方法,所述方法有应用于堆叠系统包括的至少两个转发单元中的主转发单元中,所述方法包括:
监测到所述堆叠系统中的任一转发单元接收组播报文后,确定所述组播报文的组播下游口对应在所述堆叠系统中的目标聚合口;
将所述组播报文复制到所述目标聚合口对应的除接收所述组播报文之外的其余转发单元中,以使所述目标聚合口对应的各个转发单元分别从属于所述目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口;
按照预设选择策略,从所述至少一个成员口中确定目标成员口;
通过所述目标成员口转发所述组播报文。
可选的,在获得至少一个成员口之前,所述方法还包括:
申请与所述目标聚合口对应的成员口列表,所述成员口列表中包括所述目标聚合口中的所有成员口的信息;
根据所述成员口列表,确定每个转发单元对应的子成员口列表,以使每个转发单元根据对应的子成员口列表,确定本转发单元中属于所述目标聚合口的本地成员口,并采用哈希均衡策略从确定的本地成员口中确定一个成员口;其中,每个子成员口列表具有仅读取对应的转发单元中属于所述目标聚合口的成员口有效的属性。
可选的,根据所述成员口列表,确定每个转发单元对应的子成员口列表,包括:
确定并标识所述成员口列表中分别属于每个转发单元的成员口;
将标识后得到的成员口列表确定为每个转发单元对应的子成员口列表;
其中,所述成员口列表具有唯一的列表标识,以及,每个子成员口列表均具有所述列表标识。
可选的,根据所述成员口列表,确定每个转发单元对应的子成员口列表,包括:
确定所述成员口列表中分别属于每个转发单元的成员口;
根据确定的每个转发单元的成员口拆分所述成员口列表,得到每个转发单元对应的只包括属于本转发单元的成员口的子成员口列表。
可选的,按照预设选择策略,从所述至少一个成员口中确定目标成员口,包括:
若确定所述至少一个成员口仅包括一个成员口,则将确定出的成员口确定为目标成员口;
若确定所述至少一个成员口包括多个成员口,则按照预设的唯一决策策略,从所述至少一个成员口中确定一个成员口,得到目标成员口。
可选的,按照预设的唯一决策策略,从所述至少一个成员口中确定一个成员口,得到目标成员口,包括:
按照预先设定的允许转发配置信息,从所述至少一个成员口确定一个成员口,得到目标成员口,其中,所述允许转发配置信息用于指示所述目标聚合口中的各个成员口在各自所属的转发单元中的允许转发行为状态;或者,
将所述至少一个成员口中端口流量最小的成员口确定为目标成员口。
第二方面,提供一种转发组播报文的装置,所述装置包括:
第一确定模块,用于监测到堆叠系统中的任一转发单元接收组播报文后,确定所述组播报文的组播下游口对应在所述堆叠系统中的目标聚合口;
获取模块,用于将所述组播报文复制到所述目标聚合口对应的除接收所述组播报文之外的其余转发单元中,以使所述目标聚合口对应的各个转发单元分别从属于所述目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口;
第二确定模块,用于按照预设选择策略,从所述至少一个成员口中确定目标成员口;
转发模块,用于通过所述目标成员口转发所述组播报文。
可选的,所述装置还包括第三确定模块,用于:
在所述获取模块获得所述至少一个成员口之前,申请与所述目标聚合口对应的成员口列表;以及根据所述成员口列表,确定每个转发单元对应的子成员口列表,以使每个转发单元根据对应的子成员口列表,确定本转发单元中属于所述目标聚合口的本地成员口,并采用哈希均衡策略从确定的本地成员口中确定一个成员口;其中,所述成员口列表中包括所述目标聚合口中的所有成员口的信息,每个子成员口列表具有仅读取对应的转发单元中属于所述目标聚合口的成员口有效的属性。
可选的,所述第三确定模块,用于:
确定并标识所述成员口列表中分别属于每个转发单元的成员口;
将标识后得到的成员口列表确定为每个转发单元对应的子成员口列表;
其中,所述成员口列表具有唯一的列表标识,以及,每个子成员口列表均具有所述列表标识。
可选的,所述第三确定模块,用于:
确定所述成员口列表中分别属于每个转发单元的成员口;
根据确定的每个转发单元的成员口拆分所述成员口列表,得到每个转发单元对应的只包括属于本转发单元的成员口的子成员口列表。
可选的,所述第二确定模块,用于:
若确定所述至少一个成员口仅包括一个成员口,则将确定出的成员口确定为目标成员口;
若确定所述至少一个成员口包括多个成员口,则按照预设的唯一决策策略,从所述至少一个成员口中确定一个成员口,得到目标成员口。
可选的,所述第二确定模块,用于:
按照预先设定的允许转发配置信息,从所述至少一个成员口中确定一个成员口,得到目标成员口,其中,所述允许转发配置信息用于指示所述目标聚合口中的各个成员口在各自所属的转发单元中的允许转发行为状态;或者,
将所述至少一个成员口中端口流量最小的成员口确定为目标成员口。
第三方面,提供一种网络设备,所述网络设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一所述的方法包括的步骤。
第四方面,提供一种存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中任一所述的方法包括的步骤。
第五方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的转发组播报文的方法。
本申请实施例中,堆叠系统中的主转发单元在监测到堆叠系统中的任一转发单元接收组播报文后,则确定该组播报文的组播下游口对应在该堆叠系统中的聚合口(例如称作目标聚合口),然后将该组播报文复制到该目标聚合口对应除接收该组播报文的转发单元之外的其余转发单元中,这样,目标聚合口对应的各个转发单元中均有一份组播报文,在各个转发单元分别从属于目标聚合口的本地成员口确定一个成员口后,则可以获得确定出的至少一个成员口,进而,主转发单元再按照预设选择策略,从各个转发单元确定出的至少一个成员口中确定一个目标成员口,然后通过该目标成员口对组播报文进行转发,以实现组播报文在组播下游口为聚合口时的唯一转发。
这样,由于每个转发单元确定一个成员口时只是从自身本地的成员口中确定,而不会从聚合口的所有成员口中确定,从而可以保证每个转发单元确定出的一个成员口只属于本转发单元,使得每个转发单元都只有一个成员口可以转发组播报文。进而,又从各个转发单元一起确定出的全部成员口(即前述的至少一个成员口)中确定一个最终的目标成员口用于转发组播报文,可以有效避免组播报文在聚合口被多次重复转发,减少组播报文的无效重复转发,从而提高组播报文转发的有效性,减少转发资源的浪费,提高转发资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为相关技术中的通过单播方式发送多个相同报文的转发机制示意图;
图2为本相关技术中的通过组播方式发送多个相同报文的转发机制示意图;
图3为本申请实施例提供的组播组表项或组播下游口只添加在一个转发单元的示意图;
图4为本申请实施例提供的转发组播报文的方法的流程图;
图5为本申请实施例提供的对属于本转发单元的成员口进行掩码的示意图;
图6a为本申请实施例提供的转发组播报文的装置的结构框图;
图6b为本申请实施例提供的转发组播报文的装置的另一结构框图;
图7为本申请实施例提供的网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中,“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本发明实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
在介绍本申请实施例之前,首先对本申请中的部分技术特征进行介绍,以便于本领域技术人员理解。
(1)交换堆叠系统,将由具有交换芯片的交换转发单元组成的系统称为交换堆叠系统,交换堆叠系统可以是由多个交换芯片组成的设备,也可以是由多个交换设备组成的设备群,也可以是由多个交换线卡组成的机箱式交换设备。
交换系统中的转发单元角色包括主转发单元和从转发单元。其中,主转发单元和各个从转发单元一般具有相同的物理架构,即具有相同的物理形态,主转发单元对于各个从转发单元具有控制能力,主转发单元可以对各个从转发单元进行协同调配和管理,可以将主转发单元理解为逻辑上对从转发单元具有管理控制作用的转发单元。
(2)堆叠口,在交换堆叠系统中将交换转发单元之间的连接口称为堆叠口,用于相邻的交换转发单元之间的数据报文和管理报文的转发。
(3)三层聚合口(Three Layer Aggregate Port,L3AP),由多个物理成员口汇聚构成的一个逻辑上的聚合端口组,汇聚的成员口必须为同类型的三层接口。对于三层交换来说,L3AP作为三层交换的网关接口,它相当于把同一聚合组内的多条物理链路视为一条逻辑链路,是链路带宽扩展的一个重要途径。此外,通过L3AP发送的帧同样能在L3AP的成员口上进行流量平衡,当L3AP中的一条成员链路失效后,L3AP会自动将这个链路上的流量转移到其他有效的成员链路上,提高了连接的可靠性。
AP口在交换芯片中的标识例如是trunk-ID,每个trunk-ID都有对应的端口管理列表,端口管理列表包含了该AP的所有成员口信息,若进入交换芯片的报文需要从AP口转发出去,交换芯片会根据报文的相关内容进行哈希(hash)计算,决定从哪个成员口转发。
(4)协议独立组播(Protocol Independent Multicast,PIM),由域间组播路由工作组设计,PIM不依赖于某一特定单播路由协议。PIM定义了两种模式:稀疏模式的多播路由协议(Protocol Independent Multicast Sparse Mode,PIM-SM)和密集模式的组播路由协议(Protocol Independent Multicast-Dense Mode,PIM-DM),两个协议的共同点在于都是应用于三层口(带IP地址)上的组播协议,完成将组播报文转发到其他三层口的目的。
(5)组播组和组播下游口,每个组播报文的目的IP都是一个组播IP地址(groupIP)。一个组播组就是将组播IP地址作为前缀的路由,组播路由的出口就是组播下游口。
(6)组播转发,单播转发是点到点的转发,即某个单播报文从某入口进入后,然后从另一个出口转发出去,请参见图1所示,图1中目标设备1、目标设备2和目标设备3组成组播组,为了让网络中的多个目标设备可以同时接收到相同的报文,如果采用单播的方式,那么源设备需要不停的产生多个相同的报文来进行发送,对于一些对时延很敏感的数据,在源设备要产生多个相同的数据报文后,再产生第二个数据报文,对于一台设备来说,同时不停的产生一个报文来说是一个很大的负担。组播转发是点到多点的转发,在发送者和每一接收者之间实现点对多点网络连接,即某个组播报文从某入口进入后,从多个出口转发出去,请参见图2所示,如果采用组播的方式,源设备可以只需要发送一个报文就可以到达每个需要接收的设备上。
(7)MLL,交换机的报文复制逻辑单元提供了一种三层复制机制,称为活跃组播链表(Multicast Linked List,MLL),MLL由MLL节点组成,MLL节点可以存放成员口信息,AP口信息或者VIDX信息,每条MLL由一个MLL ID唯一标识。
MLL属于路由引擎组件,组播组可以关联MLL ID,命中该组播组的报文就会按照MLL中的端口集合进行三层复制。MLL复制机制广泛用于实现三层组播。
(8)VIDX,交换机的报文复制逻辑单元除了提供三层复制逻辑还提供了二层复制逻辑用于在产生报文的多份拷贝,与三层复制不同的是二层复制不会修改报文的二层信息,这种二层复制机制这里称为VIDX(Virtual Local Area Network Multicast GroupIndex,以VLAN报文复制类似的二层组播复制机制)。
以下介绍本申请的技术方案。
如前所述的,如何有效避免组播报文的重复转发是目前亟待解决的技术问题。相关技术中,采用仅将组播组安装在某个转发单元,即组播组表项仅在某个转发单元加入TCAM,或者组播组的L3AP下游口仅在某个转发单元加入,即仅在某个转发单元申请MLL的trunk-ID,或者只同时在一个转发单元添加了组播组表项和组播下游口,也就是说,组播组表项可能在每个转发单元都添加,但是组播组的下游口只在一个转发单元添加,或者组播组的下游口可能在每个转发单元都添加,但是组播组的表项仅在一个转发单元添加,或者组播组表项和组播下游口都只添加在一个转发单元,其它转发单元都没添加该组播组表项和组播下游口,此时,若同时添加了组播组表项和组播下游口的转发单元退出堆叠系统,那么该组播报文就无法转发出去,产生断流。
例如,请参见图3所示,总共有两个转发单元(即转发单元1和转发单元2),其中两个转发单元都添加了组播组表项,但是组播下游口只添加在转发单元2,或者两个转发单元都添加了组播下游口,但是组播组表项仅添加在转发单元2,或者组播组表项和组播下游口都只添加在转发单元2,此时如果转发单元2退出堆叠系统,那么由于其它转发单元都不同时具备组播组表项和组播下游口,就会导致组播报文无法完成转发,造成断流,以致于用户的组播业务无故中断。
鉴于此,本申请实施例提供一种转发组播报文的方法,通过每个转发单元确定一个成员口时只从自身本地的成员口中确定,而不会从聚合口的所有成员口中确定,从而可以保证每个转发单元确定出的一个成员口属于本转发单元,使得每个转发单元都只有一个成员口可以转发组播报文,进而又从各个转发单元一起确定出的全部成员口中选择一个最终的目标成员口用于转发报文,这样可以有效避免组播报文在聚合口被多次重复转发,减少组播报文的无效重复转发,提高组播报文转发的有效性,减少转发资源的浪费,提高转发资源的利用率。同时,相对于相关技术中仅将组播组表项或者组播下游口添加到某一个转发单元的方式,可以在某个转发单元退出系统(例如由于设备故障或者掉电)后继续用其它转发单元进行转发,不会因为某个转发单元退出堆叠系统,而导致组播报文流中断,提高组播报文转发的可靠性。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
基于上述内容,本申请提供一种转发组播报文的方法,该方法可以应用于堆叠系统中,具体来说,可以由堆叠系统中的主转发单元(例如又可以称作主设备)执行。请参见图4所示,本申请实施例中的转发组播报文的方法的流程描述如下。
步骤401:监测到堆叠系统中的任一转发单元接收组播报文后,确定该组播报文的组播下游口对应在堆叠系统中的目标聚合口。
在本申请实施例中,堆叠系统中的主转发单元可以实时监测该堆叠系统中的各个转发单元(包括主转发单元自身以及各个从转发单元)收发报文的行为,一旦监测到某一个转发单元(例如是主转发单元自身或者是任一的从转发单元)接收到组播报文后,由于堆叠系统中转发报文一般是基于聚合口机制转发,即表明该组播报文的组播下游口为聚合口,进而可以确定该组播报文的组播下游口对应在该堆叠系统中的聚合口。为便于描述,本申请实施例中将该组播报文的组播下游口对应在该堆叠系统中的聚合口称作目标聚合口,以及,将堆叠系统从外界接收组播报文的转发单元称作入口转发单元,所以入口转发单元有可能是从转发单元,或者入口转发单元也可能是主转发单元。
在具体实施例中,组播组管理表项(例如是TCAM)中保存了组播报文的目的IP地址,通过该目的IP地址可以确定出堆叠系统接收的组播报文需要转发的目标组播组,然后根据该目标组播组与堆叠系统中的聚合口的对应关系从MLL表项中确定出该组播报文的组播下游口对应的目标聚合口,可以为该目标聚合口申请唯一的虚拟局域网(Virtual LocalArea Network,VLAN)地址(VLAN ID),使得该目标聚合口下的所有成员口都属于同一个VLAN。
步骤402:将组播报文复制到目标聚合口对应除接收该组播报文之外的其余转发单元中,以使目标聚合口对应的各个转发单元分别从属于目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口。
在确定组播报文的组播下游口对应在该堆叠系统中的目标聚合口之外,即可确定该目标聚合口所对应的转发单元,如前所述的,由于组播报文是由入口转发单元接收的,所以入口转发单元必然是目标聚合口对应的其中一个转发单元,而目标聚合口中除去入口转发单元的成员口的其余成员口分别所属的转发单元,即是目标聚合口所对应的其余转发单元。
进一步地,主转发单元可以将入口转发单元接收的组播报文泛洪复制到目标聚合口对应的除入口转发单元的其余转发单元中,这样,目标聚合口关联的每个转发单元中都保存一份组播报文,使得目标聚合口关联的各个转发单元都可以转发该组播报文,以实现组播报文的层次化转发。
在本申请实施例中,对于目标聚合口对应的各个转发单元,可以先确定各个转发单元中属于目标聚合口的成员口,例如一种聚合口配置是每个转发单元中只有一个本地成员口属于该目标聚合口,例如另外一种聚合口配置是部分转发单元只有一个本地成员口属于该目标聚合口,以及另外的转发单元有多个本地成员口属于该目标聚合口。
在确定目标聚合口对应的各个转发单元中属于该目标聚合口的成员口之后,进而,主转发单元可以指示目标聚合口对应的各个转发单元从自身属于目标聚合口的本地成员口中,通过hash均衡策略计算出一个可用于转发组播报文的成员口。可见,目标聚合口对应的各个转发单元在计算可用于转发组播报文的一个本地成员口时,是仅从自身属于目标聚合口的本地成员口中确定的,而并非是从目标聚合口包括的所有成员口中确定的,这样可以确保各个转发单元确定出的成员口是唯一的,以避免各个转发单元均根据目标聚合口所包括的所有成员口确定成员口时,有些转发单元计算出的成员口是重复的。
在各个转发单元分别从本转发单元属于目标聚合口的本地成员口中确定一个成员口之前,主转发单元可以申请包含目标聚合口包括所有成员口信息的成员口列表(例如称作VIDX表),然后根据该成员口列表为目标聚合口对应的每个转发单元确定对应的一个子成员口列表,使得各个转发单元在通过hash计算一个成员口时,可以根据对应配置的子成员口列表所包括的成员口中进行决策。
本申请实施例中,每个子成员口列表具有仅读取对应的转发单元中属于目标聚合口的成员口有效的属性,也就是说,对于每个子成员口列表,对应的转发单元在读取该子成员口列表时,只有读取该转发单元自身属于目标聚合口的本地成员口才是有效的,即,每个转发单元在读取自身对应的子成员口列表时,只能有效读取到该转发单元自身属于目标聚合口的本地成员口,而无法有效读取或者根本就无法读取到除该转发单元自身属于目标聚合口的本地成员口之外的其它转发单元的成员口。例如,目标聚合口中包含6个成员口,这6个成员口分属于4个转发单元,其中:成员口1和成员口2属于转发单元1,成员口3属于转发单元2,成员口4和成员口5属于转发单元3,成员口6属于转发单元4,则申请的成员口列表中就包含这6个成员口的信息,然后根据该成员口列表确定出分别与4个转发单元对应的4个子成员口列表,例如,与转发单元1对应的是子成员口列表1、与转发单元2对应的是子成员口列表2、与转发单元3对应的是子成员口列表3、与转发单元4对应的是子成员口列表4。以转发单元1对应的是子成员口列表1为例,那么转发单元1在读取子成员口列表1时,只能有效读取到转发单元1自身的成员口1和成员口2,而无法读取到其它转发单元的成员口3、成员口4、成员口5和成员口6,这样转发单元1自身在进行成员口决策时,就只能从自身属于目标聚合口的本地成员口中进行选择,而无法从其它转发单元的成员口中选择,以确保各个转发单元自身确定成员口时的唯一性。
以下对为各个转发单元确定对应的子成员口列表的方式进行说明。
第一种确定方式
在一种可能的实施方式中,为目标聚合口对应的每个转发单元确定对应的一个子成员口列表,可以确定并标识员口列表中分别属于每个转发单元的成员口,再将标识后得到的成员口列表确定为每个转发单元对应的子成员口列表。也就是说,可以对成员口列表中属于每个转发单元的成员口进行对应标识,例如通过掩位的方式进行标识,并将标识处理后得到的成员口列表确定为该转发单元对应的子成员口列表。具体来说,可以是为每个转发单元申请相同的VIDX表(成员口列表),例如将该VIDX表称作初始VIDX表,然后对于每个转发单元,可以对初始VIDX表中属于本转发单元的成员口进行掩位,将掩位后的VIDX表作为本转发单元对应的子成员口列表,由于每个子成员口列表都是通过对相同的VIDX表进行掩位处理后得到的,相当于是将初始VIDX表复制了多份后针对每个转发单元分别进行掩位,各个转发单元具有一个对应的对初始VIDX表进行掩位后的VIDX表。每个掩位后的VIDX表中实际是还是包括了目标聚合口的所有成员口信息,但是对于每个转发单元来说,只能读取到对应的掩位后的VIDX表中属于自身的成员口信息,以便于后续进行hash计算时只能从自身属于目标聚合口的本地成员口中确定出一个成员口。
若某个转发单元属于目标聚合口的成员口是成员口1、成员口2、成员口3、成员口4和成员口5,针对该转发单元,对初始的VIDX表中属于该转发单元的成员口进行掩位的示意过程例如图5所示,在对初始的VIDX表经过掩位之后,可见得到的掩位后的VIDX表中的成员口1、成员口2、成员口3、成员口4和成员口5被进行了有效标记,具体来说在图5中是以深灰色标识的。
由于每个掩位后的VIDX表相当于都是对初始的VIDX表进行复制后再掩位得到的,所以每个掩位后的VIDX表与初始的VIDX表可以具有相同的列表标识,即,所有掩位后的VIDX表和初始的VIDX表都具有相同的列表标识。
第二种确定方式
在另一种可能的实施方式中,为每个转发单元确定对应的一个子成员口列表,还可以先确定成员口列表中分别属于每个转发单元的成员口,再根据确定的每个转发单元的成员口拆分成员口列表,得到每个转发单元对应的只包括属于本转发单元的成员口的子成员口列表。也就是说,可以对成员口列表进行拆分处理,得到每个转发单元对应的只包括属于本转发单元的成员口的子成员口列表,例如,VIDX表中有5个成员口(成员口1、成员口2、成员口3、成员口4、成员口5),堆叠系统对应的转发单元有2个,其中成员口1、成员口2和成员口3属于转发单元1,成员口4和成员口5属于转发单元2,则将成员口列表拆分成两个子成员口列表,得到的与转发单元1对应的子成员口列表1中仅包含成员口1、成员口2和成员口3,与转发单元2对应的子成员口列表2中仅包含成员口4和成员口5。在该方式中,各个转发单元对应的子成员口列表中仅包括该转发单元自身属于目标聚合口的所有成员口,而并不再包括其它转发单元的成员口。
进一步地,每个转发单元根据对应的子成员口列表,采用哈希均衡的方式从自身属于目标聚合口的本地成员中确定一个成员口。例如,转发单元1对应的子成员口列表1中包含成员口1、成员口2和成员口3,则,转发单元1可以采用hash均衡侧策略从子成员口列表1包括的所有成员口中确定出唯一的一个成员口,例如最终确定出的是成员口3。
本申请实施例中,通过从目标聚合口中确定出只属于各个转发单元的成员口,使得每个转发单元在确定本转发单元的一个成员口时只从属于本转发单元的本地成员口中确定,保证确定出的本转发单元的一个成员口一定是属于本转发单元自身的,有效避免相关技术中在确定一个成员口时,某个转发单元确定出的成员口实际上属于其它转发单元的成员口,且由于各个转发单元对应的子成员口列表相当于是逻辑部署在各个转发单元中的,而不是集中部署在某一个转发单元中,因此不会因为某个转发单元由于设备故障或者掉电等因素退出堆叠系统,而导致组播报文流中断,从而提高组播报文传输的有效性,提高系统的可靠性。
如上所述的,各个转发单元在根据对应的子成员口列表各自确定出一个自身的本地成员口之后,即可以得到一个或多个成员口。具体地,若目标聚合口中的成员口只属于一个转发单元,那么则得到该一个转发单元的一个本地成员口,若目标聚合口中的成员口分属于多个转发单元,那么则可以得到该多个转发单元中的每个转发单元各自的一个本地成员口而形成的多个成员口。
步骤403:按照预设选择策略,从至少一个成员口中确定目标成员口。
也就是说,对于上述各个转发单元分别通过hash均衡策略确定出的本地的一个或多个成员口后,还需要从这些确定出的所有成员口中最终确定出一个目标成员口,以通过该一个目标成员口唯一转发组播报文,使得组播报文在下游口为聚合口时,能够从该聚合口只被一次转发,避免重复转发,减少对转发资料的浪费,提高组播报文转发的有效性。
在一种情形中,当至少一个成员口只包括一个成员口时,即主转发单元在确定目标聚合口对应的各个转发单元所确定的全部成员口只有一个后,则可以将该一个成员口直接确定为目标成员口。
在另一种情形中,在至少一个成员口包括多个成员口时,即主转发单元在确定目标聚合口对应的各个转发单元所确定的全部成员口包括多个时,则可以按照预设的唯一决策策略从多个成员口中确定一个目标成员口,其中的唯一决策策略是确保能够从多个成员口中确定出唯一的一个目标成员口的策略。
为便于理解,以下对上述的唯一决策策略进行举例说明。
第一种唯一决策方式
按照预先设定的允许转发配置信息,从确定出的多个成员口中确定一个目标成员口,其中的允许转发配置信息用于指示目标聚合口中的各个成员口在各自所属的转发单元中的允许转发行为状态。也就是说,可以预先设置目标聚合口中的各个成员口的允许转发行为,其中的允许转发行为状态包括“允许转发”和“不允许转发”两种,这样,对于多个转发单元选择出的多个成员口,可以根据其预先配置的允许转发行为状态来决定哪些可以转发组播报文,哪些不能转发组播报文。具体的,可以通过制定中继端口表(Designated TrunkPort Table,DTT)的转发规则从至少一个成员口中确定一个目标成员口,其中DTT的转发规则用于指示某个转发单元的成员口是否进行组播报文转发。
以目标聚合口对应有4个转发单元为例进行说明,转发单元1确定出用于报文转发的一个成员口是a,转发单元2确定出用于报文转发的一个成员口是b,转发单元3确定出用于报文转发的一个成员口是c,转发单元4确定出的用于报文转发的一个成员口是d,根据预先设定的允许转发配置信息,确定成员口a在转发单元1中的允许转发行为状态是“不允许转发”、成员口b在转发单元2中的允许转发行为状态是“允许转发”、成员口c在转发单元3中的允许转发行为状态是“不允许转发”、成员口d在转发单元4中的允许转发行为状态是“不允许转发”,可见只有成员口b是“允许转发”,进而可以直接将成员口b确定为是最终的一个目标成员口。或者,根据允许转发配置信息确定出成员口b、c或更多个成员口是“允许转发”,那么则可以随机或者按照端口流量最小的选择方式选择其中的一个成员口作为最终的目标成员口。
第二种唯一决策方式
对于由多个转发单元确定出的多个成员口,可以判断其中每个成员口的端口流量情况,然后将端口流量最小的成员口确定为目标成员口。这样,在多个成员口都满足转发需求时,采用端口流量最小的方式来做最终决策,可以使得确定出的目标成员口的带宽是比较充足的,以确保组播报文的可靠、有效转发。
步骤404:通过目标成员口转发组播报文。
通过从至少一个成员口中选择一个目标成员口,使得堆叠系统中最终只有一个转发单元的一个成员口用于转发报文,可以有效避免组播报文多次转发。
在本申请实施例中,每个转发单元都包含组播组表项和组播组下游口信息,但是最终只确定出一个转发单元的一个成员口用于转发组播报文,此时其它转发单元的成员口同样具备转发报文的能力,因此在一个转发单元退出系统后,可以重新选择转发组播报文的成员口(即重新选择转发组播报文的转发单元),提升资源利用率,同时降低组播报文流中断的发生概率。
基于同一发明构思,本申请实施例提供了一种转发组播报文的装置,该转发组播报文的装置能够实现前述的转发组播报文的方法对应的功能。该转发组播报文的装置可以是硬件结构、软件模块、或硬件结构加软件模块。该转发组播报文的装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图6a所示,该转发组播报文的装置包括第一确定模块601、获取模块602,第二确定模块603和转发模块604。其中:
第一确定模块601,用于监测到堆叠系统中的任一转发单元接收组播报文后,确定组播报文的组播下游口对应在堆叠系统中的目标聚合口;
获取模块602,用于将组播报文复制到目标聚合口对应的除接收组播报文之外的其余转发单元中,以使目标聚合口对应的各个转发单元分别从属于目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口;
第二确定模块603,用于按照预设选择策略,从至少一个成员口中确定目标成员口;
转发模块604,用于通过目标成员口转发组播报文。
在一种可能的实施方式中,请参见图6b所示,本申请实施例中的转发组播报文的装置还包括第三确定模块605,用于:
在获取模块602获得至少一个成员口之前,申请与目标聚合口对应的成员口列表;以及根据成员口列表,确定每个转发单元对应的子成员口列表,以使每个转发单元根据对应的子成员口列表,确定本转发单元中属于目标聚合口的本地成员口,并采用哈希均衡策略从确定的本地成员口中确定一个成员口;其中,成员口列表中包括目标聚合口中的所有成员口的信息,每个子成员口列表具有仅读取对应的转发单元中属于目标聚合口的成员口有效的属性。
在一种可能的实施方式中,第三确定模块605用于:
确定并标识成员口列表中分别属于每个转发单元的成员口;
将标识后得到的成员口列表确定为每个转发单元对应的子成员口列表;
其中,成员口列表具有唯一的列表标识,以及,每个子成员口列表均具有列表标识。
在一种可能的实施方式中,第三确定模块605用于:
确定成员口列表中分别属于每个转发单元的成员口;
根据确定的每个转发单元的成员口拆分成员口列表,得到每个转发单元对应的只包括属于本转发单元的成员口的子成员口列表。
在一种可能的实施方式中,第二确定模块603用于:
若确定至少一个成员口仅包括一个成员口,则将确定出的成员口确定为目标成员口;
若确定至少一个成员口包括多个成员口,则按照预设的唯一决策策略,从至少一个成员口中确定一个成员口,得到目标成员口。
在一种可能的实施方式中,第二确定模块603用于:
按照预先设定的允许转发配置信息,从至少一个成员口中确定一个成员口,得到目标成员口,其中,允许转发配置信息用于指示目标聚合口中的各个成员口在各自所属的转发单元中的允许转发行为状态;或者,
将至少一个成员口中端口流量最小的成员口确定为目标成员口。
前述的转发组播报文的方法的实施例涉及的各步骤的所有相关内容均可援引到本申请施例中的转发组播报文的装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例提供一种网络设备,该网络设备例如是具有堆叠性能的设备,例如是包括多个交换机的堆叠交换机系统或者是包括多个转发芯片的堆叠交换机,等等。该网络设备能够执行前述的转发组播报文的方法。如图7所示,本申请实施例中的网络设备包括至少一个处理器701,以及与至少一个处理器701连接的存储器702和通信接口703,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中是以处理器701和存储器702之间通过总线700连接为例,总线700在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线700可以分为地址总线、数据总线、控制总线等,为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前述的转发组播报文的方法中所包括的步骤。
其中,处理器701是网络设备的控制中心,可以利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,网络设备的各种功能和处理数据,从而对网络设备进行整体监控。可选的,处理器701可包括一个或多个处理模块,处理器701可集成应用处理器和调制解调处理器,其中,处理器701主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通信接口703是能够用于进行通信的传输接口,可以通过通信接口703接收发报文,例如收发组播报文,以实现对组播报文的多层次转发。
进一步地,该网络设备还包括帮助网络设备内的各个器件之间传输信息的基本输入/输出系统(I/O系统)704、用于存储操作系统705、应用程序706和其他程序模块707的大容量存储设备708。
基本输入/输出系统704包括有用于显示信息的显示器709和用于用户输入信息的诸如鼠标、键盘之类的输入设备710。其中显示器709和输入设备710都通过连接到系统总线700的基本输入/输出系统704连接到处理器701。所述基本输入/输出系统704还可以包括输入输出控制器以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备708通过连接到系统总线700的大容量存储控制器(未示出)连接到处理器701。所述大容量存储设备708及其相关联的计算机可读介质为该服务器包提供非易失性存储。也就是说,大容量存储设备708可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
根据本申请的各种实施例,该网络设备包还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即该网络设备可以通过连接在所述系统总线700上的通信接口703连接到网络711,或者说,也可以使用通信接口703来连接到其他类型的网络或远程计算机系统(未示出)。
通过对处理器701进行设计编程,可以将前述实施例中介绍的转发组播报文的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的转发组播报文的方法的步骤,如何对处理器701进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质例如是计算机可读存储介质,该存储介质存储有计算机指令,当该计算机指令在网络设备(例如交换机)上运行时,使得网络设备执行如前述的转发组播报文的方法的步骤。
在一些可能的实施方式中,本申请提供的转发组播报文的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在网络设备上运行时,程序代码用于使该网络设备执行本说明书上述描述的根据本申请各种示例性实施方式的转发组播报文的方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种转发组播报文的方法,应用于堆叠系统包括的至少两个转发单元中的主转发单元中,其特征在于,所述方法包括:
监测到所述堆叠系统中的任一转发单元接收组播报文后,确定所述组播报文的组播下游口对应在所述堆叠系统中的目标聚合口;
将所述组播报文复制到所述目标聚合口对应的除接收所述组播报文之外的其余转发单元中,以使所述目标聚合口对应的各个转发单元分别从属于所述目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口;
按照预设选择策略,从所述至少一个成员口中确定目标成员口;
通过所述目标成员口转发所述组播报文。
2.如权利要求1所述的方法,其特征在于,在获得至少一个成员口之前,所述方法还包括:
申请与所述目标聚合口对应的成员口列表,所述成员口列表中包括所述目标聚合口中的所有成员口的信息;
根据所述成员口列表,确定每个转发单元对应的子成员口列表,以使每个转发单元根据对应的子成员口列表,确定本转发单元中属于所述目标聚合口的本地成员口,并采用哈希均衡策略从确定的本地成员口中确定一个成员口;其中,每个子成员口列表具有仅读取对应的转发单元中属于所述目标聚合口的成员口有效的属性。
3.如权利要求2所述的方法,其特征在于,根据所述成员口列表,确定每个转发单元对应的子成员口列表,包括:
确定并标识所述成员口列表中分别属于每个转发单元的成员口;
将标识后得到的成员口列表确定为每个转发单元对应的子成员口列表;
其中,所述成员口列表具有唯一的列表标识,以及,每个子成员口列表均具有所述列表标识。
4.如权利要求2所述的方法,其特征在于,根据所述成员口列表,确定每个转发单元对应的子成员口列表,包括:
确定所述成员口列表中分别属于每个转发单元的成员口;
根据确定的每个转发单元的成员口拆分所述成员口列表,得到每个转发单元对应的只包括属于本转发单元的成员口的子成员口列表。
5.如权利要求1-4任一所述的方法,其特征在于,按照预设选择策略,从所述至少一个成员口中确定目标成员口,包括:
若确定所述至少一个成员口仅包括一个成员口,则将确定出的成员口确定为目标成员口;
若确定所述至少一个成员口包括多个成员口,则按照预设的唯一决策策略,从所述至少一个成员口中确定一个成员口,得到目标成员口。
6.如权利要求5所述的方法,其特征在于,按照预设的唯一决策策略,从所述至少一个成员口中确定一个成员口,得到目标成员口,包括:
按照预先设定的允许转发配置信息,从所述至少一个成员口中确定一个成员口,得到目标成员口,其中,所述允许转发配置信息用于指示所述目标聚合口中的各个成员口在各自所属的转发单元中的允许转发行为状态;或者,
将所述至少一个成员口中端口流量最小的成员口确定为目标成员口。
7.一种转发组播报文的装置,其特征在于,所述装置包括:
第一确定模块,用于监测到堆叠系统中的任一转发单元接收组播报文后,确定所述组播报文的组播下游口对应在所述堆叠系统中的目标聚合口;
获取模块,用于将所述组播报文复制到所述目标聚合口对应的除接收所述组播报文之外的其余转发单元中,以使所述目标聚合口对应的各个转发单元分别从属于所述目标聚合口的本地成员口中确定一个成员口,以获得至少一个成员口;
第二确定模块,用于按照预设选择策略,从所述至少一个成员口中确定目标成员口;
转发模块,用于通过所述目标成员口转发所述组播报文。
8.如权利要求7所述的装置,其特征在于,所述装置还包括第三确定模块,用于:
在所述获取模块获得所述至少一个成员口之前,申请与所述目标聚合口对应的成员口列表;以及根据所述成员口列表,确定每个转发单元对应的子成员口列表,以使每个转发单元根据对应的子成员口列表,确定本转发单元中属于所述目标聚合口的本地成员口,并采用哈希均衡策略从确定的本地成员口中确定一个成员口;其中,所述成员口列表中包括所述目标聚合口中的所有成员口的信息,每个子成员口列表具有仅读取对应的转发单元中属于所述目标聚合口的成员口有效的属性。
9.一种网络设备,其特征在于,所述网络设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-6任一所述的方法包括的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-6任一所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310611.5A CN111010343B (zh) | 2019-12-18 | 2019-12-18 | 一种转发组播报文的方法、装置、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310611.5A CN111010343B (zh) | 2019-12-18 | 2019-12-18 | 一种转发组播报文的方法、装置、网络设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111010343A true CN111010343A (zh) | 2020-04-14 |
CN111010343B CN111010343B (zh) | 2022-01-11 |
Family
ID=70116697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310611.5A Active CN111010343B (zh) | 2019-12-18 | 2019-12-18 | 一种转发组播报文的方法、装置、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111010343B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098790A (zh) * | 2021-03-26 | 2021-07-09 | 新华三信息安全技术有限公司 | 一种流量转发方法及装置 |
CN113992566A (zh) * | 2021-10-26 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种报文广播方法及装置 |
CN114374659A (zh) * | 2022-01-18 | 2022-04-19 | 苏州盛科科技有限公司 | 一种堆叠系统中实现本地优先转发的方法、装置及存储介质 |
CN116055389A (zh) * | 2023-02-14 | 2023-05-02 | 苏州盛科通信股份有限公司 | 一种组播报文复制方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484413A (zh) * | 2002-09-18 | 2004-03-24 | ����ͨѶ�ɷ�����˾ | 一种实现聚合链路流量均衡的方法 |
CN102307140A (zh) * | 2011-08-17 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种基于端口聚合的报文处理方法及其装置 |
US20120039335A1 (en) * | 2010-03-16 | 2012-02-16 | Force10 Networks. Inc. | Multicast packet forwarding using multiple stacked chassis |
CN103746922A (zh) * | 2013-12-17 | 2014-04-23 | 福建星网锐捷网络有限公司 | 一种组播报文的转发方法及装置 |
US20140198661A1 (en) * | 2013-01-11 | 2014-07-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
CN106603441A (zh) * | 2017-01-05 | 2017-04-26 | 盛科网络(苏州)有限公司 | 分布式链路聚合网络中的组播报文处理方法及交换芯片 |
CN107493244A (zh) * | 2016-06-13 | 2017-12-19 | 中兴通讯股份有限公司 | 一种纵向堆叠系统的数据转发端口选择方法及装置 |
CN108259300A (zh) * | 2017-06-30 | 2018-07-06 | 新华三技术有限公司 | 转发广播报文的方法及装置 |
CN108809836A (zh) * | 2018-05-31 | 2018-11-13 | 新华三技术有限公司 | 组播数据报文转发方法及装置 |
CN108965089A (zh) * | 2018-06-21 | 2018-12-07 | 新华三技术有限公司 | 一种流量转发方法及装置 |
CN109039957A (zh) * | 2018-08-14 | 2018-12-18 | 新华三技术有限公司 | 一种报文转发方法、装置及cb设备 |
CN109873776A (zh) * | 2019-01-30 | 2019-06-11 | 新华三技术有限公司 | 一种组播报文负载分担的均衡方法及装置 |
-
2019
- 2019-12-18 CN CN201911310611.5A patent/CN111010343B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1484413A (zh) * | 2002-09-18 | 2004-03-24 | ����ͨѶ�ɷ�����˾ | 一种实现聚合链路流量均衡的方法 |
US20120039335A1 (en) * | 2010-03-16 | 2012-02-16 | Force10 Networks. Inc. | Multicast packet forwarding using multiple stacked chassis |
CN102307140A (zh) * | 2011-08-17 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种基于端口聚合的报文处理方法及其装置 |
US20140198661A1 (en) * | 2013-01-11 | 2014-07-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
CN103746922A (zh) * | 2013-12-17 | 2014-04-23 | 福建星网锐捷网络有限公司 | 一种组播报文的转发方法及装置 |
CN107493244A (zh) * | 2016-06-13 | 2017-12-19 | 中兴通讯股份有限公司 | 一种纵向堆叠系统的数据转发端口选择方法及装置 |
CN106603441A (zh) * | 2017-01-05 | 2017-04-26 | 盛科网络(苏州)有限公司 | 分布式链路聚合网络中的组播报文处理方法及交换芯片 |
CN108259300A (zh) * | 2017-06-30 | 2018-07-06 | 新华三技术有限公司 | 转发广播报文的方法及装置 |
CN108809836A (zh) * | 2018-05-31 | 2018-11-13 | 新华三技术有限公司 | 组播数据报文转发方法及装置 |
CN108965089A (zh) * | 2018-06-21 | 2018-12-07 | 新华三技术有限公司 | 一种流量转发方法及装置 |
CN109039957A (zh) * | 2018-08-14 | 2018-12-18 | 新华三技术有限公司 | 一种报文转发方法、装置及cb设备 |
CN109873776A (zh) * | 2019-01-30 | 2019-06-11 | 新华三技术有限公司 | 一种组播报文负载分担的均衡方法及装置 |
Non-Patent Citations (3)
Title |
---|
IEEE: ""P802.1AX-Rev/D2.1, Aug 2019 - IEEE Draft Standard for Local and Metropolitan Area Networks -- Link Aggregation"", 《IEEE P802.1AX-REV/D2.1, AUGUST 2019》 * |
宋修军: ""基于分布式交换机跨网络堆叠的研究与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
赵海荣: "" 基于802.1BR协议堆叠系统的设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098790A (zh) * | 2021-03-26 | 2021-07-09 | 新华三信息安全技术有限公司 | 一种流量转发方法及装置 |
CN113098790B (zh) * | 2021-03-26 | 2022-06-21 | 新华三信息安全技术有限公司 | 一种流量转发方法及装置 |
CN113992566A (zh) * | 2021-10-26 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种报文广播方法及装置 |
CN114374659A (zh) * | 2022-01-18 | 2022-04-19 | 苏州盛科科技有限公司 | 一种堆叠系统中实现本地优先转发的方法、装置及存储介质 |
CN116055389A (zh) * | 2023-02-14 | 2023-05-02 | 苏州盛科通信股份有限公司 | 一种组播报文复制方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111010343B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010343B (zh) | 一种转发组播报文的方法、装置、网络设备及存储介质 | |
US10764170B2 (en) | Generation of path failure message at forwarding element based on message path | |
US9083645B2 (en) | Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge | |
CN101577679B (zh) | 实现指定路由器之间组播业务分担的状态管理方法和装置 | |
CN1921453B (zh) | Mpls有序方式下lsp中间节点标签分配方法及装置 | |
CN106789759B (zh) | 一种报文上送方法及交换芯片 | |
US11716274B2 (en) | Determining node behavior in deterministic networks | |
CN103152251A (zh) | 一种报文处理方法及装置 | |
CN107294856B (zh) | 确定拓扑变化的方法、设备及系统 | |
CN113765809A (zh) | Bier组播流量的统计方法、设备以及系统 | |
CN111131022B (zh) | 一种业务流处理方法及装置 | |
Bogdanski | Optimized routing for fat-tree topologies | |
CN112994942B (zh) | 一种sdn控制方法及装置 | |
CN112511438B (zh) | 一种利用流表转发报文的方法、装置及计算机设备 | |
WO2019173406A1 (en) | Generation of path failure message at forwarding element | |
CN104348737B (zh) | 一种组播报文的传输方法及交换机 | |
Liu et al. | Distributed traffic engineering for multi-domain SDN without trust | |
CN113541924A (zh) | 报文检测的方法、设备以及系统 | |
CN113472667B (zh) | 一种报文转发方法、装置、节点设备及存储介质 | |
CN108900422A (zh) | 组播转发方法、装置及电子设备 | |
CN111865803B (zh) | 基于evpn的路由处理方法及装置 | |
Khin et al. | Reducing Packet-In Messages in OpenFlow Networks | |
CN114760249A (zh) | 一种基于sdn网络的数据处理方法和装置及设备 | |
CN109462518B (zh) | 一种环路检测的方法及装置 | |
CN109981302A (zh) | 组播通信的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |