发明名称 |
一种数据包收发方法 |
摘要 |
本发明公开了一种数据包收发方法,包括如下步骤:在网卡的物理内存中设置缓存并建立用户空间的上层应用程序与缓存的映射关系;网卡硬件接收数据包;将数据包写入缓存;产生硬件中断;调用网卡软件中断服务程序并通知网卡驱动程序接收缓存中的数据包,网卡驱动程序通知上层应用程序接收缓存中的数据包;上层应用程序接收数据包并对数据包进行处理;调用网卡软件中断服务程序并通知网卡驱动程序发送数据包;所述网卡驱动程序发送数据包。本方法收发数据包时无需利用IP栈对数据包进行操作系统的内核空间与用户空间之间的两次拷贝,不会出现大量的不必要的软件中断,CPU和总线带宽的利用率大、软件中断响应时间短、网络吞吐量大、系统性能好。 |
申请公布号 |
CN101702688A |
申请公布日期 |
2010.05.05 |
申请号 |
CN200910272844.0 |
申请日期 |
2009.11.24 |
申请人 |
武汉绿色网络信息服务有限责任公司 |
发明人 |
刘锋 |
分类号 |
H04L12/56(2006.01)I;H04L29/08(2006.01)I;G06F9/48(2006.01)I |
主分类号 |
H04L12/56(2006.01)I |
代理机构 |
武汉开元知识产权代理有限公司 42104 |
代理人 |
唐正玉 |
主权项 |
一种数据包收发方法,包括如下步骤:在网卡的物理内存中设置一段作为缓存的空间并建立用户空间的上层应用程序与所述缓存的映射关系;网卡硬件接收数据包;将所述数据包写入所述缓存;产生硬件中断;调用网卡软件中断服务程序并通知网卡驱动程序接收所述缓存中的数据包,所述网卡驱动程序进而通知所述用户空间的上层应用程序接收所述缓存中的数据包;所述上层应用程序接收所述缓存中的数据包并对所述数据包进行处理;调用所述网卡软件中断服务程序并通知所述网卡驱动程序发送所述数据包;以及所述网卡驱动程序发送所述数据包。 |
地址 |
430074 湖北省武汉市东湖高新开发区关山一路特一号光谷软件园C3-602室 |