首页> 中国专利> 根据协议、端口分流支持多应用的智能加速网卡

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

摘要

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

著录项

  • 公开/公告号CN102904729A

    专利类型发明专利

  • 公开/公告日2013-01-30

    原文格式PDF

  • 申请/专利权人 曙光信息产业(北京)有限公司;

    申请/专利号CN201210417951.X

  • 发明设计人 刘兴彬;

    申请日2012-10-26

  • 分类号H04L12/02(20060101);H04L12/803(20130101);H04L12/835(20130101);

  • 代理机构11271 北京安博达知识产权代理有限公司;

  • 代理人徐国文

  • 地址 100193 北京市海淀区东北旺西路8号中关村软件园36号

  • 入库时间 2024-02-19 17:33:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-09

    专利权的转移 IPC(主分类):H04L12/02 专利号:ZL201210417951X 登记生效日:20220727 变更事项:专利权人 变更前权利人:曙光信息产业(北京)有限公司 变更后权利人:曙光信息产业(北京)有限公司 变更事项:地址 变更前权利人:100193 北京市海淀区东北旺西路8号中关村软件园36号 变更后权利人:100193 北京市海淀区东北旺西路8号院36号楼 变更事项:专利权人 变更前权利人: 变更后权利人:曙光信息产业股份有限公司

    专利申请权、专利权的转移

  • 2018-05-01

    授权

    授权

  • 2014-07-02

    实质审查的生效 IPC(主分类):H04L12/02 申请日:20121026

    实质审查的生效

  • 2013-01-30

    公开

    公开

说明书

技术领域

本发明属于网络通信领域,具体涉及一种根据协议、端口分流支持多应用 的智能加速网卡。

背景技术

近年来主干网网络带宽增加迅猛,互联网应用种类日益增多,网络安全事 件的种类和数量都呈现了指数性增长,为了维护国家安全、保障国家的根本利 益,涌现出了一大批针对不同类型防御对象的类I DS(入侵检测系统)。但由于 机房空间、散热、成本等因素的限制使得靠无限的增加服务器来运行新的业务 系统和应对新增加的流量成为不可能,而一台服务器上运行多套业务系统是一 个较好的解决办法。

传统的多应用处理思想是将数据包拷贝多份然后由多个应用对拷贝的数据 包进行处理,这种方式的优点是各个应用互不干涉,应用之间耦合少,但是缺 点也很明显,需要将数据包拷贝多份,拷贝数据的开销巨大,严重的影响了上 层业务系统的运行。

为了解决该问题,部分厂商提出了支持多应用的零拷贝技术,该技术在用 户空间开辟一个共享内存区,通过内存映射这一机制,将网卡得到的数据直接 放入用户空间里去,多个用户通过共享缓冲区的机制工作。这种方式避免了数 据包的多次拷贝,一定程度上提高了处理的效率,但每个应用仍旧需要处理所 有的数据包。

然而在实际的处理过程中,应用往往需要根据流量的不同类型采取不同的 处理方式,而之前的处理模式并没有对流量按类型进行分类,致使每个应用都 要处理所有的流量,例如,针对IPv4TCP流量进行分析的应用完全不用分析IPv4 UPD和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到该缓冲区中。 支持多应用的驱动程序根据各个应用的优先级维护各个共享缓冲区队列。业务 系统选择需要的流量特征所对应的缓冲区,并从缓冲区中取包分析,选择缓冲 区的个数完全和类型完全由业务系统控制,通过这种机制,每个业务系统可屏 蔽掉无关的数据,这将极大的提高整体系统的吞吐量,降低业务系统的规模。

需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方 案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发 明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修 改均在申请待批的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号