[发明专利]一种零拷贝接收报文的方法和系统有效
申请号: | 201110361904.3 | 申请日: | 2011-11-15 |
公开(公告)号: | CN102402487A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 刘彤 | 申请(专利权)人: | 北京天融信科技有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;H04L12/56 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 梁军 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种零拷贝接收报文的方法和系统,所述方法包括:用户态进程打开预先创建的虚拟字符设备,调用mmap方法;内核态进程在mmap方法被调用时,将所有内核低端空间映射到用户空间,并为其的结构vm_area_struct设置nopage方法;内核态进程在网卡设备接收到数据包时,将数据包在低端内存空间中的偏移地址传递给用户态进程;用户态进程访问计算出的虚拟地址,触发CPU缺页异常,使得操作系统调用nopage方法得到要访问的物理地址对应的页目录和页表项;用户态进程读取存储在所述低端内核地址空间内的所述数据包。本发明解决了已有零拷贝技术缓冲区不足以及零拷贝过程中报文不能被任意修改或移动的问题。 | ||
搜索关键词: | 一种 拷贝 接收 报文 方法 系统 | ||
【主权项】:
一种零拷贝接收报文的方法,其特征在于,包括:用户态进程打开预先创建的虚拟字符设备,调用所述虚拟字符设备提供的mmap方法;内核态进程在所述mmap方法被调用时,将所有内核低端空间映射到用户空间,并为所述内核低端空间的结构vm_area_struct设置nopage方法;内核态进程在网卡设备接收到数据包时,基于所述数据包在所述内核低端空间中的地址,得到数据包存储偏移地址后传递给用户态进程;用户态进程根据所述偏移地址计算得到待访问的虚拟地址,并在访问所述虚拟地址时,触发CPU缺页异常,使得操作系统调用所述nopage方法得到要访问的物理地址对应的页目录和页表项;用户态进程基于所述页目录和页表项,读取存储在所述内核低端空间内的所述数据包。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信科技有限公司,未经北京天融信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110361904.3/,转载请声明来源钻瓜专利网。
- 上一篇:多穴位高精密注塑模具
- 下一篇:塑料排水板热熔式自动剪切机