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

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

Info

Publication number
CN102904729B
CN102904729B CN201210417951.XA CN201210417951A CN102904729B CN 102904729 B CN102904729 B CN 102904729B CN 201210417951 A CN201210417951 A CN 201210417951A CN 102904729 B CN102904729 B CN 102904729B
Authority
CN
China
Prior art keywords
data packet
network card
applications
value
acceleration network
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
Application number
CN201210417951.XA
Other languages
English (en)
Other versions
CN102904729A (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

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 (5)

1.一种根据协议、端口分流支持多应用的智能加速网卡,其特征在于,所述网卡包括分流单元和与其连接的存储单元;
所述分流单元包括:依次连接的寄存器、规则匹配模块和负载均衡计算模块;
所述寄存器,用于加载存放于所述存储单元中的分流规则;
所述存储单元,用于缓冲数据包和存放分流规则;
设置如下参数:源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值。
2.根据权利要求1所述的智能加速网卡,其特征在于,所述规则匹配模块,根据读取的分流规则,对接收的数据包与进行分流规则匹配,并将匹配成功的数据包的源IP和目的IP传递到所述负载均衡计算模块。
3.根据权利要求1所述的智能加速网卡,其特征在于,所述负载均衡计算模块,根据计算得到归属的缓冲区ID,然后将该数据包DMA到该缓冲区中。
4.根据权利要求1所述的智能加速网卡,其特征在于,所述分流单元,采用型号为XC5VLX110T的FPGA芯片。
5.根据权利要求1所述的智能加速网卡,其特征在于,所述存储单元采用容量为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 CN102904729A (zh) 2013-01-30
CN102904729B true 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)

Families Citing this family (15)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 南京中兴特种软件有限责任公司 一种智能网卡的接口实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9240888B2 (en) * 2003-03-05 2016-01-19 Bally Gaming, Inc. Authentication system for gaming machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 南京中兴特种软件有限责任公司 一种智能网卡的接口实现方法

Also Published As

Publication number Publication date
CN102904729A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN102904729B (zh) 根据协议、端口分流支持多应用的智能加速网卡
CN104205080B (zh) 为联网设备虚拟化卸载分组处理
CN104142867B (zh) 数据处理装置及数据处理方法
CN101771627B (zh) 互联网实时深度包解析和控制节点设备和方法
CN112115090A (zh) 用于事务的多协议支持
CN104348740B (zh) 数据包处理方法和系统
CN104050041B (zh) 用于在处理器中调度规则匹配的调度方法和装置
US9342366B2 (en) Intrusion detection apparatus and method using load balancer responsive to traffic conditions between central processing unit and graphics processing unit
US8930618B2 (en) Smart memory
US20150127649A1 (en) Efficient implementations for mapreduce systems
US20200403919A1 (en) Offload of acknowledgements to a network device
US11936571B2 (en) Reliable transport offloaded to network devices
CN107851157A (zh) 恶意软件的检测
CN102904730A (zh) 根据协议、端口和ip地过滤挑选流量的智能加速网卡
CN107409119A (zh) 通过网络特性来确定信誉
Afek et al. Making DPI engines resilient to algorithmic complexity attacks
CN103560958B (zh) 一种数据包的规则匹配方法及装置
CN103441952B (zh) 基于多核或众核嵌入式处理器的网络数据包处理方法
CN115118668A (zh) 流控制技术
CN103731364A (zh) 基于x86平台实现万兆大流量快速收包的方法
CN105283864B (zh) 管理裸机客户
CN103942149B (zh) 用户态程序与内核交互报文的方法及系统
CN106161522A (zh) 一种网络设备间的通信方法、网络设备及分布式网络
CN105656748A (zh) 网络中的边信道攻击阻止
CN102495764A (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