CN102164084B - 一种组播报文转发方法及其设备 - Google Patents
一种组播报文转发方法及其设备 Download PDFInfo
- Publication number
- CN102164084B CN102164084B CN201110100674.5A CN201110100674A CN102164084B CN 102164084 B CN102164084 B CN 102164084B CN 201110100674 A CN201110100674 A CN 201110100674A CN 102164084 B CN102164084 B CN 102164084B
- Authority
- CN
- China
- Prior art keywords
- multicast
- list
- interface board
- hash
- master control
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种组播报文转发方法及其设备,应用于包含有主控板和接口板的交换设备,主控板和接口板上均配置有hash表形式的组播表项,该方法包括:在接口板上配置组播表项时,将与该接口板上已配置的组播表项发生hash冲突的组播表项配置到主控板上;当入接口处的接口板接收到组播报文时,从该接口板上配置的组播表项中查找与该组播报文匹配的组播表项,并在未查找到的情况下,将该组播报文发送给主控板;主控板查找与该组播报文匹配的组播表项,并在查找到的情况下,根据该匹配的组播表项对组播报文进行转发处理。采用本发明可一定程度上解决现有组播报文转发技术中因hash冲突导致相应组播表项下发失败,并进而导致相应组播报文转发失败的问题。
Description
技术领域
本发明涉及通信技术领域的IP三层交换技术,尤其涉及一种组播报文转发方法及其设备。
背景技术
现有的部分交换机产品使用组播转发硬件来实现组播报文的转发处理,其中组播(S,G,V)信息可用硬件hash表来实现,hash表可如表1所示,其中,每个hash桶对应一定存储空间,每个hash桶中存储有一定数量的组播(S,G,V)信息,一个hash桶中的组播组播(S,G,V)信息的hash key(hash关键字)相同。其中,组播(S,G,V)信息中的S表示特定组播源,G表示特定组播组,V表示入口VLAN(Virtual Local Area Network,虚拟局域网)。
表1
交换机在转发组播报文时,根据该组播报文的(S,G,V)信息查找对应的L3_entry表项,根据L3_entry表项查找IPMC(IP Multimedia Communications,IP多播通信)表项,根据IMPC表项中的出接口转发该组播报文。
在下发组播(S,G,V)信息到L3_entry表项时,在一个hash桶被填满的情况下,如果有新的组播(S,G,V)信息需要下发到该已填满的hash桶中,则会由于该hash桶已经达到最大容量而导致该组播(S,G,V)信息下发失败,进而导致相应的组播报文无法转发。
如表1所示,组播(S1,G1,V1)到(S6,G6,V6),如果它们的hash key相同,都是key1,那么在下发这些(S,G,V)信息到L3_entry表项的时候,将会下发到hash key=1的hash桶中,此时这个桶已经达到最大容量。当有一个新的组播(S7,G7,V7)信息需要下发到L3_entry表项中,如果它的hash key也是key1,则会由于hash桶1没有存放空间而导致组播(S7,G7,V7)信息下发失败,这种情况称为hash冲突。hash冲突将导致后续无法转发相应组播报文,进而影响交换机等组播报文转发设备的可用性。
发明内容
本发明提供了一种组播报文转发方法及其设备,用以一定程度上解决现有组播报文转发技术中因hash冲突导致相应组播表项下发失败,并进而导致相应组播报文转发失败的问题。
本发明提供的组播报文转发方法,应用于包含有主控板和接口板的交换设备,其中,主控板和接口板上均配置有hash表形式的组播表项,该方法包括:
在接口板上配置组播表项时,将与该接口板上已配置的组播表项发生hash冲突的组播表项配置到主控板上;
当入接口处的接口板接收到组播报文时,从该接口板上配置的组播表项中查找与该组播报文匹配的组播表项,并在查找到匹配的组播表项的情况下,根据该匹配的组播表项对所述组播报文进行转发处理;在未查找到匹配的组播表项的情况下,将该组播报文发送给主控板;
所述主控板从其上配置的组播表项中查找与该组播报文匹配的组播表项,并在查找到匹配的组播表项的情况下,根据该匹配的组播表项对所述组播报文进行转发处理。
上述方法中,所述在接口板上配置组播表项时,将与该接口板上已配置的组播表项发生hash冲突的组播表项配置到主控板上,包括:
当需要在接口板上配置组播表项时,根据该组播表项的(S,G,V)信息确定该组播表项对应的hash关键字;其中,S表示特定组播源,G表示特定组播组,V表示入口虚拟局域网VLAN;
将该组播表项的hash关键字与所述接口板上的L3_entry表项中的用于存储组播表项的hash桶的hash关键字进行比较,如果该组播表项的hash关键字与L3_entry表项中的hash桶的hash关键字相同、且该hash桶当前已经达到最大容量,则在主控板上的L3_entry表项中具有相同hash关键字的hash桶当前未达到最大容量的情况下,将该组播表项的(S,G,V)信息配置到主控板上的L3_entry表项中具有相同hash关键字的hash桶中。
上述方法中,还包括:在各接口板上配置与所述组播表项的(S,G,V)对应的IPMC表项,在主控板上对应L3_entry表项配置该IPMC表项的索引。
上述方法中,所述主控板从其上配置的组播表项查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项进行转发处理,包括:
所述主控板查找其上配置的L3_entry表项中是否有与所述组播报文的(S,G,V)信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到其它接口板;
所述其它接口板根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
上述方法中,还包括:当所述主控板未查找到与所述组播报文匹配的组播表项时,将所述组播报文上送到CPU处理。
本发明提供的交换设备中的主控板,包括:
表项存储模块,为硬件模块,用于存储与接口板上已配置的组播表项发生hash冲突的组播表项;
接收模块,用于接收交换设备的接口板重定向到该主控板的组播报文;
转发处理模块,用于从所述表项存储模块存储的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
上述主控板中,所述转发处理模块具体用于,查找所述表项存储模块中存储的L3_entry表项中是否有与所述组播报文的地址和VLAN信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到各接口板,以使各接口板分别根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
本发明提供的交换设备,包括:组播表项下发模块、接口板和主控板;其中:
组播表项下发模块,用于在交换设备的接口板上配置组播表项时,将与该接口板上已配置的组播表项发生hash冲突的组播表项配置到主控板上;
接口板,在作为组播入口接收到组播报文时,从该接口板上配置的组播表项中查找与该组播报文匹配的组播表项,如果查找到匹配的组播表项,则根据该匹配的组播表项对所述组播报文进行转发处理;如果未查找到匹配的组播表项,则将该组播报文发送给主控板;
所述主控板,用于从其上配置的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
上述交换设备中,所述组播表项下发模块具体用于,当需要在交换设备的接口板上配置组播表项时,根据该组播表项的(S,G,V)信息确定该组播表项对应的hash关键字;将该组播表项的hash关键字与接口板上的L3_entry表项中的各用于存储组播表项的hash桶的hash关键字进行比较,如果该组播表项的hash关键字与L3_entry表中的hash桶的hash关键字相同、且该hash桶当前已经达到最大容量,则在主控板上的L3_entry表项中具有相同hash关键字的hash桶当前未达到最大容量的情况下,将该组播表项的(S,G,V)信息配置到主控板上的L3_entry表项中具有相同hash关键字的hash桶中。
上述交换设备中,所述组播表项下发模块还用于,在主控板上配置与各hash桶对应的IPMC索引,在各接口板上配置与IPMC索引对应的IPMC表项。
上述交换设备中,所述主控板,包括:
表项存储模块,为硬件模块,用于存储与接口板上已配置的组播表项发生hash冲突的组播表项;
接收模块,用于接收交换设备的接口板重定向到该主控板的组播报文;
转发处理模块,用于从所述表项存储模块存储的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
上述交换设备中,所述转发处理模块具体用于,查找所述表项存储模块中存储的L3_entry表项中是否有与所述组播报文的地址和VLAN信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到各接口板,以使各接口板分别根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
本发明的有益技术效果包括:
本发明中,在接口板上配置组播表项时,将与该接口板上已配置的组播表项发生hash冲突的组播表项配置到主控板上,从而当入接口处的接口板接收到组播报文时,从该接口板上配置的组播表项中查找与该组播报文匹配的组播表项,并在未查找到匹配的组播表项的情况下,将该组播报文发送给主控板;主控板从其上配置的组播表项中查找与该组播报文匹配的组播表项,并在查找到匹配的组播表项的情况下,根据该匹配的组播表项对所述组播报文进行转发处理。从而减少了hash冲突的几率,提高了交换设备的可用性,一定程度上解决了组播hash冲突的问题,使组播功能的实用性增强。
附图说明
图1为现有交换设备转发组播报文的流程示意图之一;
图2为现有交换设备转发组播报文的流程示意图之二;
图3为本发明实施例提供的组播表项下发流程示意图;
图4为本发明实施例提供的组播报文转发流程示意图;
图5为本发明实施例提供的交换设备转发组播报文时的整体架构示意图;
图6为本发明实施例提供的交换设备中的主控板的结构示意图;
图7为本发明实施例提供的交换设备的结构示意图。
具体实施方式
在交换设备上与二层或三层转发相关的组播表项通常可包括L3_entry表项、IPMC表项等。其中,L3_entry表项固化在交换设备的硬件中,存放有(S,G,V)信息,每一个(S,G,V)对应一个L3_entry表项,每一个L3_entry表项对应一个IPMC索引,用于索引对应的IPMC表项。IPMC表项中通常记录有本板所有出接口相关信息。L3_entry表项中的(S,G,V)信息的存放采用hash表的方式(如表1所示),每个hash桶中可以容纳一定数量的表项,通常为8条表项。
如图1所示,目前在交换设备上,对于组播转发,在报文的入接口处的接口板上,需要通过报文的(S,G,V)信息查找L3_entry表项得到IPMC索引,通过IPMC索引找到IPMC_table(IPMC表项),通过IPMC_table找到本板所有出接口,然后将报文复制并从这些出接口转发出去。
对于分布式交换设备,如图2所示,在报文的入接口处的接口板上,需要通过报文的(S,G,V)信息查找L3_entry表项得到IPMC索引,通过IPMC索引找到IPMC_table,通过IPMC_table找到本板的所有出接口,将报文复制并通过本板出接口转发出去,另外还将组播报文和IPMC索引一起发送给其它接口板;在目标接口板上通过该IPMC索引再次找到IPMC_table,然后通过IPMC_table找到在各自接口板上的所有出接口,将报文从这些出接口转发出去,从而完成组播转发流程。
在转发组播报文的时候,通过比对该组播报文的(源IP地址,目的IP地址,VLAN信息)是否与L3_entry表项中的(S,G,V)信息匹配,从而实现组播报文的转发。可以看出,L3_entry表项是组播报文转发的重要依据。但在向L3_entry表项中添加(S,G,V)信息的时候,由于hash表的固有特点(hash桶容量有限),就有可能会出现hash冲突的问题,从而引起部分表项下发失败。
从以上现有交换设备转发组播报文的流程可以看到,交换设备上的主控板上并不存在业务转发口,所以实际上主控板的交换芯片并没有参与组播转发,所以,在现有的组播转发流程中,主控板是不需要下发组播表项的。
本发明实施例对此进行了改进,即在交换设备的主控板上也配置组播表项(如L3_entry表项),该组播表项的结构可与接口板板中的组播表项结构相同,其中存储的组播表项为与接口板中的组播表项存在hash冲突的组播表项。当入口处的接口板接收到组播报文时,若查找不到与组播报文匹配的组播表项,则使用主控板作为代理,由主控板根据其自身的组播表项查找匹配的组播表项,并根据查找到的组播表项进行转发处理,从而解决hash冲突的问题。
下面结合图3和图4,对本发明实施例提供的组播表项的下发流程以及基于组播表项转发组播报文的流程进行详细描述。
参见图3,为本发明实施例提供的组播表项下发流程。当有新的组播(S,G,V)信息需要下发到组播表项时,以交换设备中的一块接口板(表示为接口板A)为例,该流程可包括:
步骤301,将待下发的组播表项(S,G,V)信息进行hash运算,得到hash key。
步骤302,根据该待下发表项的hash key判断该待下发表项是否与接口板A中已存储的组播表项冲突,如果冲突,则转入步骤303,否则转入步骤304。
具体的,比较该组播表项的hash key与接口板A的L3_entry表项中各hash桶对应的hash key,如果该待下发的组播表项的hash key与L3_entry表中的某个hash桶对应的hash key相同、且该hash桶当前已达到最大容量,即已经没有存储空间可存储该待下发的组播(S,G,V)信息,此种情况即发生hash冲突,需要转入步骤303。如果未发生hash冲突,则转入步骤304。
步骤303,将该待下发的组播表项下发到主控板上。
具体的,将该待下发的组播(S,G,V)信息添加到主控板上的L3_entry表项中与该待下发组播(S,G,V)信息具有相同hash key的hash桶中。在接口板上还需要下发对应的IPMC_table。当主控板上L3_entry表项中,与该待下发的组播(S,G,V)信息的hash key对应的hash桶当前已经达到最大容量时,将放弃该组播表项的下发。
步骤304,下发该待下发的组播表项到接口板A上。
具体的,可按照现有方式下发组播(S,G,V)信息到本板的L3_entry表项中。其中,如果该待下发表项与接口板A的L3_entry表中的某个hash桶的hashkey相同、且该hash桶当前还未达到最大容量,则将该待下发的组播(S,G,V)信息添加到该hash桶中。
以上流程仅以交换设备中的一块接口板为例描述了组播表项的下发过程,对于交换设备中的每块可作为组播入口的接口板都可进行如上处理,通常情况下,交换设备中的各接口板都可以作为组播入口。
从以上流程可以看出,对于没有hash冲突、能够正常下发组播表项时将按照现有方式下发到各接口板的L3_entry表项中,如表1所示,组播表项(S1,G1,V1)、(S2,G2,V2)、(S3,G3,V3)等将在所有的接口板下发,但是不向主控板下发;对于在接口板上由于hash冲突下发失败的组播表项,则下发到主控板上,如与接口板L3_entry表项有hash冲突的表项(S7,G7,V7)将下发到主控板的L3_entry表项中,而不下发到接口板的L3_entry表项中,只需下发相应的IPMC表项到接口板。这样就避免了在下发组播表项的时候出现hash冲突。
基于上述方式下发的组播表项,其组播报文的转发流程可如图4或图5所示,其中,图4为流程框图,图5为组播报文转发流程的整体架构示意图。当有组播报文流入交换设备时,以交换设备中的接口板A为该组播报文入口的接口板为例,该组播报文的转发流程可包括:
步骤401,接口板A接收到组播报文后,根据该组播报文的(S,G,V)信息查询本地配置的组播表项,如果查询到与该组播报文的(S,G,V)信息匹配的组播表项,则转入步骤405;否则,转入步骤402。
具体的,接口板A在接收到组播报文后,比对该组播报文的(源IP地址,目的IP地址,VLAN信息)是否与L3_entry表项中存储的(S,G,V)信息匹配,若匹配,则转入步骤405;否则转入步骤402。
步骤402,接口板A将该组播报文发送给主控板。
具体的,在接口板A上可预先设置ACL(Access Control List,访问控制列表),该ACL用于当本板在组播表项匹配失败时将该组播报文重定向到主控板。
步骤403,主控板根据该组播报文的(S,G,V)信息查找本地配置的组播表项,并在查找到与该组播报文的(S,G,V)信息匹配的组播表项时,根据该匹配的组播表项进行转发处理。
具体的,主控板比对该组播报文的(源IP地址,目的IP地址,VLAN信息)是否与L3_entry表项中存储的(S,G,V)信息匹配,如果匹配,则根据该L3_entry表项得到对应的IPMC索引,并将该组播报文和该IPMC索引复制到各接口板。各目标接口板根据该IPMC索引查找到对应的IPMC_table,根据该IPMC_table将该组播报文复制到本板的相应出接口发送出去。
步骤404,接口板A根据查询到的组播表项对该组播报文进行转发处理。
具体的,接口板A根据该组播报文查找到L3_entry表项中匹配的(S,G,V)信息后,通过该组播报文的(S,G,V)信息查找L3_entry表项得到IPMC索引,根据该IPMC索引查找到对应的IPMC_table,根据该IPMC_table将该组播报文复制到本板上相应的出接口发送出去;另外,还将该组播报文和该IPMC索引复制该交换设备的其它接口板上,各目标接口板根据该IPMC索引查找到对应的IPMC_table,根据该IPMC_table将该组播报文复制到本板上相应的出接口发送出去。
上述流程中,如果主控板未匹配到组播表项,则将该组播报文作为未知组播报文进行处理,如上送CPU进行处理。
通过以上流程可以看出,在转发组播报文时,若根据组播报文的(S,G,V)信息在接口板匹配到对应的组播表项,则按照现有方式进行转发处理,而一旦在接口板上组播表项匹配失败,则将该组播报文重定向到主控板,在主控板上通过代理的方式重新查找L3_entry组播表项,如果找到则得到对应的IPMC索引,并根据相应的IPMC表项进行转发处理。可以看出,这样处理以后,相当于将交换设备中L3_entry表项的hash桶深增加了一倍,减少了hash冲突的几率,从而提高了交换设备的可用性。本发明实施例通过主控板代理的方法,一定程度上解决了组播hash冲突的问题,使组播功能的实用性大大增强。
基于相同的技术构思,本发明实施例还提供了一种交换设备中的主控板,以及包含上述主控板的交换设备。
参见图6,为本发明实施例提供的交换设备中的主控板的结构示意图。如图所示,该主控板可包括:
表项存储模块61,为硬件模块,用于存储与接口板上已配置的组播表项发生hash冲突的组播表项;
接收模块62,用于接收交换设备的接口板重定向到该主控板的组播报文;
转发处理模块63,用于从表项存储模块61存储的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
上述主控板中,转发处理模块63在进行转发处理时,可具体用于:查找表项存储模块61中存储的L3_entry表项中是否有与所述组播报文的地址和VLAN信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到各接口板,以使各接口板分别根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
参见图7,为本发明实施例提供的交换设备的结构示意图,如图所示,该交换设备可包括:组播表项下发模块71、接口板72(接口板可以为多个)和主控板73;其中:
组播表项下发模块71,用于在交换设备的接口板72上配置组播表项时,将与该接口板72上已配置的组播表项发生hash冲突的组播表项配置到主控板73上;
接口板72,在作为组播入口接收到组播报文时,从该接口板72上配置的组播表项中查找与该组播报文匹配的组播表项,如果查找到匹配的组播表项,则根据该匹配的组播表项对所述组播报文进行转发处理;如果未查找到匹配的组播表项,则将该组播报文发送给主控板73;
主控板73,用于从其上配置的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
上述交换设备中,组播表项下发模块71具体用于:当需要在交换设备的接口板上配置组播表项时,根据该组播表项的(S,G,V)信息确定该组播表项对应的hash关键字;将该组播表项的hash关键字与接口板上的L3_entry表项中的各用于存储组播表项的hash桶的hash关键字进行比较,如果该组播表项的hash关键字与L3_entry表中的hash桶的hash关键字相同、且该hash桶当前已经达到最大容量,则在主控板73上的L3_entry表项中具有相同hash关键字的hash桶当前未达到最大容量的情况下,将该组播表项的(S,G,V)信息配置到主控板73上的L3_entry表项中具有相同hash关键字的hash桶中。
上述交换设备中,组播表项下发模块71还用于:在主控板73上配置与各hash桶对应的IPMC索引,在各接口板72上配置与IPMC索引对应的IPMC表项。
上述交换设备中,主控板73可包括:
表项存储模块731,为硬件模块,用于存储与接口板上已配置的组播表项发生hash冲突的组播表项;
接收模块732,用于接收交换设备的接口板重定向到该主控板的组播报文;
转发处理模块733,用于从表项存储模块731存储的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
其中,转发处理模块733具体用于:查找所述表项存储模块中存储的L3_entry表项中是否有与所述组播报文的地址和VLAN信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到各接口板,以使各接口板分别根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (8)
1.一种组播报文转发方法,应用于包含有主控板和接口板的交换设备,其特征在于,主控板和接口板上均配置有hash表形式的组播表项,该方法包括:
在接口板上配置组播表项时,根据该组播表项的(S,G,V)信息确定该组播表项对应的hash关键字;其中,S表示特定组播源,G表示特定组播组,V表示入口虚拟局域网VLAN;将该组播表项的hash关键字与所述接口板上的L3_entry表项中的用于存储组播表项的hash桶的hash关键字进行比较,如果该组播表项的hash关键字与L3_entry表项中的hash桶的hash关键字相同、且该hash桶当前已经达到最大容量,则在主控板上的L3_entry表项中具有相同hash关键字的hash桶当前未达到最大容量的情况下,将与该接口板上已配置的组播表项发生hash冲突的组播表项(S,G,V)信息配置到主控板上的L3_entry表项中具有相同hash关键字的hash桶中;
当入接口处的接口板接收到组播报文时,从该接口板上配置的组播表项中查找与该组播报文匹配的组播表项,并在查找到匹配的组播表项的情况下,根据该匹配的组播表项对所述组播报文进行转发处理;在未查找到匹配的组播表项的情况下,将该组播报文发送给主控板;
所述主控板从其上配置的组播表项中查找与该组播报文匹配的组播表项,并在查找到匹配的组播表项的情况下,根据该匹配的组播表项对所述组播报文进行转发处理。
2.如权利要求1所述的方法,其特征在于,还包括:在各接口板上配置与所述组播表项的(S,G,V)对应的IPMC表项,在主控板上对应L3_entry表项配置该IPMC表项的索引。
3.如权利要求1或2任一项所述的方法,其特征在于,所述主控板从其上配置的组播表项查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项进行转发处理,包括:
所述主控板查找其上配置的L3_entry表项中是否有与所述组播报文的(S,G,V)信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到其它接口板;
所述其它接口板根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
4.如权利要求3所述的方法,其特征在于,还包括:当所述主控板未查找到与所述组播报文匹配的组播表项时,将所述组播报文上送到CPU处理。
5.一种交换设备,其特征在于,包括:组播表项下发模块、接口板和主控板;其中:
组播表项下发模块,用于在交换设备的接口板上配置组播表项时,将与该接口板上已配置的组播表项发生hash冲突的组播表项配置到主控板上;
接口板,在作为组播入口接收到组播报文时,从该接口板上配置的组播表项中查找与该组播报文匹配的组播表项,如果查找到匹配的组播表项,则根据该匹配的组播表项对所述组播报文进行转发处理;如果未查找到匹配的组播表项,则将该组播报文发送给主控板;
所述主控板,用于从其上配置的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理;
其中,所述组播表项下发模块具体用于,当需要在交换设备的接口板上配置组播表项时,根据该组播表项的(S,G,V)信息确定该组播表项对应的hash关键字;将该组播表项的hash关键字与接口板上的L3_entry表项中的各用于存储组播表项的hash桶的hash关键字进行比较,如果该组播表项的hash关键字与L3_entry表中的hash桶的hash关键字相同、且该hash桶当前已经达到最大容量,则在主控板上的L3_entry表项中具有相同hash关键字的hash桶当前未达到最大容量的情况下,将该组播表项的(S,G,V)信息配置到主控板上的L3_entry表项中具有相同hash关键字的hash桶中。
6.如权利要求5所述的交换设备,其特征在于,所述组播表项下发模块还用于,在主控板上配置与各hash桶对应的IPMC索引,在各接口板上配置与IPMC索引对应的IPMC表项。
7.如权利要求5所述的交换设备,其特征在于,所述主控板,包括:
表项存储模块,为硬件模块,用于存储与接口板上已配置的组播表项发生hash冲突的组播表项;
接收模块,用于接收交换设备的接口板重定向到该主控板的组播报文;
转发处理模块,用于从所述表项存储模块存储的组播表项中查找到与该组播报文匹配的组播表项时,根据该匹配的组播表项对所述组播报文进行转发处理。
8.如权利要求7所述的交换设备,其特征在于,所述转发处理模块具体用于,查找所述表项存储模块中存储的L3_entry表项中是否有与所述组播报文的地址和VLAN信息匹配的组播表项,如果有,则将所述组播报文以及与该匹配的组播表项对应的IPMC索引复制到各接口板,以使各接口板分别根据所述IPMC索引查找到对应的IPMC表项,并根据该IPMC表项中的出接口向下游设备转发所述组播报文。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110100674.5A CN102164084B (zh) | 2011-04-21 | 2011-04-21 | 一种组播报文转发方法及其设备 |
US13/985,829 US20140029614A1 (en) | 2011-04-21 | 2012-04-19 | Forwarding a multicast message |
PCT/CN2012/074340 WO2012142951A1 (en) | 2011-04-21 | 2012-04-19 | Forwarding a multicast message |
EP20120773790 EP2700194A4 (en) | 2011-04-21 | 2012-04-19 | FORWARDING A MULTICAST MESSAGE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110100674.5A CN102164084B (zh) | 2011-04-21 | 2011-04-21 | 一种组播报文转发方法及其设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102164084A CN102164084A (zh) | 2011-08-24 |
CN102164084B true CN102164084B (zh) | 2014-09-10 |
Family
ID=44465065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110100674.5A Active CN102164084B (zh) | 2011-04-21 | 2011-04-21 | 一种组播报文转发方法及其设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140029614A1 (zh) |
EP (1) | EP2700194A4 (zh) |
CN (1) | CN102164084B (zh) |
WO (1) | WO2012142951A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164084B (zh) * | 2011-04-21 | 2014-09-10 | 杭州华三通信技术有限公司 | 一种组播报文转发方法及其设备 |
CN103067284B (zh) * | 2011-10-18 | 2016-01-13 | 清华大学 | 数据中心可扩展组播方法及系统 |
CN102904804B (zh) * | 2012-10-22 | 2015-07-29 | 华为技术有限公司 | 路由转发信息添加方法、报文转发方法及装置、网络设备 |
CN104618329B (zh) * | 2014-12-26 | 2018-06-05 | 曙光信息产业(北京)有限公司 | 数据处理方法及装置 |
CN106656869A (zh) * | 2016-12-30 | 2017-05-10 | 杭州迪普科技股份有限公司 | 一种框式设备中信息同步的方法及系统 |
CN108259365A (zh) * | 2017-01-24 | 2018-07-06 | 新华三技术有限公司 | 组播报文转发方法和装置 |
CN110430135B (zh) * | 2019-07-08 | 2021-10-26 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN113472656B (zh) * | 2021-06-29 | 2023-04-18 | 新华三信息安全技术有限公司 | 一种二层交换设备及其转发组播数据报文的方法 |
CN117411738B (zh) * | 2023-12-15 | 2024-03-08 | 格创通信(浙江)有限公司 | 组播复制方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005458A (zh) * | 2007-01-30 | 2007-07-25 | 华为技术有限公司 | 一种下发路由的方法、装置及系统 |
CN101232444A (zh) * | 2008-01-22 | 2008-07-30 | 杭州华三通信技术有限公司 | 哈希冲突解决方法、装置及具有该装置的交换设备 |
CN101364889A (zh) * | 2008-09-24 | 2009-02-11 | 中兴通讯股份有限公司 | 一种快速接入组播用户的方法 |
CN101692646A (zh) * | 2009-09-17 | 2010-04-07 | 杭州华三通信技术有限公司 | 一种二层转发处理方法和一种分布式设备 |
CN101827028A (zh) * | 2010-04-14 | 2010-09-08 | 杭州华三通信技术有限公司 | 实现组播vpn报文发送的方法及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923654A (en) * | 1996-04-25 | 1999-07-13 | Compaq Computer Corp. | Network switch that includes a plurality of shared packet buffers |
US6442617B1 (en) * | 1999-03-31 | 2002-08-27 | 3Com Corporation | Method and system for filtering multicast packets in a peripheral component environment |
CN1921402B (zh) * | 2006-08-15 | 2012-07-04 | 华为技术有限公司 | 一种组播业务处理方法以及系统 |
GB2462493B (en) * | 2008-08-13 | 2012-05-16 | Gnodal Ltd | Data processing |
CN102164084B (zh) * | 2011-04-21 | 2014-09-10 | 杭州华三通信技术有限公司 | 一种组播报文转发方法及其设备 |
-
2011
- 2011-04-21 CN CN201110100674.5A patent/CN102164084B/zh active Active
-
2012
- 2012-04-19 EP EP20120773790 patent/EP2700194A4/en not_active Withdrawn
- 2012-04-19 WO PCT/CN2012/074340 patent/WO2012142951A1/en active Application Filing
- 2012-04-19 US US13/985,829 patent/US20140029614A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005458A (zh) * | 2007-01-30 | 2007-07-25 | 华为技术有限公司 | 一种下发路由的方法、装置及系统 |
CN101232444A (zh) * | 2008-01-22 | 2008-07-30 | 杭州华三通信技术有限公司 | 哈希冲突解决方法、装置及具有该装置的交换设备 |
CN101364889A (zh) * | 2008-09-24 | 2009-02-11 | 中兴通讯股份有限公司 | 一种快速接入组播用户的方法 |
CN101692646A (zh) * | 2009-09-17 | 2010-04-07 | 杭州华三通信技术有限公司 | 一种二层转发处理方法和一种分布式设备 |
CN101827028A (zh) * | 2010-04-14 | 2010-09-08 | 杭州华三通信技术有限公司 | 实现组播vpn报文发送的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2700194A4 (en) | 2015-01-14 |
WO2012142951A1 (en) | 2012-10-26 |
US20140029614A1 (en) | 2014-01-30 |
CN102164084A (zh) | 2011-08-24 |
EP2700194A1 (en) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102164084B (zh) | 一种组播报文转发方法及其设备 | |
CN102223365B (zh) | 基于ssl vpn网关集群的用户接入方法及其装置 | |
EP2833581B1 (en) | Method and device for supporting content subscription in content network | |
US9787618B2 (en) | Content-centric network communication method and apparatus | |
US8782160B2 (en) | Cluster control system, cluster control method, and program | |
CN104811371B (zh) | 一种全新的即时通信系统 | |
CN103441932B (zh) | 一种主机路由表项生成方法及设备 | |
EP2896190A1 (en) | Discovering ip multicast group memberships in software defined networks | |
CN103918230B (zh) | 对网络设备背景中的转发数据库进行同步 | |
CN101877671A (zh) | 镜像报文的发送方法、交换芯片及以太网路由器 | |
CN101286990A (zh) | 二层组播的转发方法和装置 | |
CN101616014A (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
CN105991445A (zh) | 链路聚合组的设置方法和装置 | |
CN103747083A (zh) | 一种基于ccn的内容推送方法 | |
CN101729425A (zh) | Vrrp组网中流量发送的方法及设备 | |
CN103338152A (zh) | 一种组播报文转发方法和主控板 | |
CN100444586C (zh) | 报文转发方法及设备 | |
CN103532851B (zh) | 分布式链路聚合网络中的数据流处理方法和装置 | |
CN101651626A (zh) | 一种流量转发的方法及设备 | |
CN110391919B (zh) | 组播流量转发方法、装置、电子设备 | |
US10742431B2 (en) | Centralized database based multicast converging | |
CN102970239A (zh) | 流处理方法、流处理装置、路由器及流处理系统 | |
CN104836734A (zh) | 一种全新的即时通信路由方法和路由器 | |
CN101986623B (zh) | Vpls mac表项空间的配置方法和装置 | |
WO2020119317A1 (zh) | 报文转发方法及装置、存储介质、电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |