CN114827034B - 基于fpga和交换芯片的流量复制方法和装置 - Google Patents
基于fpga和交换芯片的流量复制方法和装置 Download PDFInfo
- Publication number
- CN114827034B CN114827034B CN202210457356.2A CN202210457356A CN114827034B CN 114827034 B CN114827034 B CN 114827034B CN 202210457356 A CN202210457356 A CN 202210457356A CN 114827034 B CN114827034 B CN 114827034B
- Authority
- CN
- China
- Prior art keywords
- traffic
- vlan
- service
- output group
- class
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种基于FPGA和交换芯片的多业务流量复制方法,该包括:创建复制输出组并预设其的成员端口;绑定复制输出组的业务,为复制输出组指定其所要复制的流量的业务类别编码集合,其中业务类别编码集合中的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且业务类别编码个数不小于2;基于复制输出组的业务类别编码计算与复制输出组相对应的VLAN ID集合,并将复制输出组所包括的成员端口添加到所计算出的VLAN ID集合中的所有VLAN ID所分别对应的VLAN中;FPGA基于流量被命中的业务类别计算流量的VLAN ID,并将所计算出的流量的VLAN ID逻辑封装在流量中;交换芯片根据所接收到的流量的VLAN ID经复制输出组所包括的成员端口将流量进行转发,以实现流量的复制。
Description
技术领域
本公开涉及网络流量复制技术领域,具体而言,涉及一种基于FPGA和交换芯片的流量复制方法和装置。
背景技术
近年来随着网络技术的高速发展,骨干网络日益庞大,海量数据的实时网络安全成为国家越来越受重视的地方。FPGA(Field Programmable Gate Array,可编程门阵列)作为ASIC(Application Specific Integrated Circuit,专用集成电路)领域中的一种半定制电路而出现,FPGA可编程芯片既能解决定制电路的不足,又可克服原有可编程器件门电路数有限的缺点。NP(Network Processor,网络处理器)同FPGA一样也是可编程芯片,可应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS等。
当前骨干网络的分流设备在进行多业务匹配命中转发时,基于FPGA或者NP处理时对于流量复制都有技术瓶颈。具体而言,目前对于多业务流量的复制基本都是逻辑和交换芯片配合实现,但是只支持最多4份流量复制输出,实现的时候是由逻辑进行业务匹配,当流量匹配命中以后从业务配置中查找各个需要复制的目的module和port,从而可以将对应的流量转发给交换芯片,再由交换芯片转发出去,从而实现复制多份流量。另一方面,当前技术方案里面对于不同的业务配置转出组或转出端口,下发规则到各个业务里面,当流量命中某个业务的时候就会被转发到对应端口,如果同时命中多个业务,就会输出多份,变相就相当于实现了流量的复制功能。但这里当某个业务配置一旦做好就被定死了,比如业务1对应的输出端口是port1,规则是rule1,后续如果想修改任何一个配置都得多个业务同时修改,才能保证配置一致性进而实现流量的复制输出。
交换芯片性能强大但是灵活性差,FPGA灵活可编程但是存在性能瓶颈,当需要复制的流量大于4份时,逻辑性能存在瓶颈而无法实现。
因此,需要一种可灵活配置并能克服当前流量复制数量瓶颈的基于FPGA和交换芯片的流量复制方法和装置。
发明内容
有鉴于此,本公开提供一种基于FPGA和交换芯片的多业务流量复制方法和装置。根据本公开的一方面,提出一种基于FPGA和交换芯片的多业务流量复制方法,该方法包括:创建复制输出组,并预设所述复制输出组所包括的成员端口;绑定所述复制输出组的业务,为所述复制输出组指定其所要复制的流量的业务类别编码集合,其中所述业务类别编码集合所包含的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且所述业务类别编码集合所包含的业务类别编码个数不小于2;基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合,并将所述复制输出组所包括的成员端口添加到所计算出的所述VLANID 集合所包括的所有VLAN ID所分别对应的VLAN中;FPGA基于流量被命中的业务类别计算所述流量的VLAN ID,并将所计算出的所述流量的VLAN ID逻辑封装在所述流量中;交换芯片根据所接收到的流量的VLAN ID经所述复制输出组所包括的成员端口将所述流量进行转发,以实现所述流量的复制。
根据本公开的基于FPGA和交换芯片的多业务流量复制方法,其中,在基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合时,包括:枚举所述业务类别编码集合的多业务类别组合,所述多业务类别组合为至少包含所述业务类别集合所包括的业务类别编码中的两个业务类别编码;在与所述FPGA协商一致的数制中将多业务类别组合所包括的业务类别编码位置处的数值置为1并将所述多业务类别组合所包括的业务类别编码位置处外的数值置为0以获得与所述业务类别组合相对应的VLAN ID;基于枚举出的所有的多业务类别组合计算所述复制输出组所相对应的VLANID 集合。
根据本公开的基于FPGA和交换芯片的多业务流量复制方法,其中,在FPGA基于流量被命中的业务类别计算所述流量的VLAN ID时,在与所述FPGA协商一致的数制中将所述流量被命中的业务类别所对应的业务类别编码位置处的数值置为1并将所述流量被命中的业务类别所对应的业务类别编码位置处外的数值置为0以获得所述流量的VLANID。
根据本公开的基于FPGA和交换芯片的多业务流量复制方法,其还包括:可动态增加或删除所述复制输出组所包括的成员端口。
根据本公开的基于FPGA和交换芯片的多业务流量复制方法,其还包括:可更改所述复制输出组所绑定的业务。
本公开的另一方面,提供一种基于FPGA和交换芯片的多业务流量复制装置,该装置包括:复制输出组创建组件,用于创建复制输出组,并预设所述复制输出组所包括的成员端口;业务绑定组件,用于绑定所述复制输出组的业务范围,为所述复制输出组指定其所要复制的流量的业务类别编码集合,其中所述业务类别编码集合所包含的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且所述业务类别编码集合所包含的业务类别编码个数不小于2;成员端口VLAN ID配置组件,用于基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合,并将所述复制输出组所包括的成员端口添加到所计算出的所述VLAN ID 集合所包括的所有VLAN ID所分别对应的VLAN中;流量VLANID生成组件,用于FPGA基于流量被命中的业务类别计算所述流量的VLAN ID,并将所计算出的所述流量的VLAN ID逻辑封装在所述流量中;流量复制组件,用于交换芯片根据所接收到的流量的VLANID经所述复制输出组所包括的成员端口将所述流量进行转发,以实现所述流量的复制。
根据本公开的基于FPGA和交换芯片的多业务流量复制装置,其中,所述成员端口VLAN ID配置组件,在基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合时,还用于:枚举所述业务类别编码集合的多业务类别组合,所述多业务类别组合为至少包含所述业务类别集合所包括的业务类别编码中的两个业务类别编码;在与所述FPGA协商一致的数制中将多业务类别组合所包括的业务类别编码位置处的数值置为1并将所述多业务类别组合所包括的业务类别编码位置处外的数值置为0以获得与所述业务类别组合相对应的VLANID;基于枚举出的所有的多业务类别组合计算所述复制输出组所相对应的VLAN ID 集合。
根据本公开的基于FPGA和交换芯片的多业务流量复制装置,其中,所述流量VLANID生成组件在FPGA基于流量被命中的业务类别计算所述流量的VLAN ID时,还用于:在与所述FPGA协商一致的数制中将所述流量被命中的业务类别所对应的业务类别编码位置处的数值置为1并将所述流量被命中的业务类别所对应的业务类别编码位置处外的数值置为0以获得所述流量的VLANID。
根据本公开的基于FPGA和交换芯片的多业务流量复制装置,其还包括:成员端口动态修改组件,用于动态增加或删除所述复制输出组所包括的成员端口。
根据本公开的基于FPGA和交换芯片的多业务流量复制装置,其还包括:业务更改组件,用于更改所述复制输出组所绑定的业务。
综上,采用本公开的基于FPGA和交换芯片的多业务流量复制方法和装置,能够在不提升FPGA和交换芯片自身的性能前提下通过人为的附加一个动态配置的VLAN来克服现有技术方案中FPGA所存在得复制上限4份的输出瓶颈问题,使得流量的复制数量不再有上限,从而有效提升了整机流量复制输出能力。具体而言,本公开的基于FPGA和交换芯片的多业务流量复制方法将转出功能放在交换芯片中,逻辑只是做自己擅长的匹配命中,同时使得释放出的逻辑资源可以在其他方面做更擅长的事情,由此实现了基于FPGA对流量的多业务精确匹配命中以及其后的通过交换芯片来实现多业务匹配流量的复制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示的是根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法的流程示意图。
图2所示的根据本公开实施例的基于FPGA和交换芯片的多业务流量装置的原理图。
图3所示的是本公开方法中将业务信息编码置入vlan ID值的示意图。
图4 所示的是本公开方法中将业务绑定到复制端口组的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、系统、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本公开实施例的基于FPGA和交换芯片的多业务流量复制方法是在原有硬件的基础上以及软件资源没有新的升级的前提下,纯功能地基于FPGA和交换芯片实现了多业务灵活匹配及复制输出时处理性能优越的流量复制。
网络中的端口组是指将多个物理口组合在一起的标识,当流量引向这个端口组内时,端口组内成员负载分担输出。复制输出组是端口组的一种类型,当流量引向所述复制输出组时,所述复制输出组内的每个成员端口最终输出时输出完整的流量。
VLAN(Virtual Local Area Network,虚拟局域网) ID用于标识虚拟局域网的逻辑子网网段号。VLAN ID用12比特的编号进行区分,其合理取值是1~4094。
图1所示的是根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法的流程示意图。
如图1所示,在步骤S102中,创建复制输出组,并预设所述复制输出组所包括的成员端口。具体而言,根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法,首先定义新的端口组类型:复制输出组,所述复制输出组是纯软件定义,对逻辑来说是无感知的,软件会根据所述复制输出组的配置来划分对应的接口VLAN。其次往所述复制输出组内添加成员端口,其中,复制输出组的成员端口可以是单一端口,也可以是某一个非复制输出组的端口组。最终效果体现到交换芯片那里就是这个复制输出组成为了一个聚合组,将来如果有流量需要转发时,该复制输出组的每个成员都会复制一份流量。
在步骤S104中,绑定所述复制输出组业务,为所述复制输出组指定其所要复制的流量的业务类别编码集合,其中所述业务类别编码集合所包含的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且所述业务类别编码集合所包含的业务类别编码个数不小于2。
在步骤S106中,基于复制输出组的业务范围为所述复制输出组划分VLAN ID。 基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合,并将所述复制输出组所包括的成员端口添加到所计算出的所述VLANID 集合所包括的所有VLANID所分别对应的VLAN中。
在步骤S108中,FPGA基于流量被命中的业务类别计算流量的VLAN ID,并将所计算出的流量的VLAN ID逻辑封装在所述流量中。FPGA基于流量被命中的业务类别计算所述流量的VLANID,并将所计算出的所述流量的VLAN ID逻辑封装在所述流量中。
在步骤S110中,交换芯片根据所接收到的流量的VLAN ID经复制输出组的成员端口将流量进行转发,实现流量复制。交换芯片根据所接收到的流量的VLANID经所述复制输出组所包括的成员端口将所述流量进行转发,以实现所述流量的复制。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法,其中,在基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合时,包括以下步骤:枚举所述业务类别编码集合的多业务类别组合,所述多业务类别组合为至少包含所述业务类别集合所包括的业务类别编码中的两个业务类别编码;在与所述FPGA协商一致的数制中将多业务类别组合所包括的业务类别编码位置处的数值置为1并将所述多业务类别组合所包括的业务类别编码位置处外的数值置为0以获得与所述业务类别组合相对应的VLANID;基于枚举出的所有的多业务类别组合计算所述复制输出组所相对应的VLAN ID 集合。
更具体的,在为复制输出组绑定具体的业务类别时,比如将系统业务中的业务1和业务3绑定到复制输出组A,此时复制输出组A内每个成员端口都会被配置VLAN,具体而言,此时VLAN ID 等于某一个格式上的第1位和第3位均置1,这个格式是和FPGA商量好的,当业务匹配命中业务1和业务3时,流量同样会被FPGA这样添加VLAN处理。
底层绑定的时候首先查看当前复制输出组的端口成员,然后根据绑定的业务计算相应位置1的VLAN ID,并计算出这些置1的位中至少有两位置1的其它VLAN ID。比如BIT1~BIT3的VLAN,可计算出只有BIT1和BIT2的VLAN、只有BIT2和BIT3的VLAN、只有BIT1和BIT3的VLAN及有BIT1~BIT3的VLAN,然后将新端口成员添加到相应的所有VLAN中。
更具体的,假设系统支持8个业务,则需要占用VLAN ID的8个位,可以保留其低四位为全0。高8位依次代表0~7这8个业务ID。举例而言,若复制输出组A属于3个业务1、3、5,则选择第5、7、9位中至少两位置1、其它位置0的所有VLAN ID,将该复制输出组A中的输出接口加入这些VLAN中,后续命中相应业务需要复制输出的流量将带上对应比特位置1的VLANID。根据组合关系易计算得知本例中上述复制输出组A中的输出接口需加入4个VLAN:160(=32+128)、544(=32+512)、640(=128+512)和672(=32+128+512)。以上,完成了对该复制输出组的接口划分VLAN。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法,其中,在FPGA基于流量被命中的业务类别计算所述流量的VLAN ID时,在与所述FPGA协商一致的数制中将所述流量被命中的业务类别所对应的业务类别编码位置处的数值置为1并将所述流量被命中的业务类别所对应的业务类别编码位置处外的数值置为0以获得所述流量的VLANID。
更具体的,当流量输入的时候,逻辑匹配输入流量,对于命中了相应业务的流量添加了VLAN标记。比如某条流命中业务1、3时,逻辑封装对应的VLAN ID为160(即第5、7位置1)。逻辑最终将流量交给交换芯片时,交换芯片根据VLAN进行转发从而实现了流量复制功能。
在本公开的一个实施例中,首先创建复制输出组B,之后为该复制输出组B预设输出端口1、输出端口2、输出端口3和输出端口4为其成员端口。绑定系统业务中的业务1、业务3和业务5到该复制输出组B,对应12位VLAN ID的BIT位标识为001010100000,其中VLAN ID的低4位进行了保留。将该复制输出组内4个输出端口添加到此3个BIT位置1的所有VLAN中,即160、544、640和672。若流量1命中业务1和业务3,对该流量1进行逻辑封装时所封装的对应12位VLAN ID的BIT位标识为0000010100000,其中VLAN ID的低4位进行了保留,即该流量1对应的VLAN ID为160。同理可得,若流量2命中了业务4和业务7,该流量2对应的VLAN ID为2304。交换芯片在接收到流量1和流量2时,该流量1从该复制输出组B内的输出端口1、输出端口2、输出端口3和输出端口4转发,每个接口转发一份;该流量2被转发时找不到对应的VLAN口,无法转发。本公开中将业务信息编码置入vlan ID值的方法如图3所示,vlan ID使用12位bit的数值,其中低四位保留,高八位分别代表业务0至7,以业务1和业务3为例,对第5位bit置1代表业务1,对第7位bit置1代表业务3,最终编码成的vlan ID转换为十进制的值为160,代表vlan 160 与业务1和业务3匹配。
本发明中将业务绑定到复制端口组的方法如图4所示,例如,配置业务绑定复制输出组时对应的FPGA携带VLAN信息的方法,需要将业务1,业务3,业务7绑定至复制端口组,则根据上面vlan ID编码方法,对应的编码为:
业务1+业务3,vlan 160
业务1+业务7,vlan 2080
业务3+业务7,vlan 2176
业务1+业务3+业务7,vlan 2208
通过将复制端口组的所有端口配入上述所有vlan中,实现业务与端口组的绑定。
对于FPGA与交换芯片的配合方法,以第1流量命中业务1和3,第2流量命中业务4和7为例,FPGA根据规则计算出第1流量的vlan ID为160,第2流量的vlan ID为2304,则第1流量添加vlan ID值160,第2流量添加vlan ID 值2304,并传送给交换芯片。交换芯片取出vlan ID,将第1流量发送至vlan 160,进而通过复制端口组的所有端口进行发送实现流量复制。第2流量由于没有匹配的vlan而被丢弃。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法,其还包括:可动态增加或删除所述复制输出组所包括的成员端口。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制方法,其还包括:可更改所述复制输出组所绑定的业务。
相比较于原有技术方案,如果需要调整复制输出的多业务,首先需要根据复制输出多少份来决定配置的业务个数,其次需要修改对应业务的规则,命中动作以及输出端口,本公开实施例的基于FPGA和交换芯片的多业务流量复制方法中的配置变得更加灵活,当希望实现多业务复制输出的时候,只需要通过调整业务与复制输出组的对应关系即可;同时对于想要调整复制输出的端口成员只需要对复制输出组的成员进行添加和删除操作即可。
图2所示的根据本公开实施例的基于FPGA和交换芯片的多业务流量装置的原理图。如图2所示,该装置包括:复制输出组创建组件202、业务绑定组件204、成员端口VLAN ID配置组件206、流量VLAN ID生成组件208、流量复制组件210、成员端口动态修改组件212和业务更改组件214。
其中,复制输出组创建组件202,用于创建复制输出组,并预设所述复制输出组所包括的成员端口;业务绑定组件204,用于绑定所述复制输出组的业务范围,为所述复制输出组指定其所要复制的流量的业务类别编码集合,其中所述业务类别编码集合所包含的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且所述业务类别编码集合所包含的业务类别编码个数不小于2;成员端口VLAN ID配置组件206,用于基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合,并将所述复制输出组所包括的成员端口添加到所计算出的所述VLANID 集合所包括的所有VLAN ID所分别对应的VLAN中;流量VLAN ID生成组件208,用于FPGA基于流量被命中的业务类别计算所述流量的VLAN ID,并将所计算出的所述流量的VLAN ID逻辑封装在所述流量中;流量复制组件210,用于交换芯片根据所接收到的流量的VLANID经所述复制输出组所包括的成员端口将所述流量进行转发,以实现所述流量的复制。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制装置,其中,所述成员端口VLAN ID配置组件206,在基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLANID 集合时,还用于:枚举所述业务类别编码集合的多业务类别组合,所述多业务类别组合为至少包含所述业务类别集合所包括的业务类别编码中的两个业务类别编码;在与所述FPGA协商一致的数制中将多业务类别组合所包括的业务类别编码位置处的数值置为1并将所述多业务类别组合所包括的业务类别编码位置处外的数值置为0以获得与所述业务类别组合相对应的VLAN ID;基于枚举出的所有的多业务类别组合计算所述复制输出组所相对应的VLANID 集合。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制装置,其中,所述流量VLAN ID生成组件208在FPGA基于流量被命中的业务类别计算所述流量的VLAN ID时,还用于:在与所述FPGA协商一致的数制中将所述流量被命中的业务类别所对应的业务类别编码位置处的数值置为1并将所述流量被命中的业务类别所对应的业务类别编码位置处外的数值置为0以获得所述流量的VLANID。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制装置,其还包括:成员端口动态修改组件212,用于动态增加或删除所述复制输出组所包括的成员端口。
根据本公开实施例的基于FPGA和交换芯片的多业务流量复制装置,其还包括业务更改组件214,用于更改所述复制输出组所绑定的业务。
综上,采用本公开的基于FPGA和交换芯片的多业务流量复制方法和装置,能够在不提升FPGA和交换芯片自身的性能前提下通过人为的附加一个动态配置的VLAN来克服现有技术方案中FPGA所存在得复制上限4份的输出瓶颈问题,使得流量的复制数量不再有上限,从而有效提升了整机流量复制输出能力。具体而言,本公开的基于FPGA和交换芯片的多业务流量复制方法将转出功能放在交换芯片中,逻辑只是做自己擅长的匹配命中,同时使得释放出的逻辑资源可以在其他方面做更擅长的事情,由此实现了基于FPGA对流量的多业务精确匹配命中以及其后的通过交换芯片来实现多业务匹配流量的复制。
总体而言,本公开首先定义新的端口组类型:复制输出组,复制输出组是纯软件定义,对逻辑来说是无感知的,软件会根据复制输出组的配置来划分对应的接口vlan。其次往复制输出组内添加成员,可以是单一端口,也可以是某一个非复制输出组的端口组。复制输出组内的成员支持动态添加和删除。最终效果体现到交换芯片那里就是这个复制输出组成为了一个聚合组,将来如果有流量需要转发时,每个成员都会复制一份流量。接着将某些业务绑定到复制输出组,比如业务1和业务3绑定了复制输出组A,此时A内每个成员端口都会被配置vlan,vlan ID等于某一个格式上的第1位和第3位置1(这个格式是和FPGA商量好的,当业务匹配命中业务1和业务3时,流量同样会被FPGA这样添加vlan处理)。底层绑定的时候首先查看当前复制输出组的端口成员,然后根据绑定的业务计算相应位置1的VLAN ID,并计算出这些置1的位中至少有两位置1的其它VLAN ID(比如bit1~bit3的vlan,可计算出只有bit1和bit2的vlan、只有bit2和bit3的vlan、只有bit1和bit3的vlan及有bit1~bit3的vlan),然后将新端口成员添加到相应的所有vlan中。举例来说,假设系统支持8个业务,则需要占用VLAN ID的8个位,可以保留其低四位为全0。高8位依次代表0~7这8个业务ID。若某输出组A属于3个业务1、3、5,则选择第5、7、9位中至少两位置1、其它位置0的所有VLAN ID,将该输出组A中的输出接口加入这些VLAN中,后续命中相应业务需要复制输出的流量将带上对应比特位置1的VLAN ID。根据组合关系易计算得知本例中上述输出组A中的输出接口需加入4个VLAN:160、528、640和672。最后,当流量输入的时候,逻辑匹配输入流量,根据第三步的处理对于命中了相应业务的流量添加了vlan标记,比如某条流命中业务1、3时,逻辑封装对应的VLAN ID为160(即第5、7位置1)。逻辑最终将流量交给交换芯片时,交换芯片根据vlan进行转发从而实现了流量复制功能。
本公开中首先配置更加灵活,想实现多业务复制输出的时候,只需要通过调整业务与复制输出组的对应关系即可;同时对于想要调整复制输出的端口成员只需要对复制输出组的成员进行添加和删除操作即可。相比较于原有技术方案,如果需要调整复制输出的多业务,首先需要根据复制输出多少份来决定配置的业务个数,其次需要修改对应业务的规则,命中动作以及输出端口。
本公开另外是解决了原有技术方案的上限复制4份输出的瓶颈,不再有上限限制,因为主要转出功能放在交换芯片,逻辑只是做自己擅长的匹配命中,同时逻辑可以在其他方面做更擅长的事情。这样本公开实现了基于FPGA对流量的多业务精确匹配命中,然后通过交换芯片来实现多业务匹配流量的复制需求。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种基于FPGA和交换芯片的多业务流量复制方法,包括:
创建复制输出组,并预设所述复制输出组所包括的成员端口;
绑定所述复制输出组的业务,为所述复制输出组指定其所要复制的流量的业务类别编码集合,其中所述业务类别编码集合所包含的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且所述业务类别编码集合所包含的业务类别编码个数不小于2;
基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合,并将所述复制输出组所包括的成员端口添加到所计算出的所述VLAN ID 集合所包括的所有VLAN ID所分别对应的VLAN中;
FPGA基于流量被命中的业务类别计算所述流量的VLAN ID,并将所计算出的所述流量的VLAN ID逻辑封装在所述流量中;
交换芯片根据所接收到的流量的VLAN ID经所述复制输出组所包括的成员端口将所述流量进行转发,以实现所述流量的复制。
2.根据权利要求1所述的基于FPGA和交换芯片的多业务流量复制方法,其中,在基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合时,包括:
枚举所述业务类别编码集合的多业务类别组合,所述多业务类别组合为至少包含所述业务类别集合所包括的业务类别编码中的两个业务类别编码;
在与所述FPGA协商一致的数制中将多业务类别组合所包括的业务类别编码位置处的数值置为1并将所述多业务类别组合所包括的业务类别编码位置处外的数值置为0以获得与所述业务类别组合相对应的VLAN ID;
基于枚举出的所有的多业务类别组合计算所述复制输出组所相对应的VLAN ID 集合。
3.根据权利要求1所述的基于FPGA和交换芯片的多业务流量复制方法,其中,在FPGA基于流量被命中的业务类别计算所述流量的VLAN ID时,
在与所述FPGA协商一致的数制中将所述流量被命中的业务类别所对应的业务类别编码位置处的数值置为1并将所述流量被命中的业务类别所对应的业务类别编码位置处外的数值置为0以获得所述流量的VLAN ID。
4.根据权利要求1所述的基于FPGA和交换芯片的多业务流量复制方法,其还包括:可动态增加或删除所述复制输出组所包括的成员端口。
5.根据权利要求1所述的基于FPGA和交换芯片的多业务流量复制方法,其还包括:可更改所述复制输出组所绑定的业务。
6.一种基于FPGA和交换芯片的多业务流量复制装置,包括:
复制输出组创建组件,用于创建复制输出组,并预设所述复制输出组所包括的成员端口;
业务绑定组件,用于绑定所述复制输出组的业务范围,为所述复制输出组指定其所要复制的流量的业务类别编码集合,其中所述业务类别编码集合所包含的业务类别编码为业务类别在系统业务类别集合中的位置序号,并且所述业务类别编码集合所包含的业务类别编码个数不小于2;
成员端口VLAN ID配置组件,用于基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合,并将所述复制输出组所包括的成员端口添加到所计算出的所述VLAN ID 集合所包括的所有VLAN ID所分别对应的VLAN中;
流量VLAN ID生成组件,用于FPGA基于流量被命中的业务类别计算所述流量的VLANID,并将所计算出的所述流量的VLAN ID逻辑封装在所述流量中;
流量复制组件,用于交换芯片根据所接收到的流量的VLAN ID经所述复制输出组所包括的成员端口将所述流量进行转发,以实现所述流量的复制。
7.根据权利要求6所述的基于FPGA和交换芯片的多业务流量复制装置,其中,所述成员端口VLAN ID配置组件,在基于所述复制输出组的业务类别编码计算与所述复制输出组相对应的VLAN ID 集合时,还用于:
枚举所述业务类别编码集合的多业务类别组合,所述多业务类别组合为至少包含所述业务类别集合所包括的业务类别编码中的两个业务类别编码;
在与所述FPGA协商一致的数制中将多业务类别组合所包括的业务类别编码位置处的数值置为1并将所述多业务类别组合所包括的业务类别编码位置处外的数值置为0以获得与所述业务类别组合相对应的VLAN ID;
基于枚举出的所有的多业务类别组合计算所述复制输出组所相对应的VLAN ID 集合。
8.根据权利要求6所述的基于FPGA和交换芯片的多业务流量复制装置,其中,所述流量VLAN ID生成组件在FPGA基于流量被命中的业务类别计算所述流量的VLAN ID时,还用于:
在与所述FPGA协商一致的数制中将所述流量被命中的业务类别所对应的业务类别编码位置处的数值置为1并将所述流量被命中的业务类别所对应的业务类别编码位置处外的数值置为0以获得所述流量的VLAN ID。
9.根据权利要求6所述的基于FPGA和交换芯片的多业务流量复制装置,其还包括:成员端口动态修改组件,用于动态增加或删除所述复制输出组所包括的成员端口。
10.根据权利要求6所述的基于FPGA和交换芯片的多业务流量复制装置,其还包括:业务更改组件,用于更改所述复制输出组所绑定的业务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210457356.2A CN114827034B (zh) | 2022-04-27 | 2022-04-27 | 基于fpga和交换芯片的流量复制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210457356.2A CN114827034B (zh) | 2022-04-27 | 2022-04-27 | 基于fpga和交换芯片的流量复制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827034A CN114827034A (zh) | 2022-07-29 |
CN114827034B true CN114827034B (zh) | 2023-08-22 |
Family
ID=82509620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210457356.2A Active CN114827034B (zh) | 2022-04-27 | 2022-04-27 | 基于fpga和交换芯片的流量复制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827034B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368775A (zh) * | 2013-07-09 | 2013-10-23 | 杭州华三通信技术有限公司 | 流量备份方法及核心交换设备 |
CN103490961A (zh) * | 2013-09-05 | 2014-01-01 | 杭州华三通信技术有限公司 | 一种网络设备 |
CN106612234A (zh) * | 2015-10-27 | 2017-05-03 | 国家计算机网络与信息安全管理中心 | 一种基于vlan固化的网络报文复制及分发方法 |
CN107342926A (zh) * | 2017-06-13 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种多业务快速匹配分发的方法 |
CN108540350A (zh) * | 2018-04-20 | 2018-09-14 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的网络流量预处理方法 |
CN108683610A (zh) * | 2018-04-12 | 2018-10-19 | 国家计算机网络与信息安全管理中心 | 一种实现多业务规则匹配以及流量复制的系统及方法 |
CN109510785A (zh) * | 2018-12-27 | 2019-03-22 | 杭州迪普科技股份有限公司 | 一种镜像报文的方法和装置 |
CN111131479A (zh) * | 2019-12-27 | 2020-05-08 | 迈普通信技术股份有限公司 | 流量处理方法、装置及分流器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8358591B2 (en) * | 2007-06-06 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Network traffic monitoring in a server network environment |
US8615008B2 (en) * | 2007-07-11 | 2013-12-24 | Foundry Networks Llc | Duplicating network traffic through transparent VLAN flooding |
US20140010096A1 (en) * | 2012-07-09 | 2014-01-09 | International Business Machines Corporation | Port mirroring in distributed switching systems |
US20180176153A1 (en) * | 2016-12-15 | 2018-06-21 | NoFutzNetworks Inc. | Method of Load-Balanced Traffic Assignment Using a Centrally-Controlled Switch |
US20190215385A1 (en) * | 2018-01-10 | 2019-07-11 | Nexvortex, Inc. | Packet Replication Over Dynamically Managed Bonded Tunnels |
-
2022
- 2022-04-27 CN CN202210457356.2A patent/CN114827034B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368775A (zh) * | 2013-07-09 | 2013-10-23 | 杭州华三通信技术有限公司 | 流量备份方法及核心交换设备 |
CN103490961A (zh) * | 2013-09-05 | 2014-01-01 | 杭州华三通信技术有限公司 | 一种网络设备 |
CN106612234A (zh) * | 2015-10-27 | 2017-05-03 | 国家计算机网络与信息安全管理中心 | 一种基于vlan固化的网络报文复制及分发方法 |
CN107342926A (zh) * | 2017-06-13 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种多业务快速匹配分发的方法 |
CN108683610A (zh) * | 2018-04-12 | 2018-10-19 | 国家计算机网络与信息安全管理中心 | 一种实现多业务规则匹配以及流量复制的系统及方法 |
CN108540350A (zh) * | 2018-04-20 | 2018-09-14 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的网络流量预处理方法 |
CN109510785A (zh) * | 2018-12-27 | 2019-03-22 | 杭州迪普科技股份有限公司 | 一种镜像报文的方法和装置 |
CN111131479A (zh) * | 2019-12-27 | 2020-05-08 | 迈普通信技术股份有限公司 | 流量处理方法、装置及分流器 |
Non-Patent Citations (1)
Title |
---|
冯国富 ; 张金城 ; 顾庆 ; 陆桑璐 ; 陈道蓄 ; .一种基于覆盖网络拓扑的无结构P2P主动复制策略.软件学报.2007,(09),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114827034A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10063470B2 (en) | Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof | |
US9819612B2 (en) | Multi-homing in an extended bridge | |
CN102238083B (zh) | 用于适配分组处理流水线的系统和方法 | |
CN103873374B (zh) | 虚拟化系统中的报文处理方法及装置 | |
CN109768883A (zh) | 一种网络拓扑路径的确定方法、装置和终端设备 | |
CN105450529B (zh) | 跨二层虚拟网络传输组播报文的方法、设备及系统 | |
CN106789652B (zh) | 业务分流方法及装置 | |
CN107579898B (zh) | 一种多种容器间互联通信的方法及其装置 | |
CN107819742A (zh) | 一种动态部署网络安全服务的系统架构及其方法 | |
US11134129B2 (en) | System for determining whether to forward packet based on bit string within the packet | |
CN110249593A (zh) | 根据变电站拓扑规范配置ied过程总线网络交换机的系统和方法 | |
CN112235193B (zh) | 基于跨网络多级路由的数据传输方法、装置、设备和介质 | |
CN104135446A (zh) | 基于SDN实现IPv4向IPv6过渡的系统及方法 | |
CN114157533A (zh) | 一种基于clos架构的报文跨板组播复制转发方法和系统 | |
US9258254B2 (en) | Virtual router and switch | |
CN114827034B (zh) | 基于fpga和交换芯片的流量复制方法和装置 | |
CN104520837A (zh) | 递归性多对多网络拓扑 | |
CN107294746B (zh) | 一种部署业务的方法及设备 | |
CN109995636A (zh) | 混合组网方法、装置、系统、设备及介质 | |
Zhang et al. | P4SC: A high performance and flexible framework for service function chain | |
CN108183851B (zh) | 一种报文转发方法及转发设备 | |
CN113395183B (zh) | 网络仿真平台vlan互联的虚拟节点调度方法与系统 | |
CN115514702A (zh) | 快速切换链路的方法、装置、电子设备及存储介质 | |
WO2021232920A1 (zh) | 数据传输方法、电子设备及存储介质 | |
US20140086244A1 (en) | Method and Apparatus For Performing Multicast Backbone Media Access Channel (BMAC) Header Transformations |
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 |