CN107547372B - 一种源过滤实现方法及装置 - Google Patents
一种源过滤实现方法及装置 Download PDFInfo
- Publication number
- CN107547372B CN107547372B CN201710763542.8A CN201710763542A CN107547372B CN 107547372 B CN107547372 B CN 107547372B CN 201710763542 A CN201710763542 A CN 201710763542A CN 107547372 B CN107547372 B CN 107547372B
- Authority
- CN
- China
- Prior art keywords
- port
- source
- stacking
- stack
- member device
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种源过滤实现方法及装置,该方法包括:通过任一堆叠口接收带有第一堆叠头的第一多播报文;所述第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID;根据所述第一堆叠头中携带的源ID查询设备ID过滤表;当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有所述第一堆叠头的第一多播报文。应用本发明实施例,可以细化源ID分配的粒度,提高源过滤处理的精确度。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种源过滤实现方法及装置。
背景技术
堆叠是指将多台设备连接在一起,进行必要的配置后,虚拟化成一台设备。使用这种虚拟化技术可以集合多台设备的硬件资源和软件处理能力,实现多台设备的协同工作、统一管理和不间断维护。堆叠中每台设备都称为成员设备,都有属于自身的唯一标识。
堆叠的连接拓扑可以包括链形连接和环形连接,相应的堆叠***可以称为链形堆叠和环形堆叠。
由于多播报文会在堆叠口都配置为转发,因此,在环形堆叠中,为了防止多播报文通过堆叠链路形成环网风暴,需要对堆叠链路上转发的报文进行基于源成员设备的过滤阻断。
目前,堆叠***中的成员设备主要是通过多播报文的堆叠口中携带的源ID(标识)识别多播报文的源成员设备,进而对多播报文进源过滤处理的。
其中,堆叠***的源ID分配通常是基于堆叠***中成员设备的编号来分匹配,例如,堆叠***中成员设备1对应的源ID为1,成员设备2对应的源ID为2,依此类推。相应地,从成员设备1进入堆叠***中的报文的源ID为1,从成员设备2进入的报文的源ID标识为2,依此类推。
然而实践发现,上述源ID分配方案中,源ID对应成员设备分配,每一个成员设备分配一个源ID,源ID分配粒度较大,相应地,基于该源ID分配方案实现的过滤处理时,也仅能进行基于源成员设备的源过滤处理,源过滤处理的精确度也较差。
发明内容
本发明提供一种源过滤实现方法及装置,以细化源ID分配的粒度,提高源过滤处理的精确度。
根据本发明实施例的第一方面,提供一种源过滤实现方法,应用于环形堆叠***中的任一成员设备,该方法包括:
通过任一堆叠口接收带有第一堆叠头的第一多播报文;所述第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID;
根据所述第一堆叠头中携带的源ID查询设备ID过滤表;
当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有所述第一堆叠头的第一多播报文。
根据本发明实施例的第二方面,提供一种源过滤实现装置,应用于环形堆叠***中的任一成员设备,该装置包括:
接收单元,用于通过任一堆叠口接收带有第一堆叠头的第一多播报文;所述第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID;
查询单元,用于根据所述第一堆叠头中携带的源ID查询设备ID过滤表;
发送单元,用于当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有所述第一堆叠头的第一多播报文。
应用本发明实施例,通过为堆叠***中各成员设备的各非堆叠口配置对应的源ID,细化了源ID分配的粒度;当通过任一堆叠口接收到带有第一堆叠头的第一多播报文,根据第一堆叠头中携带的源ID查询设备ID过滤表,当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有第一堆叠头的第一多播报文,通过为环形堆叠***中各成员设备的各非堆叠口配置对应的源ID,与每个成员设备分配一个源ID的实现方式相比,细化了源ID分配的粒度,进而,基于该源ID进行源过滤处理时,可以提高源过滤处理的精确度。
附图说明
图1是本发明实施例提供的一种源过滤实现方法的流程示意图;
图2是本发明实施例提供的另一种源过滤实现方法的流程示意图;
图3是本发明实施例提供的一种环形堆叠的结构示意图;
图4是本发明实施例提供的一种源过滤实现装置的结构示意图;
图5是本发明实施例提供的另一种源过滤实现装置的结构示意图;
图6是本发明实施例提供的另一种源过滤实现装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种源过滤实现方法的流程示意图,其中,该报文转发方法可以应用于环形堆叠中的任一成员设备,如图1所示,该源过滤实现方法可以包括以下步骤:
步骤101、通过任一堆叠口接收带有第一堆叠头的第一多播报文,该第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID。
本发明实施例中,为了细化环形堆叠中各成员设备的源ID分配的粒度,环形堆叠中各成员设备可以为自身各非堆叠口分配不同的源ID。
相应地,环形堆叠内转发的多播报文的堆叠头中携带的源ID对应于该多播报文的源成员设备的设备ID以及该源成员设备接收到该多播报文的非堆叠口的端口ID。
步骤102、根据第一堆叠头中携带的源ID查询设备ID过滤表。
本发明实施例中,环形堆叠中各成员设备上均保存有用于对多播报文进行源成员设备过滤的设备ID过滤表,该设备ID过滤表可以用于指示成员设备拒绝转发指定源成员设备发出的多播报文。
相应地,当环形堆叠口中任一成员设备通过任一堆叠口接收到带有堆叠头(本文中称为第一堆叠头)的多播报文(本文中称为第一多播报文)时,该成员设备可以获取该第一堆叠头中携带的源ID,并根据该源ID查询设备ID过滤表,以确定是否存在匹配的设备ID过滤表项。
步骤103、当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有该第一堆叠头的第一多播报文。
本发明实施例中,当成员设备根据第一堆叠头中携带的源ID未查询到匹配的设备ID过滤表项时,成员设备可以拒绝通过另一堆叠口(接收到多播报文的堆叠口之外的另一堆叠口)转发该带有第一堆叠头的第一多播报文。
可见,在图1所示的方法流程中,通过为环形堆叠中各成员设备各堆叠口分别分配不同的源ID,细化了源ID分配粒度;此外,通过配置设备ID过滤表,并根据从堆叠口接收到的多播报文中携带的源ID以及该设备ID过滤表项进行源过滤,可以避免多播报文在环形堆叠中形成环路。
进一步地,如图2所示,在本发明其中一个实施例中,上述根据第一堆叠头中携带的源ID查询设备ID过滤表之后,还可以包括以下步骤:
步骤104、当不存在匹配的设备ID过滤表项时,根据第一堆叠头中携带的源ID查询端口ID过滤表。
在该实施例中,为了提高源过滤处理的精确度,实现基于源成员设备指定端口的多播报文过滤,环形堆叠中各成员设备还可以保存有用于对多播报文进行指定端口过滤的设备ID过滤表,该端口ID过滤表用于指示成员设备对指定源成员设备的指定端口的多播报文进行过滤阻断,即拒绝转发通过指定源成员设备的指定端口进入堆叠***的多播报文。
相应地,在该实施例中,当成员设备根据第一堆叠头中携带的源ID未查询到匹配的设备ID过滤表项时,该成员设备可以进一步根据该源ID查询端口ID过滤表,以确定是否存在匹配的端口ID过滤表项。
步骤105、当存在匹配的端口ID过滤表项时,拒绝通过另一堆叠口转发该多播报文。
在该实施例中,当成员设备根据第一堆叠头中携带的源ID查询到匹配的端口ID过滤表项时,该成员设备可以拒绝通过另一堆叠口转发该多播报文。
需要说明的是,在本发明实施例中,当成员设备根据第一堆叠头中携带的源ID未查询到匹配的设备ID过滤表项,也未查询到匹配的端口ID过滤表时,该成员设备可以通过另一堆叠口转发该多播报文,或者按其它策略进行处理,本发明实施例对此不做限定。
可见,在图2所示方法流程中,通过配置端口ID过滤表,实现了基于具体端口的过滤,提高了源过滤处理的精确度。
在本发明其中一个实施例中,上述通过任一堆叠口接收到带有第一堆叠头的第一多播报文之前,还可以包括:
通过任一非堆叠口接收第二多播报文;
复制第二多播报文;
为接收到的第二多播报文添加第二堆叠头,将接收到第二多播报文的非堆叠口的源ID携带在第二多播报文的第二堆叠头;
为复制的第二多播报文添加第三堆叠头,将接收到第二多播报文的非堆叠口的源ID携带在复制的第二多播报文的第三堆叠头;
分别通过两个堆叠口发送添加了第二堆叠头的第二多播报文和添加了第三堆叠头的复制的第二多播报文。
在该实施例中,由于环形堆叠中各成员设备分别通过两个堆叠口与相邻的两个其他成员设备建立堆叠链路,因此,当任一成员设备从非堆叠口接收到多播报文时,该成员设备需要分别通过自身的两个堆叠口转发该多播报文。
相应地,当成员设备通过任一非堆叠口接收到多播报文(本文中称为第二多播报文)时,该成员设备可以复制该第二多播报文,以得到复制的第二多播报文,并分别为收到的第二多播报文和复制的第二多播报文添加堆叠头(本文中分别称为第二堆叠头和第三堆叠头),将接收到第二多播报文的非堆叠口对应的源ID分别携带在该第二堆叠头和第三堆叠头中,进而,该成员设备可以分别通过自身的两个堆叠口发送添加了第二堆叠头的第二多播报文和添加了第三堆叠头的复制的第二多播报文。
在本发明其中一个实施例中,上述通过任一堆叠口接收的带有第一堆叠头的第一多播报文之前,还可以包括:
为每个非堆叠口分配不同的源ID;
通过自身的两个堆叠口向其他成员设备发送自身的设备ID及每个非堆叠口的端口ID和源ID;
通过两个堆叠口接收其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID;
根据环形堆叠***的拓扑、其他成员设备的设备ID生成设备ID过滤表;
根据环形堆叠***的拓扑、其他成员设备的每个非堆叠口的端口ID和源ID、以及预设的入端口过滤规则生成端口ID过滤表。
在该实施例中,为了细化环形堆叠中各成员设备的源ID分配的粒度,环形堆叠中各成员设备可以为自身各非堆叠口分配不同的源ID。
例如,假设成员设备1上包括10个非堆叠口(分别为非堆叠口1~非堆叠口10),则可以预先为成员设备1的非堆叠口1~非堆叠口10分别分配对应的源ID(如1~10),即成员设备1的非堆叠口1的源ID为1,成员设备1的非堆叠口2的源ID为2,…成员设备1的非堆叠口10的源ID为10。
当环形堆叠中各成员设备为自身的各非堆叠口配置不同的源ID之后,各成员设备可以通过自身的两个堆叠口向其他成员设备发送自身的设备ID、每个非堆叠口的端口ID和源ID,并通过自身的两个堆叠口接收到其他成员设备发送的设备ID及每个非堆叠口的端口ID和源ID。
需要说明的是,在本发明实施例中,当环形堆叠中的成员设备通过自身其中一个堆叠口接收到其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID,且该设备ID不是自身另一堆叠口连接的成员设备的设备ID时,该成员设备可以进一步将接收到的设备ID及其每个非堆叠口的端口ID和源ID通过该另一堆叠口转发给对应的成员设备,以便任一成员设备的设备ID及其每个非堆叠口的端口ID和源ID能被环形堆叠中其它所有成员设备均接收到,且任一成员设备均能接收到环形堆叠中其它所有成员设备的设备ID及其每个非堆叠口的端口ID和源ID。
在该实施例中,一方面,环形堆叠中的成员设备接收到其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID之后,可以根据环形堆叠***的拓扑、其他成员设备的设备ID生成设备ID过滤表,该设备ID过滤表用于指示成员设备拒绝转发对应设备ID的源成员设备发送的多播报文,以避免多播报文在环形堆叠中形成环路,其中,成员设备生成设备ID过滤表的具体实现可以参见现有相关方案中的相关描述,本发明实施例在此不再赘述。
举例来说,假设成员设备3确定需要对成员设备1的多播报文进行过滤阻断,且成员设备1上各非堆叠口配置的源ID包括1~10,则成员设备3生成的设备ID过滤表可以如表1所示:
表1
另一方面,为了提高源过滤处理的精确度,实现基于源成员设备指定端口的多播报文过滤,可以预先在环形堆叠中各成员设备上配置相应的入端口过滤规则,该入端口过滤规则用于指示成员设备拒绝转发指定源成员设备上的指定端口进入环形堆叠的多播报文。
相应地,环形堆叠中的成员设备接收到其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID之后,还可以根据环形堆叠***的拓扑、其他成员设备的每个非堆叠口的端口ID和源ID、以及预设的入端口过滤规则生成端口ID过滤表。
例如,假设成员设备3上配置有用于指示成员设备3拒绝转发成员设备2上的非堆叠口1~5(端口ID为别为port1~port5)进入的多播报文,则当成员设备3接收到成员设备2发送的设备ID及其每个非堆叠口的端口ID和源ID如表2所示时:
表2
则,成员设备3可以生成如表3所示的端口ID过滤表:
表3
本发明实施例中,上述各成员设备上的非堆叠口可以是物理端口或聚合端口。
相应地,在本发明其中一个实施例中,非堆叠口为物理端口,该非堆叠口的源ID通过以下方式配置:
Source ID(port i)=B+i-1;其中,Source ID(port i)为物理端口i的源ID,B为成员设备的源ID的基数,M为成员设备的物理端口数量;1≤i≤M。
非堆叠口为聚合端口,该非堆叠口的源ID通过以下方式配置:
Source ID(ag j)=(B+N)+j-1;其中,Source ID(ag j)为聚合组j的源ID,B为该成员设备的源ID的基数,1≤j≤N,N为该成员设备支持的聚合组的数量。
在该实施例中,当需要为环形堆叠中任一成员设备配置源ID时,可以根据该成员设备的物理端口数量以及该成员设备所支持的聚合组的数量为该成员设备配置一个源ID范围;其中,该源ID范围可以为分配给目标成员设备的源ID的基数~该源ID的基数+物理端口数量+支持的聚合组的数量-1。
举例来说,假设成员设备1上的物理端口数为10,支持的聚合组的数量为20,分配给成员设备1的源ID的基数为0,则目标成员设备分配的源ID范围为0~29(0+10+20-1=29)。
进一步地,环形堆叠中任一成员设备可以将所配置的源ID范围中的各源ID分别分配给自身的各物理端口和聚合组。
例如,成员设备1的物理端口1的源ID为0,物理端口2的源ID为1…物理端口10的源ID为9;聚合组1的源ID为10,聚合组2的源ID为11…聚合组20的源ID为29。
应该认识到,该实施例中描述的源ID的配置方法仅仅是本发明实施例中为成员设备上各端口配置源ID的一种具体示例,而并不属于对本发明保护范围的限定,也即,在本发明实施例中,也可以通过其它方式为成员设备上各端口配置源ID,例如,为成员设备分配一个源ID范围后,由该成员设备随机将该源ID范围内的各源ID分配给该成员设备的各物理端口和聚合组。
可见,在本发明实施例中,源过滤处理不仅可以针对成员设备的物理端口,还可以针对成员设备上的逻辑端口,提高了源过滤处理的适用性和灵活性。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面具体的应用场景对本发明实施例提供的技术方案进行说明。
以图3所示环形堆叠为例,在该实施例中,假设各成员设备的物理端口数为64,所支持的聚合组的数量为128;成员设备310上分配的源ID范围为0~191,该源ID范围内的源ID依次分配给成员设备310上的各物理端口和各聚合组,即物理端口1的源ID为0,物理端口2的源ID为1…物理端口64的源ID为63,聚合组1的源ID为64,聚合组2的源ID为65…聚合组128的源ID为191(下同);成员设备320上分配的源ID范围为192~383;成员设备330上分配的源ID范围为384~575;成员设备340上分配的源ID范围为576~767;成员设备350上分配的源ID范围为768~959;各成员设备上记录有其他成员设备与该其他成员设备上各端口配置的源ID的对应关系。
各成员设备会通过自身堆叠口将自身的设备ID及每个非堆叠口的端口ID和源ID通知给其他成员设备,并通过自身堆叠口接收其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID。
在该实施例中,成员设备330需要对源成员设备为成员设备310的多播报文进行过滤阻断,相应地,成员设备330生成的设备ID过滤表可以如表4所示:
表4
假设成员设备330上配置有用于指示成员设备330拒绝转发从成员设备330的物理端口1~32,聚合组1~64中的聚合端口进入环形堆叠的多播报文的入端口过滤规则,则成员设备330生成的端口ID过滤表可以如表5所述:
表5
在该实施例中,成员设备330接收到多播报文之后的处理流程如下:
1、当成员设备330从非堆叠口接收到多播报文时,一方面,成员设备330可以根据接收到该多播报文的非堆叠口为该多播报文分配对应的源ID;另一方面,成员设备330需要对接收到的多播报文进行复制,以得到该多播报文的复制报文,进而,成员设备330可以分别为该多播报文和该多播报文的复制报文增加堆叠头,将为该多播报文分配的源ID分别携带在该多播报文和该多播报文的复制报文的堆叠头中,并分别通过堆叠口a和堆叠口b转发该多播报文和该多播报文的复制报文;
2、当成员设备330从堆叠口b接收到多播报文时,成员设备330可以获取该多播报文的堆叠头中携带的源ID,并根据该源ID查询如表4所示的设备ID过滤表,并当查询到匹配的设备ID过滤表项时,拒绝通过堆叠口a转发该多播报文;
在该实施例中,当成员设备330获取到的该多播报文中携带的源ID为0~191中的任一个时,即该多播报文的源成员设备为成员设备310;成员设备330根据该源ID将查询到匹配的设备ID过滤表项,此时,成员设备330将拒绝将接收到的多播报文通过堆叠口a转发给成员设备340;
可见,在该实施例中,成员设备310发出的多播报文会在成员设备330和成员设备340之间的堆叠链路进行阻断,避免了多播报文在环形堆叠中形成环路,导致堆叠内部报文风暴。
3、当成员设备330根据从堆叠口b接收到的多播报文中携带的源ID未查询到匹配的设备ID过滤表项时,成员设备可以进一步根据该源ID查询如表5所示的端口ID过滤表,当查询到匹配的端口ID过滤表项时,拒绝通过端口a转发该多播报文;
在该实施例中,当成员设备330获取到的该多播报文中携带的源ID为0~191之外的任一个时,成员设备330将进一步根据该源ID查询如表5所示的端口ID过滤表;
当成员设备330获取到的该多播报文中携带的源ID为192~223、256~319中的任一个时,即该多播报文是从成员设备320的物理端口1~32,聚合组1~64中的聚合端口中的其中一个非堆叠口进入环形堆叠的,成员设备330根据该源ID将查询到匹配的设备ID过滤表项,此时,成员设备330将拒绝将接收到的多播报文通过堆叠口a转发给成员设备340;
可见,在该实施例中,可以实现针对源成员设备的指定入端口的源过滤,提高了源过滤处理的精确度。
4、当成员设备330根据从堆叠口b接收到的多播报文中携带的源ID未查询到匹配的设备ID过滤表项以及端口ID过滤表项时,成员设备330通过端口a将该多播报文转发给成员设备340;
在该实施例中,当成员设备330获取到的该多播报文中携带的源ID为0~223以及256~319之外的任一个时,成员设备330根据该源ID将查询不到匹配的设备ID过滤表项以及端口ID过滤表项,此时,成员设备330通过端口a将该多播报文转发给成员设备340。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过为堆叠***中各成员设备的各非堆叠口配置对应的源ID,细化了源ID分配的粒度;当通过任一堆叠口接收到带有第一堆叠头的第一多播报文,根据第一堆叠头中携带的源ID查询设备ID过滤表,当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有第一堆叠头的第一多播报文,通过为环形堆叠***中各成员设备的各非堆叠口配置对应的源ID,与每个成员设备分配一个源ID的实现方式相比,细化了源ID分配的粒度,进而,基于该源ID进行源过滤处理时,可以提高源过滤处理的精确度。
请参见图4,为本发明实施例提供的一种源过滤实现装置的结构示意图,其中,该装置可以应用于上述方法实施例中的环形堆叠***中的任一成员设备,如图4所示,该装置可以包括:
接收单元410,用于通过任一堆叠口接收带有第一堆叠头的第一多播报文;第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID;
查询单元420,用于根据第一堆叠头中携带的源ID查询设备ID过滤表;
发送单元430,用于当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有第一堆叠头的第一多播报文。
在可选实施例中,查询单元420,还用于当不存在匹配的设备ID过滤表项时,根据第一堆叠头中携带的源ID查询端口ID过滤表;
发送单元430,还用于当存在匹配的端口ID过滤表项时,拒绝通过另一堆叠口转发该多播报文。
请一并参见图5,为本发明实施例提供的另一种源过滤实现装置的结构示意图,在图4所示源过滤实现装置的基础上,图5所示的源过滤实现装置还可以包括:复制单元440和报文处理单元450;其中:
接收单元310,还用于通过任一非堆叠口接收第二多播报文;
复制单元440,用于复制第二多播报文;
报文处理单元450,用于为接收到的第二多播报文添加第二堆叠头,将接收第二多播报文的非堆叠口的源ID携带在第二多播报文的第二堆叠头;为复制的第二多播报文添加第三堆叠头,将接收到第二多播报文的非堆叠口的源ID携带在复制的第二多播报文的第三堆叠头;
发送单元430,还用于分别通过两个堆叠口发送添加了第二堆叠头的第二多播报文和添加了第三堆叠头的复制的第二多播报文。
请一并参见图6,为本发明实施例提供的另一种源过滤实现装置的结构示意图,在图4或图5所示源过滤实现装置的基础上(该实施例中以在图4的基础上进行优化为例),图6所示的源过滤实现装置还可以包括:分配单元460和生成单元470;其中:
分配单元460,用于为每个非堆叠口分配不同的源ID;
发送单元430,还用于通过自身的两个堆叠口向其他成员设备发送自身的设备ID及每个非堆叠口的端口ID和源ID;
接收单元410,还用于通过两个堆叠口接收其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID;
生成单元470,用于根据环形堆叠***的拓扑、其他成员设备的设备ID生成设备ID过滤表;根据环形堆叠***的拓扑、其他成员设备的每个非堆叠口的端口ID和源ID、以及预设的入端口过滤规则生成端口ID过滤表。
在可选实施例中,各成员设备上的非堆叠口可以是物理端口或聚合端口;
非堆叠口为物理端口,该非堆叠口的源ID通过以下方式配置:
Source ID(port i)=B+i-1;其中,Source ID(port i)为物理端口i的源ID,B为成员设备的源ID的基数,M为成员设备的物理端口数量;1≤i≤M;
非堆叠口为聚合端口,该非堆叠口的源ID通过以下方式配置:
Source ID(ag j)=(B+N)+j-1;其中,Source ID(ag j)为聚合组j的源ID,B为该成员设备的源ID的基数,1≤j≤N,N为该成员设备支持的聚合组的数量。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过为堆叠***中各成员设备的各非堆叠口配置对应的源ID,细化了源ID分配的粒度;当通过任一堆叠口接收到带有第一堆叠头的第一多播报文,根据第一堆叠头中携带的源ID查询设备ID过滤表,当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有第一堆叠头的第一多播报文,通过为环形堆叠***中各成员设备的各非堆叠口配置对应的源ID,与每个成员设备分配一个源ID的实现方式相比,细化了源ID分配的粒度,进而,基于该源ID进行源过滤处理时,可以提高源过滤处理的精确度。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (8)
1.一种源过滤实现方法,应用于环形堆叠***中的任一成员设备,其特征在于,该方法包括:
通过任一堆叠口接收带有第一堆叠头的第一多播报文;所述第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID;环形堆叠中各成员设备为自身各非堆叠口分配了不同的源ID;
根据所述第一堆叠头中携带的源ID查询设备ID过滤表;
当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有所述第一堆叠头的第一多播报文;其中,根据所述第一堆叠头中携带的源ID查询设备ID过滤表之后,还包括:
当不存在匹配的设备ID过滤表项时,根据所述第一堆叠头中携带的源ID查询端口ID过滤表;
当存在匹配的端口ID过滤表项时,拒绝通过另一堆叠口转发该多播报文。
2.根据权利要求1所述的方法,其特征在于,通过任一堆叠口接收到带有第一堆叠头的第一多播报文之前,所述方法还包括:
通过任一非堆叠口接收第二多播报文;
复制所述第二多播报文;
为接收到的多播报文添加第二堆叠头,将接收所述第二多播报文的非堆叠口的源ID携带在所述第二多播报文的第二堆叠头;
为复制的第二多播报文添加第三堆叠头,将接收到所述第二多播报文的非堆叠口的源ID携带在复制的第二多播报文的第三堆叠头;
分别通过两个堆叠口发送添加了第二堆叠头的第二多播报文和添加了第三堆叠头的复制的第二多播报文。
3.根据权利要求1或2所述的方法,其特征在于,通过任一堆叠口接收的带有第一堆叠头的第一多播报文之前,所述方法还包括:
为每个非堆叠口分配不同的源ID;
通过自身的两个堆叠口向其他成员设备发送自身的设备ID及每个非堆叠口的端口ID和源ID;
通过所述两个堆叠口接收其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID;
根据所述环形堆叠***的拓扑、其他成员设备的设备ID生成所述设备ID过滤表;
根据所述环形堆叠***的拓扑、其他成员设备的每个非堆叠口的端口ID和源ID、以及预设的入端口过滤规则生成所述端口ID过滤表。
4.根据权利要求1或2所述的方法,其特征在于,所述各成员设备上的非堆叠口可以是物理端口或聚合端口;
非堆叠口为物理端口,该非堆叠口的源ID通过以下方式配置:
SourceID(porti)=B+i-1;其中,SourceID(porti)为物理端口i的源ID,B为成员设备的源ID的基数,M为成员设备的物理端口数量;1≤i≤M;
非堆叠口为聚合端口,该非堆叠口的源ID通过以下方式配置:
SourceID(ag j)=(B+N)+j-1;其中,SourceID(ag j)为聚合组j的源ID,B为该成员设备的源ID的基数,1≤j≤N,N为该成员设备支持的聚合组的数量。
5.一种源过滤实现装置,应用于环形堆叠***中的任一成员设备,其特征在于,该装置包括:
接收单元,用于通过任一堆叠口接收带有第一堆叠头的第一多播报文;所述第一堆叠头中携带的源ID对应于另一成员设备的设备ID以及一个非堆叠口的端口ID;环形堆叠中各成员设备为自身各非堆叠口分配了不同的源ID;
查询单元,用于根据所述第一堆叠头中携带的源ID查询设备ID过滤表;
发送单元,用于当存在匹配的设备ID过滤表项时,拒绝通过另一堆叠口转发带有所述第一堆叠头的第一多播报文;其中,
所述查询单元,还用于当不存在匹配的设备ID过滤表项时,根据所述第一堆叠头中携带的源ID查询端口ID过滤表;
所述发送单元,还用于当存在匹配的端口ID过滤表项时,拒绝通过另一堆叠口转发该多播报文。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:复制单元和报文处理单元;其中:
所述接收单元,还用于通过任一非堆叠口接收第二多播报文;
所述复制单元,用于复制所述第二多播报文;
所述报文处理单元,用于为接收到的所述第二多播报文添加第二堆叠头,将接收所述第二多播报文的非堆叠口的源ID携带在所述第二多播报文的第二堆叠头;为复制的第二多播报文添加第三堆叠头,将接收到所述第二多播报文的非堆叠口的源ID携带在复制的第二多播报文的第三堆叠头;
所述发送单元,还用于分别通过两个堆叠口发送添加了第二堆叠头的第二多播报文和添加了第三堆叠头的复制的第二多播报文。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:分配单元和生成单元;其中:
所述分配单元,用于为每个非堆叠口分配不同的源ID;
所述发送单元,还用于通过自身的两个堆叠口向其他成员设备发送自身的设备ID及每个非堆叠口的端口ID和源ID;
所述接收单元,还用于通过所述两个堆叠口接收其他成员设备发送的设备ID及其每个非堆叠口的端口ID和源ID;
所述生成单元,用于根据所述环形堆叠***的拓扑、其他成员设备的设备ID生成所述设备ID过滤表;根据所述环形堆叠***的拓扑、其他成员设备的每个非堆叠口的端口ID和源ID、以及预设的入端口过滤规则生成所述端口ID过滤表。
8.根据权利要求5或6所述的装置,其特征在于,所述各成员设备上的非堆叠口可以是物理端口或聚合端口;
非堆叠口为物理端口,该非堆叠口的源ID通过以下方式配置:
SourceID(porti)=B+i-1;其中,SourceID(porti)为物理端口i的源ID,B为成员设备的源ID的基数,M为成员设备的物理端口数量;1≤i≤M;
非堆叠口为聚合端口,该非堆叠口的源ID通过以下方式配置:
SourceID(ag j)=(B+N)+j-1;其中,SourceID(ag j)为聚合组j的源ID,B为该成员设备的源ID的基数,1≤j≤N,N为该成员设备支持的聚合组的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710763542.8A CN107547372B (zh) | 2017-08-30 | 2017-08-30 | 一种源过滤实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710763542.8A CN107547372B (zh) | 2017-08-30 | 2017-08-30 | 一种源过滤实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547372A CN107547372A (zh) | 2018-01-05 |
CN107547372B true CN107547372B (zh) | 2020-09-08 |
Family
ID=60959197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710763542.8A Active CN107547372B (zh) | 2017-08-30 | 2017-08-30 | 一种源过滤实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547372B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108696459B (zh) * | 2018-04-28 | 2021-04-06 | 新华三技术有限公司 | 堆叠***及报文转发方法 |
CN108900440B (zh) * | 2018-06-27 | 2021-02-26 | 新华三技术有限公司 | 报文转发方法和装置 |
CN109067658B (zh) * | 2018-08-03 | 2021-08-27 | 广州广哈通信股份有限公司 | 接入设备呼叫业务堆叠与转发的方法、存储介质及装置 |
CN109547298B (zh) * | 2019-01-28 | 2020-06-09 | 新华三技术有限公司 | 一种转发路径检测方法及装置 |
CN109639573B (zh) * | 2019-01-28 | 2021-05-25 | 新华三技术有限公司 | 一种源过滤检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414773A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 堆叠***中的mac地址信息同步方法及装置 |
CN103607351A (zh) * | 2013-10-31 | 2014-02-26 | 杭州华三通信技术有限公司 | 一种芯片转发表项生成方法及设备 |
CN103763196A (zh) * | 2014-01-27 | 2014-04-30 | 杭州华三通信技术有限公司 | 一种多播源过滤表项处理方法和装置 |
US9853889B2 (en) * | 2013-05-20 | 2017-12-26 | Brocade Communications Systems, Inc. | Broadcast and multicast traffic reduction in stacking systems |
-
2017
- 2017-08-30 CN CN201710763542.8A patent/CN107547372B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9853889B2 (en) * | 2013-05-20 | 2017-12-26 | Brocade Communications Systems, Inc. | Broadcast and multicast traffic reduction in stacking systems |
CN103414773A (zh) * | 2013-08-12 | 2013-11-27 | 杭州华三通信技术有限公司 | 堆叠***中的mac地址信息同步方法及装置 |
CN103607351A (zh) * | 2013-10-31 | 2014-02-26 | 杭州华三通信技术有限公司 | 一种芯片转发表项生成方法及设备 |
CN103763196A (zh) * | 2014-01-27 | 2014-04-30 | 杭州华三通信技术有限公司 | 一种多播源过滤表项处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107547372A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547372B (zh) | 一种源过滤实现方法及装置 | |
US8670453B2 (en) | Isolating network traffic in multi-tenant virtualization environments | |
JP6490205B2 (ja) | フローエントリ構成の方法、装置及びシステム | |
CN112737690B (zh) | 一种光线路终端olt设备虚拟方法及相关设备 | |
CN105379218A (zh) | 业务流的处理方法、装置及设备 | |
EP3119047B1 (en) | Load balancing method, apparatus and system | |
CN108702316B (zh) | 一种vnf的资源分配方法及装置 | |
US9419940B2 (en) | IPv4 data center support for IPv4 and IPv6 visitors | |
CN105099898A (zh) | 一种pppoe报文转发方法以及bras服务器 | |
CN105939267B (zh) | 带外管理方法及装置 | |
CN105338003A (zh) | 一种应用于软件定义网络的防火墙实现方法 | |
CN110290044B (zh) | 一种vpn网络和主干网络的分流方法、装置及存储介质 | |
CN109194525A (zh) | 一种网络节点配置方法及管理节点 | |
CN104243608A (zh) | 一种通信方法、云管理服务器及虚拟交换机 | |
KR20170076064A (ko) | 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램 | |
US11765575B2 (en) | Apparatus, method and computer program | |
CN108259329B (zh) | 一种报文转发方法及装置 | |
US8677471B2 (en) | Port allocation in a firewall cluster | |
CN108259633B (zh) | 实现管理报文三层通信的方法、***及装置 | |
CN106375219B (zh) | 一种转发报文的方法和装置 | |
EP2713552A1 (en) | Method for processing a multicast group, a data center interconnect router, and system | |
CN107769973B (zh) | 一种报文转发方法及装置 | |
CN107948273B (zh) | 一种基于sdn的负载分担和安全访问方法及*** | |
CN108259345B (zh) | 端口生成方法和装置 | |
CN105357332A (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 |