CN102904729A - 根据协议、端口分流支持多应用的智能加速网卡 - Google Patents

根据协议、端口分流支持多应用的智能加速网卡 Download PDF

Info

Publication number
CN102904729A
CN102904729A CN201210417951XA CN201210417951A CN102904729A CN 102904729 A CN102904729 A CN 102904729A CN 201210417951X A CN201210417951X A CN 201210417951XA CN 201210417951 A CN201210417951 A CN 201210417951A CN 102904729 A CN102904729 A CN 102904729A
Authority
CN
China
Prior art keywords
network interface
packet
intelligence
interface card
value
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
Application number
CN201210417951XA
Other languages
English (en)
Other versions
CN102904729B (zh
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.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201210417951.XA priority Critical patent/CN102904729B/zh
Publication of CN102904729A publication Critical patent/CN102904729A/zh
Application granted granted Critical
Publication of CN102904729B publication Critical patent/CN102904729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种根据协议、端口分流支持多应用的智能加速网卡,所述网卡包括分流单元和与其连接的存储单元。本发明提供的根据协议、端口分流支持多应用的智能加速网卡,解决了处理的带宽过大,严重影响处理的效率的问题。

Description

根据协议、端口分流支持多应用的智能加速网卡
技术领域
本发明属于网络通信领域,具体涉及一种根据协议、端口分流支持多应用的智能加速网卡。
背景技术
近年来主干网网络带宽增加迅猛,互联网应用种类日益增多,网络安全事件的种类和数量都呈现了指数性增长,为了维护国家安全、保障国家的根本利益,涌现出了一大批针对不同类型防御对象的类I DS(入侵检测***)。但由于机房空间、散热、成本等因素的限制使得靠无限的增加服务器来运行新的业务***和应对新增加的流量成为不可能,而一台服务器上运行多套业务***是一个较好的解决办法。
传统的多应用处理思想是将数据包拷贝多份然后由多个应用对拷贝的数据包进行处理,这种方式的优点是各个应用互不干涉,应用之间耦合少,但是缺点也很明显,需要将数据包拷贝多份,拷贝数据的开销巨大,严重的影响了上层业务***的运行。
为了解决该问题,部分厂商提出了支持多应用的零拷贝技术,该技术在用户空间开辟一个共享内存区,通过内存映射这一机制,将网卡得到的数据直接放入用户空间里去,多个用户通过共享缓冲区的机制工作。这种方式避免了数据包的多次拷贝,一定程度上提高了处理的效率,但每个应用仍旧需要处理所有的数据包。
然而在实际的处理过程中,应用往往需要根据流量的不同类型采取不同的处理方式,而之前的处理模式并没有对流量按类型进行分类,致使每个应用都要处理所有的流量,例如,针对IPv4TCP流量进行分析的应用完全不用分析IPv4UPD和IPv6的流量,这将极大的降低应用的处理效率。
现有的在一台服务器支持多个类IDS业务***的技术主要是数据包多重拷贝技术和采用零拷贝的缓冲区全局共享技术。
数据包多重拷贝技术是对接收的数据复制多份,并分别上传给不同的应用,这种方式可以避免应用之间的耦合,使多个应用互不干扰的独立处理数据包,但缺点也很明显,需要将数据包拷贝多份,拷贝数据的开销巨大,严重的影响了上层业务***的运行;
采用零拷贝的缓冲区全局共享技术是在用户空间开辟一个共享内存区,通过内存映射这一机制,将网卡得到的数据直接DMA到用户空间里去,多个用户通过共享缓冲区的机制共享缓冲区的数据包,由驱动程序控制数据的接收与释放,这种方式避免了数据包的多次拷贝,一定程度上提高了处理的效率,但每个应用仍旧需要处理所有的数据包,而实际中很多应用是基于特定的流量特征进行分析的,对不相关流量的处理不仅没有效果,反而会因处理的带宽过大,严重影响处理的效率。
发明内容
为克服上述缺陷,本发明提供了一种根据协议、端口分流支持多应用的智能加速网卡,解决了处理的带宽过大,严重影响处理的效率的问题。
为实现上述目的,本发明提供一种根据协议、端口分流支持多应用的智能加速网卡,其改进之处在于,所述网卡包括分流单元和与其连接的存储单元。
本发明提供的优选技术方案中,所述分流单元包括:依次连接的寄存器、规则匹配模块和负载均衡计算模块。
本发明提供的第二优选技术方案中,所述存储单元,用于缓冲数据包和存放分流规则。
本发明提供的第三优选技术方案中,所述寄存器,用于加载存放于所述存储单元中的分流规则。
本发明提供的第四优选技术方案中,所述规则匹配模块,根据读取的分流规则,对接收的数据包与进行分流规则匹配,并将匹配成功的数据包的源IP和目的IP传递到所述负载均衡计算模块。
本发明提供的第五优选技术方案中,所述负载均衡计算模块,根据计算得到归属的缓冲区ID,然后将该数据包DMA到该缓冲区中。
本发明提供的第六优选技术方案中,设置如下参数:源IP地址ip、目的IP地址dip、中间状态值r和最终状态值r2,计算过程如下:
(a).源IP地址ip和目的IP地址dip做异或运算,得到中间状态值r;
(b).将r右移动4位之后的值与r右移12位的值做异或运算,得到最终状态值r2;
(c).将最终状态值r2与0x0000ffff进行与运算,取得最终状态值r2的最低16位;
其中,最终状态值r2的最低16位为数据包的hash值。
本发明提供的第七优选技术方案中,所述分流单元,采用型号为XC5VLX110T的FPGA芯片。
本发明提供的第八优选技术方案中,所述存储单元采用容量为4G的DDR3存储器。
与现有技术比,本发明提供的一种根据协议、端口分流支持多应用的智能加速网卡,可以根据业务***的需要,将满足相应协议和端口的流量分配到指定的缓冲区,业务***只需要从该缓冲区中取数据即可,该加速卡采用缓冲区共享的机制对多应用进行支持,并且支持多应用设置优先级。因为每个业务只需要与自己相关的流量,从而降低了该业务需要处理的带宽,提高了业务处理的效率,有效的减少了投资规模。
附图说明
图1为根据协议、端口分流支持多应用的智能加速网卡的结构示意图。
图2为分流单元的结构示意图。
具体实施方式
如图1所示,根据协议、端口分流支持多应用的智能加速网卡,其改进之处在于,所述网卡包括分流单元和与其连接的存储单元。
如图2所示,所述分流单元包括:依次连接的寄存器、规则匹配模块和负载均衡计算模块。
所述存储单元,用于缓冲数据包和存放分流规则。
所述寄存器,用于加载存放于所述存储单元中的分流规则。
所述规则匹配模块,根据读取的分流规则,对接收的数据包与进行分流规则匹配,并将匹配成功的数据包的源IP和目的IP传递到所述负载均衡计算模块。
所述负载均衡计算模块,根据以下公式进行计算,得到归属的缓冲区ID,然后将该数据包DMA到该缓冲区中。
负载均衡计算公式:
以sip(源IP地址)、dip(目的IP地址)两个值做为参数
inline int getHashValue(__u32sip,__u32dip)
{
int r,r2;
计算步骤一:源IP地址和目的IP地址做异或运算,得到中间状态值r
r=sip∧dip;
计算步骤二:将r右移动4位之后的值再与r右移12位的值做异或运算,得到最将状态值r2
r2=(r>>4)∧(r>>12);
计算步骤三:将r2与0x0000ffff,即取得r2的最低16位
retu rn r2&0x0000ffff;
}
其中,最终状态值r2的最低16位为数据包的hash值。
通过以上公式相同的源I P和目的I P将得到相同的hash值,相同hash值的数据包将会将DMA到同一个缓冲区中。
所述分流单元,采用型号为XC5VLX110T的FPGA芯片。
所述存储单元采用容量为4G的DDR3存储器。
通过以下实施例对根据协议、端口分流支持多应用的智能加速网卡作进一步描述。
一款可根据协议、端口分流且支持多应用的智能加速网卡,该卡是一个基于FPGA芯片的PCIe接口插卡式产品,该卡可根据三层协议、四层协议和端口等属性对网络报文进行分类,满足不同属性种类的数据包会被分配到不同的缓冲区,多个缓冲区通过源IP和目的IP实现了同源同宿的负载均衡分流,保证了同一个连接的数据包总是被分配到一个缓冲区,此外该卡实现了IPv4和IPv6双栈的功能,可接收处理IPv4和IPv6流量的数据包。上层业务***根据其需要的流量特征,选择与其相关的缓冲区取数据处理即可,选择几个缓冲区完全由应用程序自主控制,由卡的驱动程序负责维护各个应用取包信息,对多个应用按照其设定的优先级进行差别化支持,根据业务***的优先级保证高优先级的应用优先取包。
为了提高在一台服务器运行多个业务***的吞吐量,提高多业务***的处理效率,满足对日益增加和日趋复杂的流量的监管,保护网民的合法权益,维护和谐网络环境,曙光公司研发了一款根据协议、端口分流且支持多应用的智能加速网卡,该卡核心部件是一个专用FPGA芯片,通过芯片内部的逻辑电路实现根据协议、端口进行分流,同时该卡还对多应用提供了支持,多个应用可通过共享缓冲队列的方实现共享,避免了数据包的多次拷贝,该卡支持IPv4和IPv6双栈模式,提供了极大的扩展性。
整个智能加速卡上集成了4GB内存,负责缓冲高速数据包和存放分流规则,命中分流规则的数据包将会被DMA到相应的缓冲区队列中,如果一个分流规则对应多个缓冲区队列,卡的FPGA芯片会根据数据包的源IP和目的IP选择一个缓冲区队列,选择的算法即可保证多个缓冲区队列负载均衡,又要保证同一个连接的数据包始终DMA到同一个缓冲区队列中去,整个分流命中过程完全由卡上的核心芯片控制,不占用任何主机资源,所以在保持高效分流的同时,还可以将主机的全部计算资源留给业务***。
业务***根据其需要的流量特征,选择与其相关的缓冲区取数据处理即可,选择几个缓冲区完全由应用程序自主控制,由卡的驱动程序负责维护各个业务***的取包队列,对多个应用按照其设定的优先级进行差别化支持,根据业务***的优先级保持高优先级的应用优先取包。
设置加速卡的分流规则,加速卡加载时会按照配置文件将分流规则加载到加速卡寄存器,数据包到达加速卡后与分流规则匹配,匹配后再进行负载均衡计算,最终得到归属的缓冲区ID,然后加速卡将该数据包DMA到该缓冲区中。支持多应用的驱动程序根据各个应用的优先级维护各个共享缓冲区队列。业务***选择需要的流量特征所对应的缓冲区,并从缓冲区中取包分析,选择缓冲区的个数完全和类型完全由业务***控制,通过这种机制,每个业务***可屏蔽掉无关的数据,这将极大的提高整体***的吞吐量,降低业务***的规模。
需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。

Claims (9)

1.一种根据协议、端口分流支持多应用的智能加速网卡,其特征在于,所述网卡包括分流单元和与其连接的存储单元。
2.根据权利要求1所述的智能加速网卡,其特征在于,所述分流单元包括:依次连接的寄存器、规则匹配模块和负载均衡计算模块。
3.根据权利要求1所述的智能加速网卡,其特征在于,所述存储单元,用于缓冲数据包和存放分流规则。
4.根据权利要求2所述的智能加速网卡,其特征在于,所述寄存器,用于加载存放于所述存储单元中的分流规则。
5.根据权利要求2所述的智能加速网卡,其特征在于,所述规则匹配模块,根据读取的分流规则,对接收的数据包与进行分流规则匹配,并将匹配成功的数据包的源IP和目的IP传递到所述负载均衡计算模块。
6.根据权利要求1所述的智能加速网卡,其特征在于,所述负载均衡计算模块,根据计算得到归属的缓冲区ID,然后将该数据包DMA到该缓冲区中。
7.根据权利要求6所述的智能加速网卡,其特征在于,设置如下参数:源IP地址ip、目的IP地址dip、中间状态值r和最终状态值r2,计算过程如下:
(a).源IP地址ip和目的IP地址dip做异或运算,得到中间状态值r;
(b).将r右移动4位之后的值与r右移12位的值做异或运算,得到最终状态值r2;
(c).将最终状态值r2与0x0000ffff进行与运算,取得最终状态值r2的最低16位;
其中,最终状态值r2的最低16位为数据包的hash值。
8.根据权利要求1、2所述的智能加速网卡,其特征在于,所述分流单元,采用型号为XC5VLX110T的FPGA芯片。
9.根据权利要求1、2所述的智能加速网卡,其特征在于,所述存储单元采用容量为4G的DDR3存储器。
CN201210417951.XA 2012-10-26 2012-10-26 根据协议、端口分流支持多应用的智能加速网卡 Active CN102904729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210417951.XA CN102904729B (zh) 2012-10-26 2012-10-26 根据协议、端口分流支持多应用的智能加速网卡

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210417951.XA CN102904729B (zh) 2012-10-26 2012-10-26 根据协议、端口分流支持多应用的智能加速网卡

Publications (2)

Publication Number Publication Date
CN102904729A true CN102904729A (zh) 2013-01-30
CN102904729B CN102904729B (zh) 2018-05-01

Family

ID=47576783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210417951.XA Active CN102904729B (zh) 2012-10-26 2012-10-26 根据协议、端口分流支持多应用的智能加速网卡

Country Status (1)

Country Link
CN (1) CN102904729B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501548A (zh) * 2013-09-06 2014-01-08 大连理工大学 面向多优先级数据硬件缓冲的无线通信网卡
CN103763198A (zh) * 2013-11-15 2014-04-30 武汉绿色网络信息服务有限责任公司 一种数据包分类方法
WO2015113437A1 (zh) * 2014-01-29 2015-08-06 华为技术有限公司 基于并行协议栈实例的数据包处理方法和装置
CN104954283A (zh) * 2014-03-31 2015-09-30 中国电信股份有限公司 一种双栈差异化调度方法和装置
CN105704059A (zh) * 2016-03-31 2016-06-22 北京百卓网络技术有限公司 一种负载均衡方法和***
CN105763617A (zh) * 2016-03-31 2016-07-13 北京百卓网络技术有限公司 一种负载均衡方法和***
CN106371925A (zh) * 2016-08-31 2017-02-01 北京中测安华科技有限公司 一种高速大数据的检测方法及装置
CN107193657A (zh) * 2017-05-18 2017-09-22 安徽磐众信息科技有限公司 基于solaflare网卡的低延迟服务器
CN109783409A (zh) * 2019-01-24 2019-05-21 北京百度网讯科技有限公司 用于处理数据的方法和装置
WO2019129167A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种处理数据报文的方法和网卡
CN110177083A (zh) * 2019-04-26 2019-08-27 阿里巴巴集团控股有限公司 一种网卡、数据发送/接收方法及设备
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
CN110417675A (zh) * 2019-07-29 2019-11-05 广州竞远安全技术股份有限公司 一种soc下高性能探针的网络分流方法、装置及***
CN110768907A (zh) * 2019-09-12 2020-02-07 苏州浪潮智能科技有限公司 一种管理fpga异构加速卡集群的方法、设备及介质
US11082410B2 (en) 2019-04-26 2021-08-03 Advanced New Technologies Co., Ltd. Data transceiving operations and devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080045342A1 (en) * 2003-03-05 2008-02-21 Bally Gaming, Inc. Data Integrity and Non-Repudiation
CN101540727A (zh) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 一种ip报文的硬件分流方法
CN102387219A (zh) * 2011-12-13 2012-03-21 曙光信息产业(北京)有限公司 一种多网卡负载均衡***和方法
CN102497298A (zh) * 2011-12-19 2012-06-13 曙光信息产业(北京)有限公司 一种基于流量统计网卡的网络审计设备和方法
CN102752119A (zh) * 2012-07-09 2012-10-24 南京中兴特种软件有限责任公司 一种智能网卡的接口实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080045342A1 (en) * 2003-03-05 2008-02-21 Bally Gaming, Inc. Data Integrity and Non-Repudiation
CN101540727A (zh) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 一种ip报文的硬件分流方法
CN102387219A (zh) * 2011-12-13 2012-03-21 曙光信息产业(北京)有限公司 一种多网卡负载均衡***和方法
CN102497298A (zh) * 2011-12-19 2012-06-13 曙光信息产业(北京)有限公司 一种基于流量统计网卡的网络审计设备和方法
CN102752119A (zh) * 2012-07-09 2012-10-24 南京中兴特种软件有限责任公司 一种智能网卡的接口实现方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501548B (zh) * 2013-09-06 2016-05-11 大连理工大学 面向多优先级数据硬件缓冲的无线通信网卡
CN103501548A (zh) * 2013-09-06 2014-01-08 大连理工大学 面向多优先级数据硬件缓冲的无线通信网卡
CN103763198A (zh) * 2013-11-15 2014-04-30 武汉绿色网络信息服务有限责任公司 一种数据包分类方法
CN103763198B (zh) * 2013-11-15 2016-08-17 武汉绿色网络信息服务有限责任公司 一种数据包分类方法
WO2015113437A1 (zh) * 2014-01-29 2015-08-06 华为技术有限公司 基于并行协议栈实例的数据包处理方法和装置
US10218820B2 (en) 2014-01-29 2019-02-26 Huawei Technologies Co., Ltd. Method and apparatus for processing data packet based on parallel protocol stack instances
CN104954283B (zh) * 2014-03-31 2018-10-19 中国电信股份有限公司 一种双栈差异化调度方法和装置
CN104954283A (zh) * 2014-03-31 2015-09-30 中国电信股份有限公司 一种双栈差异化调度方法和装置
CN105704059A (zh) * 2016-03-31 2016-06-22 北京百卓网络技术有限公司 一种负载均衡方法和***
CN105763617A (zh) * 2016-03-31 2016-07-13 北京百卓网络技术有限公司 一种负载均衡方法和***
CN105763617B (zh) * 2016-03-31 2019-08-02 北京百卓网络技术有限公司 一种负载均衡方法和***
CN106371925A (zh) * 2016-08-31 2017-02-01 北京中测安华科技有限公司 一种高速大数据的检测方法及装置
CN107193657A (zh) * 2017-05-18 2017-09-22 安徽磐众信息科技有限公司 基于solaflare网卡的低延迟服务器
WO2019129167A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 一种处理数据报文的方法和网卡
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
CN109783409A (zh) * 2019-01-24 2019-05-21 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN110177083A (zh) * 2019-04-26 2019-08-27 阿里巴巴集团控股有限公司 一种网卡、数据发送/接收方法及设备
CN110177083B (zh) * 2019-04-26 2021-07-06 创新先进技术有限公司 一种网卡、数据发送/接收方法及设备
US11082410B2 (en) 2019-04-26 2021-08-03 Advanced New Technologies Co., Ltd. Data transceiving operations and devices
CN110417675A (zh) * 2019-07-29 2019-11-05 广州竞远安全技术股份有限公司 一种soc下高性能探针的网络分流方法、装置及***
CN110768907A (zh) * 2019-09-12 2020-02-07 苏州浪潮智能科技有限公司 一种管理fpga异构加速卡集群的方法、设备及介质

Also Published As

Publication number Publication date
CN102904729B (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
CN102904729A (zh) 根据协议、端口分流支持多应用的智能加速网卡
CN101771627B (zh) 互联网实时深度包解析和控制节点设备和方法
CN104519458B (zh) 一种网络连接的方法、终端、无线路由器及***
WO2022225639A1 (en) Service mesh offload to network devices
CN103081434B (zh) 智能存储器
CN102904730A (zh) 根据协议、端口和ip地过滤挑选流量的智能加速网卡
US20070115981A1 (en) System and method for filtering communications at a network interface controller
CN104205080A (zh) 为联网设备虚拟化卸载分组处理
CN107873129A (zh) 用于不受管理的设备的安全服务
CN109981403A (zh) 虚拟机网络数据流量监控方法及装置
CN101873337A (zh) 一种基于rt8169千兆网卡和Linux操作***的零拷贝数据捕获技术
CN104572574A (zh) 基于千兆以太网视觉协议的以太网控制器ip核及方法
CN103491535B (zh) 面向传感器网络的隐私保护通用近似查询方法
CN104461979A (zh) 基于环形总线的多核片上通信网络实现方法
CN102790773A (zh) 一种家庭网关用防火墙的实现方法
KR20230157347A (ko) 네트워크 인터페이스 디바이스
CN117157963A (zh) 卸载到网络设备的可靠传输
CN102970190B (zh) 一种网络流量监测***
CN117651936A (zh) 网络层7卸载到服务网格的基础设施处理单元
Chen et al. A survey of kernel-bypass techniques in network stack
US11126249B1 (en) Power reduction methods for variable sized tables
CN107612679A (zh) 一种基于国密算法的安全以太网桥加扰终端
CN105099957A (zh) 一种基于软件查表的数据包转发方法
Li et al. The comparison and verification of some efficient packet capture and processing technologies
CN116170386A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 100193 No.36 Zhongguancun Software Park, No.8 Dongbeiwang West Road, Haidian District, Beijing

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right