发明名称 一种零拷贝网络报文接收方法
摘要 本发明公开了一种零拷贝网络报文接收方法,属于把用户空间内存直接映射为网卡DMA缓冲区的零拷贝方法领域。本发明采用下述技术方案:A.应用程序调用接口库提供的函数打开设备接口;B.在用户空间内存中申请报文缓冲区;C.构造缓冲区控制结构;D.通过内存映射得到缓冲区控制结构中的信息;E.接收到的报文数据直接DMA传送到报文接收缓冲区中;F.处理报文接收缓冲区中的报文数据。本发明适用于接收网络数据的零拷贝管理方法。
申请公布号 CN101150488A 申请公布日期 2008.03.26
申请号 CN200710177373.6 申请日期 2007.11.15
申请人 曙光信息产业(北京)有限公司 发明人 历军;聂华;曾宇;刘朝辉
分类号 H04L12/54(2006.01);G06F13/28(2006.01) 主分类号 H04L12/54(2006.01)
代理机构 北京安博达知识产权代理有限公司 代理人 徐国文
主权项 1.一种零拷贝网络报文接收方法,其中,所述方法包括如下操作步骤:A、应用程序调用接口库提供的函数打开设备接口;B、打开设备接口函数在用户空间内存中申请一片连续的内存作为报文缓冲区,并把缓冲区首地址传给内核驱动;C、内核驱动根据缓冲区首地址及缓冲区大小,构造缓冲区控制结构,并把控制结构的物理地址传给接口函数,所述结构包括报文缓冲区队列的信息及队列中每个缓冲区的物理地址;D、接口函数根据缓冲区控制结构的地址,通过内存映射得到缓冲区控制结构中的信息;E、网卡驱动程序从缓冲区队列中取空闲缓冲区作为接收报文的DMA缓冲区,并把接收到的报文数据不经内核空间直接DMA传送到用户内存中的报文接收缓冲区中;F、应用程序处理用户内存中报文接收缓冲区中的报文数据。
地址 100084北京市海淀区水磨西街64号