[发明专利]利用二次分流实现隧道报文对称RSS处理的方法及系统有效
申请号: | 202110343516.6 | 申请日: | 2021-03-30 |
公开(公告)号: | CN113098794B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 穆远彪;李昭熹;冀博;马骥;孙晓鹏 | 申请(专利权)人: | 郑州信大捷安信息技术股份有限公司 |
主分类号: | H04L47/50 | 分类号: | H04L47/50;H04L12/46 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 周艳巧 |
地址: | 450000 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 二次 分流 实现 隧道 报文 对称 rss 处理 方法 系统 | ||
本发明涉及一种利用二次分流实现隧道报文对称RSS处理的方法及系统,在第一隧道设备和第二隧道设备内均设置有RSS模块,及若干CPU、环形缓冲区队列和普通队列;CPU读取报文并通过索引值进行匹配并将未匹配成功的报文送至CPU对应的环形缓冲区队列中缓存;RSS模块包含用于对报文执行哈希运算获取哈希值的哈希模块和用于通过哈希值和索引值将报文分配至对应普通队列模块的间接寻址模块。本发明利用第一隧道设备和第二隧道设备中CPU的环形缓冲区队列和普通队列实现二次分流方案,将预期处理的核心CPU ID携带在报文中进行传递到接收的隧道设备中,接收隧道报文设备根据携带核心CPU ID进行二次分流到对应的正确核心上进行报文处理,实现隧道报文的对称RSS处理。
技术领域
本发明属于网络技术领域,特别涉及一种利用二次分流实现隧道报文对称RSS处理的方法及系统。
背景技术
DPDK(Data Plane Development Kit,数据平面开发套件)是由6WIND、Intel等多家公司开发,主要基于Linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。DPDK是一个开源的数据平面开发工具集。其通过网卡RSS、旁路OS、网卡无中断轮询、用户态驱动、独占CPU、大页内存等技术提供了用户态下高性能的数据包处理能力。在DPDK架构中为了提供更高报文处理性能,往往启用多个核心(CPU)、多线程模式,各自CPU独立处理。网卡收到报文后根据报文特征{源IP地址、源端口号、目的IP地址、目的端口号等}对接收报文进行RSS处理分发到不同的CPU处理。
在网络应用中,如果同一个连接的双向报文在开启RSS之后被分发到同一个CPU上处理,这种RSS就称为对称RSS。对于需要为连接保存一些信息的网络应用来说,对称RSS对性能提升有很大帮助。如果同一个连接的双向报文被分发到不同的CPU,那么两个CPU之间共享这个连接的信息就会涉及到锁,而锁显然是会影响处理性能的。在基于DPDK技术的隧道设备实现中,当基于DPDK的多CPU高性能模式运行时,会面临到对称RSS问题:即如何保证经由隧道设备的某一个CPU处理并封装了原始报文的隧道报文在发到另一端隧道设备后和收到从该另一端隧道设备返回的前述原始报文的响应隧道报文时,该响应隧道报文能够再次分配回归到与先前相同的同一个CPU进行后续处理?之所以出现对称RSS失效问题是因为正向报文是基于原始报文四元组{客户端的IP地址,客户端的端口号,服务器端的IP地址,服务器端的端口号}的哈希值来计算由哪个CPU进行处理,而反向报文是基于隧道报文四元组{第二隧道设备的IP地址,第二隧道设备的端口号,第一隧道设备的IP地址,第一隧道设备的端口号}的哈希值来计算由哪个CPU进行处理,两者的哈希值不同,所以,不能分配到同一个CPU上进行处理。如何根据隧道报文的处理过程和对称RSS的特点,实现DPDK架构下的利用二次分流实现隧道报文对称RSS处理的,从而提升报文处理速度和效率,是目前急需解决的问题。
发明内容
为此,本发明提供一种利用二次分流实现隧道报文对称RSS处理的方法及系统,以提升DPDK架构下报文处理速度和效率。
按照本发明所提供的设计方案,提供一种利用二次分流实现隧道报文对称RSS处理的系统,包括客户端,服务器端,及设置于客户端和服务器端之间用于正向报文和反向报文传送的第一隧道设备和第二隧道设备,第一隧道设备和第二隧道设备共同构成正向报文和反向报文传送隧道的两端,所述第一隧道设备和第二隧道设备内均设置有RSS模块,及若干CPU、环形缓冲区队列和普通队列,其中,每个隧道设备的CPU个数均与对应的环形缓冲区队列和普通队列相一致,CPU、环形缓冲区队列及普通队列三者通过索引值相匹配;RSS模块对客户端和服务器端传送的数据报文通过普通队列分发至对应CPU;CPU读取报文并通过索引值进行匹配,匹配正确则进行相应报文处理,否则将报文送至CPU对应的环形缓冲区队列中进行缓存;所述RSS模块包含用于对报文执行哈希运算获取哈希值的哈希模块和用于通过哈希值和索引值将报文分配至对应普通队列模块的间接寻址模块,每个间接寻址模块内均预置有若干索引值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州信大捷安信息技术股份有限公司,未经郑州信大捷安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110343516.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种快速冷却的压铸模具抽芯机构
- 下一篇:一种权重柔性递减调整的时间同步方法