[发明专利]一种面向UDP传输的对称性Receive‑sideScaling电路在审
申请号: | 201711058084.4 | 申请日: | 2017-11-01 |
公开(公告)号: | CN107911349A | 公开(公告)日: | 2018-04-13 |
发明(设计)人: | 冯海强;李龙飞;王剑峰 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/50 |
代理公司: | 西安通大专利代理有限责任公司61200 | 代理人: | 徐文权 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 udp 传输 对称性 receive sidescaling 电路 | ||
技术领域
本发明属于计算机网络技术领域,具体涉及一种面向UDP传输的对称性Receive-side Scaling电路,尤其适用于网络安全领域的对UDP传输敏感的高性能网络数据处理系统,如网络入侵检测系统和硬件防火墙系统等。
背景技术
目前在主流的以太网控制器中,都使用了Receive-side Scaling(RSS,接收端调控)技术。RSS技术通过对接收到的数据报文进行分析处理,将属于同一个UDP/IP的数据包分配到相同的CPU核上处理,从而在多处理器(多核)系统之间平衡了网络数据吞吐,同时也提高了CPU对网络数据的处理能力。
然而在网络安全领域,如网络入侵检测系统和硬件防火墙系统中,为了确保网络的安全和可靠,都需要对整个网络的数据进行监测和分析。因为UDP传输是双向的,因此网络入侵检测系统和硬件防火墙系统会接收到双向的UDP/IP报文。这就需要其对UDP传输具有非常高的处理能力,但是现有的RSS不能够保证属于同一个UDP传输的上行数据和下行数据都在同一个CPU核中处理,这样就会产生多核之间跨线程访问等问题,从而增大了CPU的开销,降低了系统的性能。
一种通过修改RSS算法中的Key值来实现对称的RSS方法,通过对RSS中采用的Toeplitz Hash算法的研究,发现当Hash类型为带有UDP头的IPv4情况时,只要Hash Key为16位循环的方式,那么对于同一个UDP/IP传输,无论其是上行数据还是下行数据,最终计算出的Hash结果是相同的,这也就意味着将会由一个CPU核来处理双向的数据。该方法实现起来简单,只需要将Hash Key配成16位循环的方式即可,但是其还是存在以下缺陷:
1、存在边界条件(corner cases),当Hash Key全为1或全为0时,该方法将失效;
2、适用性不强。该方法只针对一种Hash类型,对于其它三种Hash类型并不适用。
3、存在潜在的风险。修改Hash Key使该方法成为了Toeplitz Hash算法的子集,不能保证Hash结果的唯一性。
一种面向多核处理器系统的传输友好的网卡,(Wenji Wu,Phil DeMar,A Transport-Friendly NIC for Multicore/Multiprocessor Systems,2012),通过操作系统软件和网卡硬件电路的配合,在原有的RSS电路基础上,由软件来计算和维护间接表,从而得到数据流-CPU核的对应关系,实现对双向UDP/IP传输的同核处理。该架构存在的主要缺陷是:
1、硬件设计相对传统的RSS较为复杂,且需要大量的memory来存储数据流-CPU核的对应关系;
2、需要操作系统的支持,需要对操作系统进行一定的修改,风险较高,可移植性较差。
一种Ethernet Flow Director技术的提出,虽然能够保证属于同一个UDP传输的上行数据和下行数据都在同一个CPU核中处理,但是其存在UDP报文重排序的问题,无法保障QoS。因此,RSS仍然被广泛地应用在网络控制器设计中。这主要是因为RSS技术相对来说较成熟,且具有很好的软件兼容性。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种面向UDP传输的对称性Receive-side Scaling电路,实现了对现有RSS的兼容,同时实现了将不同方向但却属于同一个UDP/IP链接的报文分配到相同的CPU核上进行处理。
本发明采用以下技术方案:
一种面向UDP传输的对称性Receive-side Scaling电路,包括UDP/IP头提取模块、Hash函数计算模块、Hash结果重组模块、间接表查询模块和用于存储配置信息的RSS寄存器模块,UDP/IP头提取模块连接有用于完成数据帧的封装、解封、发送和接收功能的MAC模块,间接表查询模块连接有用于将数据帧分配到不同的接收队列中的RQP模块,RSS寄存器模块分别与UDP/IP头提取模块、Hash函数计算模块、Hash结果重组模块和间接表查询模块连接;
UDP/IP头提取模块用于根据RSS寄存器模块中Hash类型寄存器的配置,对从MAC接收到的数据帧分别进行UDP/IP头和反向的UDP/IP头的提取,并将提取结果分别发送到Hash函数计算模块;
Hash函数计算模块用于完成对接收到的TCP/IP头提取模块的提取内容的Hash结果计算,包括对正向提取内容的计算和反向提取内容的计算,并将计算结果发送到Hash结果重组模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711058084.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:乌龙茶平圆筛分筛、平圆筛及工作方法
- 下一篇:一种使用方便的茶叶加工设备