[发明专利]零拷贝网络报文发送、接收方法和装置有效
申请号: | 200910242100.4 | 申请日: | 2009-12-04 |
公开(公告)号: | CN101707565A | 公开(公告)日: | 2010-05-12 |
发明(设计)人: | 邵宗有;聂华;历军;李永成 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;G06F13/28 |
代理公司: | 北京市德恒律师事务所 11306 | 代理人: | 梁永 |
地址: | 100084 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 拷贝 网络 报文 发送 接收 方法 装置 | ||
1.一种零拷贝网络报文发送方法,其特征在于,包括下列步骤:
使用内存分配函数在网卡驱动程序中不断地申请特定大小的连续内 存直至所述网卡驱动程序中空闲的内存空间不足够申请,所述特定大小 是指所述内存分配函数所能申请的连续内存的最大值;
从申请到的所述连续内存中确定一块连续内存地址空间;以及
使用所述连续内存地址空间进行网络报文发送,
其中,所述从申请到的所述连续内存中确定一块连续内存地址空间 的具体步骤包括:
将申请到的每片连续内存的首地址存储到地址数组;
将所述地址数组中的所述连续内存的所述首地址根据大小进行排 序;
在所述地址数组中根据排序后的所述首地址确定一块所述连续内存 地址空间。
2.根据权利要求1所述的发送方法,其特征在于,所述连续内存地 址空间大于或等于用户指定的发送报文DMA缓冲区的大小;所述地址 数组包括用于存储小于4G的首地址的低端地址数组和用于存储4G以上 的首地址的高端地址数组;在确定所述连续内存地址空间时首先选择在 所述低端地址数组中进行。
3.根据权利要求1或2所述的发送方法,其特征在于,在确定了所 述连续内存地址空间之后将所述连续内存地址空间的首地址及大小保存 至所述网卡驱动程序中,并按照页面大小将所述连续内存地址空间标记 为保留页面,将其他申请的未使用的所述连续内存释放。
4.一种零拷贝网络报文发送装置,其特征在于,包括:
申请模块,用于在网卡驱动程序中申请特定大小的连续内存直至剩 余的内存空间不足申请,所述特定大小是内存分配函数所能申请的连续 内存的最大值;
确定模块,用于从申请到的所述连续内存中确定一块连续内存地址 空间;以及
发送模块,用于使用所述连续内存地址空间进行网络报文发送,
其中所述确定模块包括:地址数组模块,用于存储申请到的所述连 续内存的首地址;排序模块,用于对所述首地址进行排序;以及查找模 块,用于根据用户指定的发送报文DMA缓冲区的大小在地址数组模块 中查找所述连续内存地址空间。
5.一种零拷贝网络报文接收方法,其特征在于,包括下列步骤:
使用内存分配函数在网卡驱动程序中不断地申请特定太小的连续内 存直至所述网卡驱动程序中空闲的内存空间不足够申请,所述特定大小 是指所述内存分配函数所能申请的连续内存的最大值;
从申请到的所述连续内存中确定一块连续内存地址空间;以及
使用所述连续内存地址空间进行网络报文接收,
其中所述从申请到的所述连续内存中确定一块连续内存地址空间的 具体步骤包括:
将申请到的每片连续内存的首地址存储到地址数组;
将所述地址数组中的所述连续内存的所述首地址根据大小进行排 序;
在所述地址数组中根据排序后的所述首地址确定一块所述连续内存 地址空间。
6.根据权利要求5所述的接收方法,其特征在于,所述连续内存地 址空间大于或等于用户指定的接收报文DMA缓冲区的大小;所述地址 数组包括用于存储小于4G的首地址的低端地址数组和用于存储4G以上 的首地址的高端地址数组;在确定所述连续内存地址空间时首先选择在 所述低端地址数组中进行。
7.根据权利要求5或6所述的接收方法,其特征在于,在确定了所 述连续内存地址空间之后将所述连续内存地址空间的首地址及大小保存 至所述网卡驱动程序中,并按照页面大小将所述连续内存地址空间标记 为保留页面,将其他申请的未使用的所述连续内存释放。
8.一种零拷贝网络报文接收装置,其特征在于,包括:
申请模块,用于在网卡驱动程序中申请特定大小的连续内存直至剩 余的内存空间不足申请,所述特定大小是内存分配函数所能申请的连续 内存的最大值;
确定模块,用于从申请到的所述连续内存中确定一块连续内存地址 空间;以及
接收模块,用于使用所述连续内存地址空间进行网络报文接收,
其中所述确定模块包括:地址数组模块,用于存储申请到的所述连续 内存的首地址;排序模块,用于对所述首地址进行排序;以及查找模块, 用于根据用户指定的发送报文DMA缓冲区的大小在地址数组模块中查 找所述连续内存地址空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910242100.4/1.html,转载请声明来源钻瓜专利网。