[发明专利]一种基于控制块预分配的分组接收方法和装置有效

专利信息
申请号: 201610034905.X 申请日: 2016-01-20
公开(公告)号: CN105656805B 公开(公告)日: 2018-09-25
发明(设计)人: 孙志刚;严锦立;李韬;吕高锋;韩彪;唐路;徐东来;毛健彪 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: H04L12/861 分类号: H04L12/861;H04L12/879;H04L12/883;H04L12/925;H04L12/741
代理公司: 湖南省国防科技工业局专利中心 43102 代理人: 冯青
地址: 410073 *** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 控制 分配 分组 接收 方法 装置
【说明书】:

本发明涉及一种基于控制块预分配的分组接收方法和装置。通过软件对缓冲区进行预取,下发描述符由硬件管理缓冲区,将报文的控制块和数据块存放在同一块缓冲区中,从而避免了操作系统对报文控制块和数据块的分配开销。通过硬件对报文控制块进行初始化,驱动对报文控制块一些字段进行修改,从而减小报文控制块的赋值开销。通过写寄存器的方式将缓冲区描述符直接回收给硬件进行重利用,不用对缓冲区中数据进行修改,从而避免操作系统对报文的释放开销。解决协议栈处理中报文控制块申请和释放开销大的问题。

技术领域

本发明涉及高速网络处理领域。尤其是在高速网络处理过程中对协议栈处理的报文进行管理。

背景技术

目前,网络流量的不断增长对网络报文处理能力提出更高的要求。现有的许多网络处理应用都是基于内核中的协议栈进行处理,比如OVS。协议栈处理的报文分为控制块和数据块,控制块和数据块分别存放在不同的内存区域内。在FreeBSD操作系统中,报文的控制块结构为mbuf;在Linux操作系统中,报文的控制块结构为sk_buff。控制块用于维护socket buffer的状态和描述信息,其成员变量在一层向一层传递时会发生修改。数据块用于存储实际报文数据。Linux操作系统维护了skbuff cache和general cache两种slab缓存,通过slab分配器从skbuff cache中进行控制块的申请和释放,从general cache中进行数据块的申请和释放,如图1所示。

传统机制中,每个报文的控制块和数据块都需要从slab缓存中进行申请,如果slab缓存中没有足够空间,则需要从内存中进行申请。并且在将控制块和数据块回收到slab缓存时,需要查表获取回收的位置,如果释放报文数目过多,多余的空间将回收到内存中。因此传统机制中频繁的申请和释放给内存系统带来很大压力。

一篇名为《报文接收方法、报文接收模块、装置及系统》的专利中提出通过软件预先初始化报文缓冲区,将报文缓冲区的描述符下发至硬件进行维护。缓冲区用于存放报文的数据块和描述符块。其中,描述符块包括报文的物理地址,虚拟地址,控制信息和下一跳报文的虚拟地址信息。软件中以链表的形式维护接收到的报文,而下一个报文的虚拟地址由DMA写入,CPU可以通过轮询方式顺序读取报文缓冲区的内容,有效提高系统的处理效率。而对于协议栈处理,这种方法只将报文的数据块和描述符信息卸载到硬件进行管理,而报文的控制块依然需要操作系统进行申请和释放。因此,这种方法不能有效解决操作系统对报文控制块管理的开销。

另外,一篇名为《一种多核系统中的SKB重用方法及装置》的专利中提出通过在每个处理器上建立n个SKB重用队列,n为处理器个数。执行SKB缓冲区回收时,将SKB缓冲区插入到为分配该SKB缓冲区的处理器所具有的,并且与执行回收操作的处理器相应的重用对列中。执行重用时,从n个SKB重用队列中分配SKB缓冲区。这种方法通过将SKB缓冲区进行重利用以及减小互斥锁的影响有效提高了系统报文转发性能。但是这种方法中在初始化时,每个SKB重用队列只有一个SKB缓冲区,当重用队列中没有足够的缓冲区时,只能通过系统的分配方法进行分配,开销大。而且每次接收到报文时,软件都要根据报文信息对报文控制块中许多字段进行赋值。

发明内容

本发明要解决的技术问题是通过提供一种基于控制块预分配的分组接收方法和装置,以解决协议栈处理中报文控制块申请和释放开销大的问题。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610034905.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top