CN112637090A - 一种基于可编程交换芯片的动态多级流控的方法 - Google Patents
一种基于可编程交换芯片的动态多级流控的方法 Download PDFInfo
- Publication number
- CN112637090A CN112637090A CN202011609089.3A CN202011609089A CN112637090A CN 112637090 A CN112637090 A CN 112637090A CN 202011609089 A CN202011609089 A CN 202011609089A CN 112637090 A CN112637090 A CN 112637090A
- Authority
- CN
- China
- Prior art keywords
- message
- port
- programmable
- flow control
- chip
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于可编程交换芯片的动态多级流控的方法,采用动态多级流控装置,该动态多级流控装置包括:流量汇聚和分发的分流器可编程交换芯片,用于对报文进行深度分析的DPI服务器,以及和DPI服务器进行控制面信息交互的主控CPU;该方法借助于可编程交换芯片的灵活性,提供几十倍于普通交换芯片的规则容量,从而仅通过交换性芯片就能满足动态流控设备的需求,而不需要借助于额外的硬件,能降低硬件成本,且提高流控装置的整体吞吐量和减小报文的转发时延。
Description
技术领域
本发明涉及计算机通信技术领域,特别涉及一种基于可编程交换芯片的动态多级流控的方法。
背景技术
随着网络规模的不断增加和网络应用的不断丰富,传统的分流器交换芯片提供的精确五元组规则容量已经远不能满足实际的需求,所以一般需要搭配额外的硬件,譬如NP(网络处理器)或者多核CPU,通过把报文转发到额外的处理单元,来支持大规则容量。但是这种方式既增加了硬件成本又加大了报文的处理时延,而且由于NP和多核CPU处理的网络流量的带宽限制,这种方案也降低了分流器整体的吞吐量。
因此,如何提高分流器的吞吐量、减少对硬件的开销,同行业从业人员亟需解决。
发明内容
有鉴于此,本发明提供了一种基于可编程交换芯片的动态多级流控的方法,可以解决提高分流器的吞吐量、减少对硬件的开销的问题。
本发明实施例提供一种基于可编程交换芯片的动态多级流控的方法,采用动态多级流控装置,该动态多级流控装置包括:流量汇聚和分发的分流器可编程交换芯片,用于对报文进行深度分析的DPI服务器,以及和DPI服务器进行控制面信息交互的主控CPU;
所述方法包括:
S11、所述可编程交换芯片接收来自网络的数据报文并解析;根据入端口获取端口属性表,根据所述端口属性表获得入端口信息;所述入端口信息包括:入端口组、入端口标识、报文转发出口和报文复制端口组;
S12、根据报文解析的IP五元组信息匹配IP规则表;当命中时,获取一级限速ID、二级限速ID、三级限速ID或DSCP值;
S13、将经过限速或DSCP修改的原始报文从指定的报文转发出口发送出去;
S14、将打上入端口标识的复制报文从指定的复制端口发送到DPI服务器;
S15、DPI服务器对接收的数据报文进行解析,并查找用户配置的策略表;当命中时,将报文的IP五元组信息提取出来加上命中的策略信息组成控制报文通过带内接口发送给所述可编程交换芯片;所述策略信息包括:对原始报文进行限速的速率或DSCP修改的值;
S16、所述可编程交换芯片接收到DPI服务器过来的所述控制报文,将所述控制报文发送给可编程交换芯片的CPU端口;所述CPU端口通过PCIE或者网卡与主控CPU通信;
S17、所述主控CPU收到所述控制报文,提取其中的IP五元组信息以及策略信息,经过数据转换成匹配动作规则下发到所述可编程交换芯片的匹配动作表项中实时生效。
进一步地,步骤S14包括:对于复制的报文,根据端口属性中的VLAN ID值对报文增加VLAN TAG,从指定的复制端口发送到DPI服务器。
本发明实施例提供的一种基于可编程交换芯片的动态多级流控的方法,采用动态多级流控装置,该动态多级流控装置包括:流量汇聚和分发的分流器可编程交换芯片,用于对报文进行深度分析的DPI服务器,以及和DPI服务器进行控制面信息交互的主控CPU;该方法借助于可编程交换芯片的灵活性,提供几十倍于普通交换芯片的规则容量,从而仅通过交换性芯片就能满足动态流控设备的需求,而不需要借助于额外的硬件,能降低硬件成本,且提高流控装置的整体吞吐量和减小报文的转发时延。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的动态多级流控装置结构图;
图2为本发明实施例提供的基于可编程交换芯片的动态多级流控的方法流程图;
图3为具体实施例的可编程交换芯片的动态多级流控的方法流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的基于可编程交换芯片的动态多级流控的方法,借助于可编程交换芯片的灵活性,提供几十倍于普通交换芯片的规则容量,从而仅通过交换性芯片就能满足动态流控设备的需求,而不需要借助于额外的硬件,能降低硬件成本,且提高流控装置的整体吞吐量和减小报文的转发时延。
该方法采用动态多级流控装置,参照图1所示,该装置包括:用于流量汇聚和分发的可编程交换芯片,用于对报文进行深度分析的DPI服务器,以及和DPI服务器进行控制面信息交互的主控CPU。其中,该主控CPU可使用Intel多核CPU。
可编程交换芯片用于接收网络数据报文,转发到对应的端口,并复制一份给DPI服务器,DPI服务器对报文进行深度解析,然后匹配策略表,命中后生成携带IP五元组和命中的策略信息组成控制报文并下发给分流器,分流交换芯片收到控制报文后转发到主控CPU,主控CPU处理控制报文生成ACL规则(匹配动作规则)配置到交换芯片的表项中实时生效。
基于可编程交换芯片的动态多级流控方法,参照图2所示,步骤如下:
S11、所述可编程交换芯片接收来自网络的数据报文并解析;根据入端口获取端口属性表,根据所述端口属性表获得入端口信息;所述入端口信息包括:入端口组、入端口标识、报文转发出口和报文复制端口组;
S12、根据报文解析的IP五元组信息匹配IP规则表;当命中时,获取一级限速ID、二级限速ID、三级限速ID或DSCP值;
S13、将经过限速或DSCP修改的原始报文从指定的报文转发出口发送出去;
S14、将打上入端口标识的复制报文从指定的复制端口发送到DPI服务器;
S15、DPI服务器对接收的数据报文进行解析,并查找用户配置的策略表;当命中时,将报文的IP五元组信息提取出来加上命中的策略信息组成控制报文通过带内接口发送给所述可编程交换芯片;所述策略信息包括:对原始报文进行限速的速率或DSCP修改的值;
S16、所述可编程交换芯片接收到DPI服务器过来的所述控制报文,将所述控制报文发送给可编程交换芯片的CPU端口;所述CPU端口通过PCIE或者网卡与主控CPU通信;
S17、所述主控CPU收到所述控制报文,提取其中的IP五元组信息以及策略信息,经过数据转换成匹配动作规则下发到所述可编程交换芯片的匹配动作表项中实时生效。
其中,上述步骤S11中,可编程交换芯片接收网络数据报文,然后对报文进行解析,解析完之后获取对应端口的属性,入端口信息包含:入端口组、入端口标识、报文转发出口和报文复制端口组(复制到一组DPI服务器);并按照端口的转发出口(所有输入的报文需要转发到对应的出口)指定报文的转发出口,按照端口的复制组(所有输入报文需要复制给对应的DPI服务器)指定报文的复制信息,且会根据端口的VLAN标识对复制报文加上一层携带指定VID的VLAN TAG,再进行IP五元组规则匹配,根据匹配结果来决定是否需要对转发报文做多级流控(基于用户、用户组、业务的限速)或者DSCP(IP报文头中用于区分服务的字段)修改。
步骤S15中,DPI服务器对接收的数据报文进行深度解析,并查找用户配置的策略表,如果命中,就将报文的IP五元组信息提取出来加上命中的策略信息(报文限速的速率或DSCP修改的值)组成的控制报文通过带内(数据通道)接口发送给分流器的交换芯片。
具体地,如图3所示:
->首先,分流器的可编程交换芯片接收来自网络的数据报文;
->然后按照预先定义好的解析流程对报文进行一步步解析,获取报文头部的协议字段信息;
->根据入端口获取端口属性表,主要包含入端口组、用于入端口标识的VLAN ID、报文转发出口、报文复制组ID、报文复制端口组等信息;
->根据报文解析的IP五元组信息(如果非IP报文,对应的IP五元组字段为无效值,即不会命中任何IP规则表)匹配IP规则表,如果命中,获取一级限速ID、二级限速ID、三级限速ID或DSCP值;
->根据端口属性中的转发出口对报文进行转发、根据端口属性中的复制组ID对报文进行端口组复制、以及端口组内进行负载分担且支持同源同宿(同一条流输出到同一个出口)输出,复制组由控制面预先创建,可以包含多个输出端口组,每个端口组会复制一份报文,然后每份报文会在端口组内进行HASH负载分担输出,HASH字段采用源IP地址和目的IP地址保证报文的同源同宿;
->对于转发的报文,如果前面有命中IP规则表,且对应的策略是流控,根据获取的一级限速ID查找一级限速模板表,获取一级限速速率;同样的获取二级限速速率和三级限速速率,然后通过三个基于令牌桶的meter分别对报文进行三级限速,不管是哪一级meter没有拿到令牌,报文都会被丢弃从而达到多级限速的作用。如果IP规则表对于的策略是DSCP修改,根据获取的DSCP值对报文进行IP DSCP字段进行修改。
->最后,进行流控或DSCP修改的报文通过交换芯片发送回网络。
->对于复制的报文,根据端口属性中的VLAN ID值对报文增加VLAN TAG,然后发送报文到DPI服务器。
->DPI服务器接收到分流器过来报文,对报文进行深度解析,然后根据解析的报文信息匹配用户配置的策略表,如果命中了策略表,DPI会提取报文的IP五元组以及策略信息组成新的控制报文并通过数据通道发送到分流器;
->分流的交换芯片收到DPI过来的控制报文,会转发到CPU端口,交换芯片的CPU端口通过PCIE和主控CPU进行连接的;
->主控CPU收到交换发过来的控制报文,会解析出报文里面的IP五元组以及策略信息,然后转换到IP规则下发给交换芯片,这样IP规则表项就被动态更新,从而实现动态流控。
本发明实施例,与现有技术相比,借助于可编程交换芯片的灵活性,提供几十倍于普通交换芯片的规则容量,从而仅通过交换性芯片就能满足动态流控设备的需求,而不需要借助于额外的硬件,从而节省了很大的硬件成本,且提高流控装置的整体吞吐量和减小报文的转发时延。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (2)
1.一种基于可编程交换芯片的动态多级流控的方法,其特征在于,采用动态多级流控装置,该动态多级流控装置包括:流量汇聚和分发的分流器可编程交换芯片,用于对报文进行深度分析的DPI服务器,以及和DPI服务器进行控制面信息交互的主控CPU;
所述方法包括:
S11、所述可编程交换芯片接收来自网络的数据报文并解析;根据入端口获取端口属性表,根据所述端口属性表获得入端口信息;所述入端口信息包括:入端口组、入端口标识、报文转发出口和报文复制端口组;
S12、根据报文解析的IP五元组信息匹配IP规则表;当命中时,获取一级限速ID、二级限速ID、三级限速ID或DSCP值;
S13、将经过限速或DSCP修改的原始报文从指定的报文转发出口发送出去;
S14、将打上入端口标识的复制报文从指定的复制端口发送到DPI服务器;
S15、DPI服务器对接收的数据报文进行解析,并查找用户配置的策略表;当命中时,将报文的IP五元组信息提取出来加上命中的策略信息组成控制报文通过带内接口发送给所述可编程交换芯片;所述策略信息包括:对原始报文进行限速的速率或DSCP修改的值;
S16、所述可编程交换芯片接收到DPI服务器过来的所述控制报文,将所述控制报文发送给可编程交换芯片的CPU端口;所述CPU端口通过PCIE或者网卡与主控CPU通信;
S17、所述主控CPU收到所述控制报文,提取其中的IP五元组信息以及策略信息,经过数据转换成匹配动作规则下发到所述可编程交换芯片的匹配动作表项中实时生效。
2.根据权利要求1所述的一种基于可编程交换芯片的动态多级流控的方法,其特征在于,步骤S14包括:对于复制的报文,根据端口属性中的VLAN ID值对报文增加VLAN TAG,从指定的复制端口发送到DPI服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011609089.3A CN112637090B (zh) | 2020-12-30 | 2020-12-30 | 一种基于可编程交换芯片的动态多级流控的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011609089.3A CN112637090B (zh) | 2020-12-30 | 2020-12-30 | 一种基于可编程交换芯片的动态多级流控的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637090A true CN112637090A (zh) | 2021-04-09 |
CN112637090B CN112637090B (zh) | 2023-04-07 |
Family
ID=75286645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011609089.3A Active CN112637090B (zh) | 2020-12-30 | 2020-12-30 | 一种基于可编程交换芯片的动态多级流控的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637090B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334003A (zh) * | 2022-08-10 | 2022-11-11 | 上海欣诺通信技术股份有限公司 | 一种基于汇聚分流设备的数据流处理方法及*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255754A (zh) * | 2011-07-08 | 2011-11-23 | 中国人民解放军国防科学技术大学 | 串行接入的高速骨干网络流量采集与监控方法 |
CN104348749A (zh) * | 2014-07-28 | 2015-02-11 | 湖北誉恒科技有限公司 | 一种流量控制方法、装置及*** |
CN104753931A (zh) * | 2015-03-18 | 2015-07-01 | 中国人民解放军信息工程大学 | 一种基于正则表达式的深度报文检测方法 |
CN107342926A (zh) * | 2017-06-13 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种多业务快速匹配分发的方法 |
CN107579877A (zh) * | 2017-09-18 | 2018-01-12 | 南京国电南自电网自动化有限公司 | 一种基于fpga的电力交换机流量监控***及监控方法 |
CN109510785A (zh) * | 2018-12-27 | 2019-03-22 | 杭州迪普科技股份有限公司 | 一种镜像报文的方法和装置 |
US10652154B1 (en) * | 2018-11-09 | 2020-05-12 | Innovium, Inc. | Traffic analyzer for autonomously configuring a network device |
CN111404776A (zh) * | 2020-03-11 | 2020-07-10 | 深圳市东晟数据有限公司 | 一种开放式硬件实现深度数据过滤分流的***及方法 |
CN111817960A (zh) * | 2020-07-23 | 2020-10-23 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112019458A (zh) * | 2020-09-11 | 2020-12-01 | 邦彦技术股份有限公司 | 数据报文转发方法及装置 |
CN112019446A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种接口限速方法、装置、设备及可读存储介质 |
-
2020
- 2020-12-30 CN CN202011609089.3A patent/CN112637090B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255754A (zh) * | 2011-07-08 | 2011-11-23 | 中国人民解放军国防科学技术大学 | 串行接入的高速骨干网络流量采集与监控方法 |
CN104348749A (zh) * | 2014-07-28 | 2015-02-11 | 湖北誉恒科技有限公司 | 一种流量控制方法、装置及*** |
CN104753931A (zh) * | 2015-03-18 | 2015-07-01 | 中国人民解放军信息工程大学 | 一种基于正则表达式的深度报文检测方法 |
CN107342926A (zh) * | 2017-06-13 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种多业务快速匹配分发的方法 |
CN107579877A (zh) * | 2017-09-18 | 2018-01-12 | 南京国电南自电网自动化有限公司 | 一种基于fpga的电力交换机流量监控***及监控方法 |
US10652154B1 (en) * | 2018-11-09 | 2020-05-12 | Innovium, Inc. | Traffic analyzer for autonomously configuring a network device |
CN109510785A (zh) * | 2018-12-27 | 2019-03-22 | 杭州迪普科技股份有限公司 | 一种镜像报文的方法和装置 |
CN111404776A (zh) * | 2020-03-11 | 2020-07-10 | 深圳市东晟数据有限公司 | 一种开放式硬件实现深度数据过滤分流的***及方法 |
CN111817960A (zh) * | 2020-07-23 | 2020-10-23 | 杭州迪普信息技术有限公司 | 流控设备的报文转发方法及装置 |
CN112019446A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种接口限速方法、装置、设备及可读存储介质 |
CN112019458A (zh) * | 2020-09-11 | 2020-12-01 | 邦彦技术股份有限公司 | 数据报文转发方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334003A (zh) * | 2022-08-10 | 2022-11-11 | 上海欣诺通信技术股份有限公司 | 一种基于汇聚分流设备的数据流处理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112637090B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020182150A1 (zh) | 报文处理方法、装置、设备及*** | |
CN113037500B (zh) | 网络设备和用于网络通信的方法 | |
WO2021207922A1 (zh) | 报文传输方法、装置及*** | |
US11575606B2 (en) | Method, apparatus, and system for generating, and processing packets according to, a flow filtering rule | |
CN105579990B (zh) | 应用感知网络管理方法和*** | |
WO2016095516A1 (zh) | 一种复杂事件处理方法、装置及*** | |
CN106972985B (zh) | 加速dpi设备数据处理与转发的方法和dpi设备 | |
US11750699B2 (en) | Small message aggregation | |
CN104320358A (zh) | 一种电力通信网中的QoS业务控制方法 | |
WO2021047402A1 (zh) | 应用识别方法、装置及存储介质 | |
TWI640177B (zh) | 基於軟體定義網路之資料傳輸方法與系統 | |
US7787453B2 (en) | Network interface controller with receive side scaling and quality of service | |
CN105591973A (zh) | 应用识别方法及装置 | |
US20130138920A1 (en) | Method and apparatus for packet processing and a preprocessor | |
CN110071853A (zh) | 一种报文统计方法及网络设备 | |
CN107769992B (zh) | 一种报文解析分流方法及装置 | |
WO2020151482A1 (zh) | 信息查询方法、装置、设备及存储介质 | |
CN111953552A (zh) | 数据流的分类方法和报文转发设备 | |
CN114172854A (zh) | 报文镜像、镜像配置方法、虚拟交换机及镜像配置装置 | |
CN112637090B (zh) | 一种基于可编程交换芯片的动态多级流控的方法 | |
CN105429881B (zh) | 一种组播报文转发方法和装置 | |
CN111970149B (zh) | 一种基于硬件防火墙qos的共享带宽实现方法 | |
CN106789671B (zh) | 一种业务报文转发方法及设备 | |
CN103346950A (zh) | 一种机架式无线控制器用户业务板间负载均摊方法及装置 | |
WO2022252634A1 (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 |