CN117499345A - 流量过滤方法、装置、电子设备及计算机可读存储介质 - Google Patents

流量过滤方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN117499345A
CN117499345A CN202311458417.8A CN202311458417A CN117499345A CN 117499345 A CN117499345 A CN 117499345A CN 202311458417 A CN202311458417 A CN 202311458417A CN 117499345 A CN117499345 A CN 117499345A
Authority
CN
China
Prior art keywords
pipe unit
panel
pipe
internal
unit combination
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.)
Pending
Application number
CN202311458417.8A
Other languages
English (en)
Inventor
郑成龙
冯建业
周汉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN202311458417.8A priority Critical patent/CN117499345A/zh
Publication of CN117499345A publication Critical patent/CN117499345A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种流量过滤方法、装置、电子设备及计算机可读存储介质,涉及数据通信技术领域,应用于网络分流器,本发明基于预设的需求面板端口数量和需求规则容量,对网络分流器的交换芯片中的多个PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元;确定每个PIPE单元组合对应的面板端口与内部端口的对应关系;将预设数量的过滤规则分发至每个PIPE单元组合中的各个PIPE单元;进而通过各个PIPE单元组合,对接入的原始报文进行流量过滤。这样在不新增硬件资源的情况下,实现了规则容量的倍增。

Description

流量过滤方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及数据通信技术领域,尤其是涉及一种流量过滤方法、装置、电子设备及计算机可读存储介质。
背景技术
网络分流器是一种广泛应用于互联网数据采集与分析领域的网络设备,通常采用骨干网分光的方式实现流量的采集,并将采集的流量进行汇聚、分流等处理后分发给后端的业务分析系统,实现对流量的网络入侵检测和网络探测分析等业务。
随着5G网络的广泛部署和应用以及人工智能、物联网和云计算等新兴技术的快速发展,数据流量的爆发式增长也对网络分流器提出了新的要求,在后端业务系统之前,网络分流器需要对采集的流量进行一定的过滤,这样不仅可以提高系统流量的处理效率,也可以有效降低后端业务系统的整体负载和成本,在此背景下,针对流量过滤的网络分流器设备应运而生。
目前流量过滤网络分流器主要是基于报文的MAC(Media Access Control,媒体访问控制)、VLAN(Virtual Local Area Network,虚拟局域网)、协议类型、IP地址、端口号等内容完成流量过滤,支持掩码匹配或者精确匹配,该功能通常利用交换芯片的片上TCAM(ternary content addressable memory,三态内容寻址存储器)和SRAM(Static Random-Access Memory,静态随机存取存储器)资源实现。规则容量逐渐成为衡量网络分流器能力的一项重要指标,如何有效提升网络分流器的规则容量,成为一个需要分析解决的技术问题。
发明内容
本发明的目的在于提供一种流量过滤方法、装置、电子设备及计算机可读存储介质,以提升网络分流器的规则容量。
第一方面,本发明实施例提供了一种流量过滤方法,应用于网络分流器;所述流量过滤方法包括:
基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,所述PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,所述面板PIPE单元用于提供多个面板端口,所述面板端口用于接入原始报文;所述内部PIPE单元用于提供多个内部端口,所述内部端口采用软件环回设计;
确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系;其中,所述PIPE单元组合中的所述面板PIPE单元的面板端口与每个所述内部PIPE单元的内部端口一一对应;
将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元;其中,所述PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于所述预设数量;
基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。
进一步地,所述基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合,包括:
基于所述需求规则容量和所述PIPE单元支持的规则数量,确定所述PIPE单元的需求串接数量;
基于所述需求串接数量和所述需求面板端口数量,确定所述面板PIPE单元的目标数量;
将所述交换芯片中的所述目标数量个PIPE单元作为所述面板PIPE单元,并将剩余的PIPE单元作为所述内部PIPE单元;
基于所述需求串接数量,对所述面板PIPE单元和所述内部PIPE单元进行组合,得到至少一个所述PIPE单元组合。
进一步地,所述基于所述需求串接数量和所述需求面板端口数量,确定所述面板PIPE单元的目标数量,包括:
基于所述需求面板端口数量和所述PIPE单元支持的端口数量,确定所述面板PIPE单元的下限数量;
基于所述需求串接数量和所述交换芯片的PIPE单元数量,确定所述面板PIPE单元的上限数量;
根据所述面板PIPE单元的下限数量和上限数量,确定所述面板PIPE单元的目标数量。
进一步地,所述确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系,包括:
对于每个所述PIPE单元组合,将该PIPE单元组合中的所述面板PIPE单元的面板端口与各个所述内部PIPE单元的内部端口建立转发关系,得到该PIPE单元组合对应的面板端口与内部端口的对应关系。
进一步地,所述将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元,包括:
对于每个所述PIPE单元组合,根据该PIPE单元组合的PIPE单元数量,将所述预设数量的过滤规则拆分为多份,并分别下发至该PIPE单元组合的各个PIPE单元。
进一步地,所述基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤,包括:
对于每个所述PIPE单元组合,根据该PIPE单元组合对应的面板端口与内部端口的对应关系,生成私有转发规则;其中,所述私有转发规则用于实现该PIPE单元组合中不同PIPE单元之间的报文转发,所述私有转发规则的优先级低于所述过滤规则的优先级;
将所述私有转发规则下发至该PIPE单元组合的除最后一个PIPE单元之外的PIPE单元;
在该PIPE单元组合的每个PIPE单元中,基于存储的所述过滤规则和所述私有转发规则对接入该PIPE单元组合的所述原始报文进行流量过滤。
进一步地,所述在该PIPE单元组合的每个PIPE单元中,基于存储的所述过滤规则和所述私有转发规则对接入该PIPE单元组合的所述原始报文进行流量过滤,包括:
在该PIPE单元组合的当前PIPE单元中对所述原始报文进行所述过滤规则的匹配,得到第一匹配结果;
当所述第一匹配结果为匹配失败时,对所述原始报文进行所述私有转发规则的匹配,得到第二匹配结果;
当所述第二匹配结果为匹配成功时,基于匹配到的私有转发规则将所述原始报文转发至该PIPE单元组合的下一个PIPE单元中;
当所述第二匹配结果为匹配失败时,丢弃所述原始报文。
第二方面,本发明实施例还提供了一种流量过滤装置,应用于网络分流器;所述流量过滤装置包括:
划分组合模块,用于基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,所述PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,所述面板PIPE单元用于提供多个面板端口,所述面板端口用于接入原始报文;所述内部PIPE单元用于提供多个内部端口,所述内部端口采用软件环回设计;
关系确定模块,用于确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系;其中,所述PIPE单元组合中的所述面板PIPE单元的面板端口与每个所述内部PIPE单元的内部端口一一对应;
规则下发模块,用于将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元;其中,所述PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于所述预设数量;
流量过滤模块,用于基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的流量过滤方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面所述的流量过滤方法。
本发明实施例提供的流量过滤方法、装置、电子设备及计算机可读存储介质,应用于网络分流器,在进行流量过滤时,先基于预设的需求面板端口数量和需求规则容量,对网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,面板PIPE单元用于提供多个面板端口,面板端口用于接入原始报文;内部PIPE单元用于提供多个内部端口,内部端口采用软件环回设计;再确定每个PIPE单元组合对应的面板端口与内部端口的对应关系;其中,PIPE单元组合中的面板PIPE单元的面板端口与每个内部PIPE单元的内部端口一一对应;然后将预设数量的过滤规则分发至每个PIPE单元组合中的各个PIPE单元;其中,PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于预设数量;进而基于每个PIPE单元组合中各个PIPE单元得到的过滤规则以及PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。这样在不新增硬件资源的情况下,通过软件方式串联多个PIPE单元得到PIPE单元组合,PIPE单元组合通过PIPE单元的串接实现了规则容量的倍增,因此提升了网络分流器的规则容量。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统网络分流器的面板端口走线示意图;
图2为本发明实施例提供的一种流量过滤方法的流程示意图;
图3为本发明实施例提供的面板端口走线示意图;
图4为本发明实施例提供的规则管理逻辑示意图;
图5为本发明实施例提供的流量转发处理流程图;
图6为本发明实施例提供的一种流量过滤装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以具有四个PIPE(Physical Interface for PCI Express,PCIe物理层接口)单元的网络分流器为例,如图1所示,传统网络分流器的16个面板端口均分在四个PIPE单元上,每个PIPE单元使用四个端口作为面板端口,如Pipe0上的面板端口为P0(F0)、P0(F1)、P0(F2)和P0(F3),Pipe1上的面板端口为P1(F4)、P1(F5)、P1(F6)和P1(F7)等。然而这种方式下每个PIPE单元均需要下发全部的过滤规则,因此,网络分流器的规则容量仅为单个PIPE单元支持的规则数量。现有技术中只能通过增加硬件资源的方式,提升网络分流器的规则容量,这种方式增加了成本。基于此,本发明实施例提供的一种流量过滤方法、装置、电子设备及计算机可读存储介质,可以在不新增硬件资源的情况下,通过软、硬件的优化设计,实现网络分流器的规则容量的倍增。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种流量过滤方法进行详细介绍。
本发明实施例提供了一种流量过滤方法,该方法应用于网络分流器,可以由具有数据处理能力的电子设备执行。参见图2所示的一种流量过滤方法的流程示意图,该方法主要包括如下步骤S202~步骤S208:
步骤S202,基于预设的需求面板端口数量和需求规则容量,对网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元。
面板PIPE单元用于提供多个面板端口,面板端口用于接入原始报文;内部PIPE单元用于提供多个内部端口,内部端口采用软件环回设计。软件环回指通过一端设备的软件支持,用网络管理软件直接将本端设备接收端口(Rx)收到的信号转到发送端发出,以达到对远端设备环回的目的。
在一些可能的实施例中,步骤S202可以通过如下过程实现:基于需求规则容量和PIPE单元支持的规则数量,确定PIPE单元的需求串接数量;基于需求串接数量和需求面板端口数量,确定面板PIPE单元的目标数量;将交换芯片中的目标数量个PIPE单元作为面板PIPE单元,并将剩余的PIPE单元作为内部PIPE单元;基于需求串接数量,对面板PIPE单元和内部PIPE单元进行组合,得到至少一个PIPE单元组合。
在一种可能的实现方式中,PIPE单元的需求串接数量可以通过计算需求规则容量与PIPE单元支持的规则数量的商并向上取整得到。例如,需求规则容量为4万条,PIPE单元支持的规则数量为1万条,则PIPE单元的需求串接数量为4。
可选地,面板PIPE单元的目标数量可以通过如下方式得到:基于需求面板端口数量和PIPE单元支持的端口数量,确定面板PIPE单元的下限数量;基于需求串接数量和交换芯片的PIPE单元数量,确定面板PIPE单元的上限数量;根据面板PIPE单元的下限数量和上限数量,确定面板PIPE单元的目标数量。
通常一个网络分流器的交换芯片包括两个或四个PIPE单元,一个PIPE单元最多提供16个端口。在一种可能的实现方式中,上述下限数量可以通过计算需求面板端口数量与PIPE单元支持的端口数量的商并向上取整得到;例如,需求面板端口数量为32,PIPE单元支持的端口数量为16,则下限数量为2。上述上限数量可以通过计算交换芯片的PIPE单元数量与需求串接数量的商并向下取整得到;例如,交换芯片的PIPE单元数量为4,需求串接数量为2,则上限数量为2。在确定目标数量时,可以从下限数量和上限数量之间的值中选择,具体的选择方式可以根据实际需求设置,例如可以选择最大值、最小值或中间值等。当然,如果下限数量和上限数量相同,则直接将下限数量或上限数量作为目标数量。
当存在多个PIPE单元组合时,每个PIPE单元组合分配到的面板端口数量可以是相同的,也可以是不同的,只要各个PIPE单元组合的面板端口总数等于需求面板端口数量即可。具体可以根据实际需求设置。例如,需求面板端口数量为16,两个PIPE单元组合分配到的面板端口数量分别为8、8,或者6、10等。
步骤S204,确定每个PIPE单元组合对应的面板端口与内部端口的对应关系。
其中,PIPE单元组合中的面板PIPE单元的面板端口与每个内部PIPE单元的内部端口一一对应。
在一些可能的实施例中,步骤S204可以通过如下过程实现:对于每个PIPE单元组合,将该PIPE单元组合中的面板PIPE单元的面板端口与各个内部PIPE单元的内部端口建立转发关系,得到该PIPE单元组合对应的面板端口与内部端口的对应关系。通过建立转发关系,实现了PIPE单元组合中的PIPE单元的串联。
步骤S206,将预设数量的过滤规则分发至每个PIPE单元组合中的各个PIPE单元。
其中,PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于预设数量。
在一些可能的实施例中,步骤S206可以通过如下过程实现:对于每个PIPE单元组合,根据该PIPE单元组合的PIPE单元数量,将预设数量的过滤规则拆分为多份,并分别下发至该PIPE单元组合的各个PIPE单元。其中,拆分方式可以但不限于为平均拆分方式。
需要说明的是,对面板PIPE单元和内部PIPE单元进行组合得到的结果中,也可以存在未构成PIPE单元组合的面板PIPE单元,即存在不对应任何内部PIPE单元的面板PIPE单元。例如,共4个PIPE单元,分为两个面板PIPE单元和两个内部PIPE单元,第一面板PIPE单元对应2个内部PIPE单元,第二面板PIPE单元不对应任何内部PIPE单元;若共需60000条规则,则第一面板PIPE单元和2个内部PIPE单元分别分配20000条规则,第二面板PIPE单元分配60000条规则。
步骤S208,基于每个PIPE单元组合中各个PIPE单元得到的过滤规则以及PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。
在一些可能的实施例中,步骤S208可以通过如下过程实现:对于每个PIPE单元组合,根据该PIPE单元组合对应的面板端口与内部端口的对应关系,生成私有转发规则;其中,私有转发规则用于实现该PIPE单元组合中不同PIPE单元之间的报文转发,私有转发规则的优先级低于过滤规则的优先级;将私有转发规则下发至该PIPE单元组合的除最后一个PIPE单元之外的PIPE单元;在该PIPE单元组合的每个PIPE单元中,基于存储的过滤规则和私有转发规则对接入该PIPE单元组合的原始报文进行流量过滤。
在一种可能的实现方式中,一个PIPE单元组合的流量过滤的具体过程如下:在该PIPE单元组合的当前PIPE单元中对原始报文进行过滤规则的匹配,得到第一匹配结果;当第一匹配结果为匹配成功时,可以基于匹配到的过滤规则进行原始报文的转发或丢弃;当第一匹配结果为匹配失败时,对原始报文进行私有转发规则的匹配,得到第二匹配结果;当第二匹配结果为匹配成功时,基于匹配到的私有转发规则将原始报文转发至该PIPE单元组合的下一个PIPE单元中;当第二匹配结果为匹配失败时,丢弃原始报文。私有转发规则不匹配任何信息,因此只要存在私有转发规则,一定能匹配上。
本发明实施例提供的流量过滤方法,应用于网络分流器,在进行流量过滤时,先基于预设的需求面板端口数量和需求规则容量,对网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,面板PIPE单元用于提供多个面板端口,面板端口用于接入原始报文;内部PIPE单元用于提供多个内部端口,内部端口采用软件环回设计;再确定每个PIPE单元组合对应的面板端口与内部端口的对应关系;其中,PIPE单元组合中的面板PIPE单元的面板端口与每个内部PIPE单元的内部端口一一对应;然后将预设数量的过滤规则分发至每个PIPE单元组合中的各个PIPE单元;其中,PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于预设数量;进而基于每个PIPE单元组合中各个PIPE单元得到的过滤规则以及PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。这样在不新增硬件资源的情况下,通过软件方式串联多个PIPE单元得到PIPE单元组合,PIPE单元组合通过PIPE单元的串接实现了规则容量的倍增,因此提升了网络分流器的规则容量。
本发明实施例还提供了一种网络分流器面板端口走线的设计方法(即硬件的优化设计),包括:
a)面板端口以独占交换芯片的一个或者多个PIPE单元为最小单元;
b)交换芯片的PIPE单元划分为面板PIPE单元和内部PIPE单元两个逻辑类型;
c)面板端口与内部端口实现1:1或者1:N的对应关系;
d)内部端口均采用软件环回的设计。
本实施例的软件的优化设计方法包括以下步骤:
a)根据实际需求,将交换芯片的PIPE单元划分为面板PIPE单元和内部PIPE单元两种类型;
b)面板端口和内部端口需要实现1:1或者1:N的对应关系,即一个面板端口,在其他内部PIPE单元中均存在一个对应的端口进行备份;
c)面板端口全部在单个或者某几个PIPE单元中走线引出,不占用所有的PIPE单元;
d)在不匹配规则的情况下,面板端口的流量将会自动从面板端口到内部端口,完成所有的备份端口的流量转发。
另外,本发明实例还提供了一种网络分流器的转发系统,它包括:
a)端口划分单元;
b)流量输入单元;
c)规则分发单元;
d)规则过滤单元
e)跨PIPE自动转发单元;
f)流量输出单元。
该转发系统的执行流程包括以下步骤:
a)基于硬件端口逻辑划分方法,确认面板端口以及与其对应的各个PIPE单元中的备份内部端口对应关系;
b)原始报文通过面板端口接入到网络分流器;
c)规则分发单元负责将用户的过滤规则按照PIPE单元为单元进行拆分,并分别下发到不同的PIPE单元中;
d)原始报文在面板端口所在的PIPE单元中进行规则的匹配,如果匹配上,则按照规则对应的动作进行转发或者丢弃操作。
e)面板PIPE单元中未能匹配的报文,将通过默认下发的规则转发到下一个PIPE单元所对应的内部端口中,内部端口默认内部回环,流量将继续进行本PIPE单元的规则匹配,如果匹配上规则,则按照规则对应的动作进行转发或者丢弃操作,否则将继续转发到下个PIPE单元重复进行该操作;
f)流量(即报文)在各个PIPE单元中均没有命中规则后,将在最后一个PIPE单元中丢弃处理。
本发明实施例实现了在不新增硬件资源的情况下,通过调整软、硬件设计实现规则容量能力的显著提升;本发明实施例也提供了一种网络分流器的转发处理方法,利用PIPE单元的串联实现对报文的多次处理。
图3为本发明实施例提供的面板端口走线示意图,以BCM56970交换芯片为例,该芯片具有4个独立的PIPE单元,每个PIPE单元处理能力(即数据传输速率)为1.6Tbps,最多支持64*100GbE端口。以网络分流器面板端口数量支持16*100GbE,过滤规则(例如精确匹配七元组)容量需要支持40000条为例(假设单个PIPE单元最大支持10000条过滤规则),详细介绍本发明实施例的实现方式。
如图3所示,根据目标需求,将Pipe0设计为面板PIPE单元,将Pipe1-Pipe3划分为内部PIPE单元。面板端口F0-F15均从Pipe0中走线引出,与Pipe0的16个端口相对应,Pipe1-Pipe3均分配为相对应的内部端口I0-I15,内部端口将使用软件设置为环回口(一种自收自发的设置)。以P0(F0)的端口为例,其在各个PIPE单元中对应的内部端口分别为P1(I0)、P2(I0)、P3(I0)。
图4为本发明实施例提供的规则管理逻辑示意图,规则管理单元主要实现用户规则和私有转发规则的分发与管理,其中用户规则(即过滤规则)为用户下发的网络分流器过滤流量的规则,支持按照PIPE单元进行下发。在本发明实例中,控制面下发用户过滤规则,按照不同的PIPE单元下发不同的规则,其中Pipe0下发Rule1-Rule10000,Pipe1下发Rule10001-Rule20000,Pipe2下发Rule20001-Rule30000,Pipe3下发Rule30001-Rule40000。私有转发规则为跨PIPE单元转发内部规则,实现流量在不同PIPE单元中自动转发,该自动转发规则在所有的规则中的优先级最低,用于将不命中用户规则的流量自动转发到该端口对应的下一个PIPE单元的内部端口中,进行后续的用户规则匹配处理。本发明实施例中,每个PIPE单元需要下发16条私有转发规则,每条私有转发规则绑定一个端口,例如每个PIPE单元中分别下发私有转发规则1,标识面板端口F0与其对应的内部端口的转发流程,即P0(F0)->P1(I0)->P2(I0)->P3(I0)。
图5为本发明实施例提供的流量转发处理流程图,流量转发处理流程如下:面板端口流量输入后,判断是否命中当前PIPE单元的用户规则,如果是(即命中用户规则),则按照规则进行报文处理,如果否(即未命中用户规则),则判断是否命中私有转发规则;如果是(即命中私有转发规则),则转发到下一跳PIPE单元,之后重新执行判断是否命中当前PIPE单元的用户规则的步骤;如果否(即未命中私有转发规则,当前PIPE单元为最后一个PIPE单元),则进行报文丢弃处理。
为了便于理解,以报文从P0(F0)接入,匹配Rule35000规则后从面板端口P0(F15)输出为例,介绍整个报文的流量转发处理流程:原始报文通过面板端口P0(F0)接入流量后,进行Pipe1内的Rule1-Rule10000的匹配过滤,如果命中用户规则,则按照规则的动作执行转发或者丢弃等报文处理操作,否则,则匹配Pipe0中的私有转发规则1,将未匹配规则的流量转发到Pipe1的内部环回口P1(I0);流量到达P1(I0)后,报文经过环回口后,继续走Pipe1的用户规则匹配流程,此时由于无法匹配Pipe1中的Rule10001-Rule20000规则,报文将命中Pipe1中的私有转发规则1并转发到Pipe2中继续处理;报文到达P2(I0)环回口后,继续进行Rule20001-Rule30000的规则匹配,报文没有命中用户规则后,将匹配Pipe2中的私有转发规则1到P3(I0);Pipe3中再次进行规则Rule30001-Rule40000的匹配查找,报文在Pipe3中匹配用户规则Rule35000后,按照Rule35000规则指定的动作从P0(F15)进行输出转发。
需要指出的是,本发明实施例中面板端口并不局限于一个PIPE单元,用户可以根据实际需求进行灵活的设计调整。例如,上述实例中面板端口也可以选择Pipe0和Pipe3,那么与其对应的是内部Pipe1和Pipe2。由于面板端口为用户端口,对于用户而言不区分PIPE单元下发规则,所以Pipe0和Pipe3均支持下发Rule1-Rule10000的用户规则。Pipe0没有命中用户规则的报文将转发到Pipe1中继续匹配Rule10001-Rule20000,如果Pipe1中无法命中用户规则,则丢弃报文。对于Pipe3也是如此,即Pipe3的报文没有命中用户规则Rule1-Rule10000,则转发到Pipe2中处理,如果Pipe2也没有命中Rule10001-Rule20000,则丢弃。所以,在此种情况下,整个分流器支持的规则容量为20000条。
另外,本发明也提供了一种流量深度处理的方法,通过不同PIPE单元的串接实现报文的多次或深度处理,对于面板端口和内部端口的比例也可以根据需要灵活配置。
对应于上述的流量过滤方法,本发明实施例还提供了一种流量过滤装置,该装置应用于网络分流器。参见图6所示的一种流量过滤装置的结构示意图,流量过滤装置包括:
划分组合模块601,用于基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,所述PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,所述面板PIPE单元用于提供多个面板端口,所述面板端口用于接入原始报文;所述内部PIPE单元用于提供多个内部端口,所述内部端口采用软件环回设计;
关系确定模块602,用于确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系;其中,所述PIPE单元组合中的所述面板PIPE单元的面板端口与每个所述内部PIPE单元的内部端口一一对应;
规则下发模块603,用于将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元;其中,所述PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于所述预设数量;
流量过滤模块604,用于基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。
进一步地,上述划分组合模块601具体用于:基于所述需求规则容量和所述PIPE单元支持的规则数量,确定所述PIPE单元的需求串接数量;基于所述需求串接数量和所述需求面板端口数量,确定所述面板PIPE单元的目标数量;将所述交换芯片中的所述目标数量个PIPE单元作为所述面板PIPE单元,并将剩余的PIPE单元作为所述内部PIPE单元;基于所述需求串接数量,对所述面板PIPE单元和所述内部PIPE单元进行组合,得到至少一个所述PIPE单元组合。
进一步地,上述划分组合模块601还用于:基于所述需求面板端口数量和所述PIPE单元支持的端口数量,确定所述面板PIPE单元的下限数量;基于所述需求串接数量和所述交换芯片的PIPE单元数量,确定所述面板PIPE单元的上限数量;根据所述面板PIPE单元的下限数量和上限数量,确定所述面板PIPE单元的目标数量。
进一步地,上述关系确定模块602具体用于:对于每个所述PIPE单元组合,将该PIPE单元组合中的所述面板PIPE单元的面板端口与各个所述内部PIPE单元的内部端口建立转发关系,得到该PIPE单元组合对应的面板端口与内部端口的对应关系。
进一步地,上述规则下发模块603具体用于:对于每个所述PIPE单元组合,根据该PIPE单元组合的PIPE单元数量,将所述预设数量的过滤规则拆分为多份,并分别下发至该PIPE单元组合的各个PIPE单元。
进一步地,上述流量过滤模块604具体用于:对于每个所述PIPE单元组合,根据该PIPE单元组合对应的面板端口与内部端口的对应关系,生成私有转发规则;其中,所述私有转发规则用于实现该PIPE单元组合中不同PIPE单元之间的报文转发,所述私有转发规则的优先级低于所述过滤规则的优先级;将所述私有转发规则下发至该PIPE单元组合的除最后一个PIPE单元之外的PIPE单元;在该PIPE单元组合的每个PIPE单元中,基于存储的所述过滤规则和所述私有转发规则对接入该PIPE单元组合的所述原始报文进行流量过滤。
进一步地,上述流量过滤模块604还用于:在该PIPE单元组合的当前PIPE单元中对所述原始报文进行所述过滤规则的匹配,得到第一匹配结果;当所述第一匹配结果为匹配失败时,对所述原始报文进行所述私有转发规则的匹配,得到第二匹配结果;当所述第二匹配结果为匹配成功时,基于匹配到的私有转发规则将所述原始报文转发至该PIPE单元组合的下一个PIPE单元中;当所述第二匹配结果为匹配失败时,丢弃所述原始报文。
本实施例所提供的流量过滤装置,其实现原理及产生的技术效果和前述流量过滤方法实施例相同,为简要描述,流量过滤装置实施例部分未提及之处,可参考前述流量过滤方法实施例中相应内容。
如图7所示,本发明实施例提供的一种电子设备700,包括:处理器701、存储器702和总线,存储器702存储有可在处理器701上运行的计算机程序,当电子设备700运行时,处理器701与存储器702之间通过总线通信,处理器701执行计算机程序,以实现上述流量过滤方法。
具体地,上述存储器702和处理器701能够为通用的存储器和处理器,这里不做具体限定。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中所述的流量过滤方法。该计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种流量过滤方法,其特征在于,应用于网络分流器;所述流量过滤方法包括:
基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,所述PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,所述面板PIPE单元用于提供多个面板端口,所述面板端口用于接入原始报文;所述内部PIPE单元用于提供多个内部端口,所述内部端口采用软件环回设计;
确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系;其中,所述PIPE单元组合中的所述面板PIPE单元的面板端口与每个所述内部PIPE单元的内部端口一一对应;
将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元;其中,所述PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于所述预设数量;
基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。
2.根据权利要求1所述的流量过滤方法,其特征在于,所述基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合,包括:
基于所述需求规则容量和所述PIPE单元支持的规则数量,确定所述PIPE单元的需求串接数量;
基于所述需求串接数量和所述需求面板端口数量,确定所述面板PIPE单元的目标数量;
将所述交换芯片中的所述目标数量个PIPE单元作为所述面板PIPE单元,并将剩余的PIPE单元作为所述内部PIPE单元;
基于所述需求串接数量,对所述面板PIPE单元和所述内部PIPE单元进行组合,得到至少一个所述PIPE单元组合。
3.根据权利要求2所述的流量过滤方法,其特征在于,所述基于所述需求串接数量和所述需求面板端口数量,确定所述面板PIPE单元的目标数量,包括:
基于所述需求面板端口数量和所述PIPE单元支持的端口数量,确定所述面板PIPE单元的下限数量;
基于所述需求串接数量和所述交换芯片的PIPE单元数量,确定所述面板PIPE单元的上限数量;
根据所述面板PIPE单元的下限数量和上限数量,确定所述面板PIPE单元的目标数量。
4.根据权利要求1所述的流量过滤方法,其特征在于,所述确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系,包括:
对于每个所述PIPE单元组合,将该PIPE单元组合中的所述面板PIPE单元的面板端口与各个所述内部PIPE单元的内部端口建立转发关系,得到该PIPE单元组合对应的面板端口与内部端口的对应关系。
5.根据权利要求1所述的流量过滤方法,其特征在于,所述将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元,包括:
对于每个所述PIPE单元组合,根据该PIPE单元组合的PIPE单元数量,将所述预设数量的过滤规则拆分为多份,并分别下发至该PIPE单元组合的各个PIPE单元。
6.根据权利要求1所述的流量过滤方法,其特征在于,所述基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤,包括:
对于每个所述PIPE单元组合,根据该PIPE单元组合对应的面板端口与内部端口的对应关系,生成私有转发规则;其中,所述私有转发规则用于实现该PIPE单元组合中不同PIPE单元之间的报文转发,所述私有转发规则的优先级低于所述过滤规则的优先级;
将所述私有转发规则下发至该PIPE单元组合的除最后一个PIPE单元之外的PIPE单元;
在该PIPE单元组合的每个PIPE单元中,基于存储的所述过滤规则和所述私有转发规则对接入该PIPE单元组合的所述原始报文进行流量过滤。
7.根据权利要求6所述的流量过滤方法,其特征在于,所述在该PIPE单元组合的每个PIPE单元中,基于存储的所述过滤规则和所述私有转发规则对接入该PIPE单元组合的所述原始报文进行流量过滤,包括:
在该PIPE单元组合的当前PIPE单元中对所述原始报文进行所述过滤规则的匹配,得到第一匹配结果;
当所述第一匹配结果为匹配失败时,对所述原始报文进行所述私有转发规则的匹配,得到第二匹配结果;
当所述第二匹配结果为匹配成功时,基于匹配到的私有转发规则将所述原始报文转发至该PIPE单元组合的下一个PIPE单元中;
当所述第二匹配结果为匹配失败时,丢弃所述原始报文。
8.一种流量过滤装置,其特征在于,应用于网络分流器;所述流量过滤装置包括:
划分组合模块,用于基于预设的需求面板端口数量和需求规则容量,对所述网络分流器的交换芯片中的多个PCIe物理层接口PIPE单元进行类别划分和组合,得到至少一个PIPE单元组合;其中,所述PIPE单元组合包括面板PIPE单元和至少一个内部PIPE单元,所述面板PIPE单元用于提供多个面板端口,所述面板端口用于接入原始报文;所述内部PIPE单元用于提供多个内部端口,所述内部端口采用软件环回设计;
关系确定模块,用于确定每个所述PIPE单元组合对应的面板端口与内部端口的对应关系;其中,所述PIPE单元组合中的所述面板PIPE单元的面板端口与每个所述内部PIPE单元的内部端口一一对应;
规则下发模块,用于将预设数量的过滤规则分发至每个所述PIPE单元组合中的各个PIPE单元;其中,所述PIPE单元组合中各个PIPE单元得到的过滤规则的数量和等于所述预设数量;
流量过滤模块,用于基于每个所述PIPE单元组合中各个PIPE单元得到的过滤规则以及所述PIPE单元组合对应的面板端口与内部端口的对应关系,对接入的原始报文进行流量过滤。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的流量过滤方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1-7中任一项所述的流量过滤方法。
CN202311458417.8A 2023-11-03 2023-11-03 流量过滤方法、装置、电子设备及计算机可读存储介质 Pending CN117499345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311458417.8A CN117499345A (zh) 2023-11-03 2023-11-03 流量过滤方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311458417.8A CN117499345A (zh) 2023-11-03 2023-11-03 流量过滤方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN117499345A true CN117499345A (zh) 2024-02-02

Family

ID=89679563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311458417.8A Pending CN117499345A (zh) 2023-11-03 2023-11-03 流量过滤方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117499345A (zh)

Similar Documents

Publication Publication Date Title
US5495479A (en) Method and apparatus for an automatic decomposition of a network topology into a backbone and subareas
US8855116B2 (en) Virtual local area network state processing in a layer 2 ethernet switch
CN113098773B (zh) 数据处理方法、装置及系统
JP3734704B2 (ja) パケット分類エンジン
CN113132249A (zh) 一种负载均衡方法和设备
US8625466B2 (en) Multi-card network device appearing as single entity in spanning tree network
Chow et al. A fast distributed network restoration algorithm
CN108718258B (zh) 一种板间链路的质量检测方法及设备
CN105763472A (zh) 一种跨板转发的方法和装置
CN110474842A (zh) 一种通信方法、客户终端设备及传输网络
CN101325560B (zh) 一种链路生成方法及其装置
CN110768917B (zh) 一种报文传输方法及装置
US10284457B2 (en) System and method for virtual link trunking
CN101980487B (zh) 一种路由选择出口的方法和装置
CN106790411B (zh) 虚拟交换机与物理交换机的非聚合端口级联系统及方法
CN111464443B (zh) 基于服务功能链的报文转发方法、装置、设备及存储介质
CN117499345A (zh) 流量过滤方法、装置、电子设备及计算机可读存储介质
CN109462547B (zh) 基于量子城域通信网络的路径选择方法及装置
RU2290760C9 (ru) Способ динамического распределения нагрузки для сигнальных точек и подсистем
CN110309225B (zh) 数据处理方法及系统
CN112272193A (zh) 一种有效解决报文多命中流量过滤分流平台及实现方法
CN115114009A (zh) 数据查询方法、主节点及从节点
CN103491079B (zh) 一种报文生成装置、服务器以及方法
CN106936651A (zh) 一种数据流的确定方法及控制器
CN113328951B (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