[发明专利]一种数据包收发方法有效
申请号: | 200910272844.0 | 申请日: | 2009-11-24 |
公开(公告)号: | CN101702688A | 公开(公告)日: | 2010-05-05 |
发明(设计)人: | 刘锋 | 申请(专利权)人: | 武汉绿色网络信息服务有限责任公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/08;G06F9/48 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 唐正玉 |
地址: | 430074 湖北省武汉市东湖高*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据包 收发 方法 | ||
技术领域
本发明涉及互联网的可靠性保护方法,尤其涉及一种提高网络系统性能的 数据包收发方法。
背景技术
随着信息化过程时代的加速发展,互联网已逐步渗透进人们的生活中。为 了满足人们对服务和网络应用越来越丰富的要求,运营商不断地发展着新的业 务,而新业务的发展必须考虑网络的性能。众所周知,系统性能的好坏最关键 的影响因素是网络系统中数据包的收发。
现有的数据包收发方法包括以下步骤:
步骤S101,网卡驱动程序接收数据包;
步骤S102,产生硬件中断;
步骤S103,通知操作系统的内核空间接收所述数据包;
步骤S104,调用所述操作系统的软件中断服务程序并通过IP协议栈对所述 数据包执行一次内存拷贝一从操作系统的内核空间拷贝到用户空间;
步骤S105,所述用户空间的上层应用程序对所述数据包进行处理;
步骤S106,调用所述操作系统的软件中断服务程序,通过IP协议栈对处理 后的数据包进行另一次内存拷贝-从用户空间拷贝到操作系统的内核空间;
步骤S107,所述网卡驱动程序发送所述数据包,结束。
由上可以看出,在上述数据包的收发方法中,由于所述用户空间的上层应 用程序无法直接对操作系统的内核空间的数据包进行读写操作,因此需要通过 IP协议栈对数据包进行两次拷贝并且频繁地进行系统调用,以故CPU的利用率 和总线带宽的利用低、软件中断响应时间长、系统整体效率低、网络吞吐量小。 因此系统性能差。
因此,有必要提供一种改进的数据包收发方法以克服现有技术的缺陷。
发明内容
本发明实施例的目的在于提供一种数据包收发方法,能提高CPU的利用率 和总线带宽的利用率,缩短软件中断响应时间,提升系统整体效率和网络吞吐 量,进而改善系统性能。
为了实现上述目的,本发明提供了一种数据包收发方法,包括如下步骤: 在网卡的物理内存中设置一段作为缓存的空间并建立用户空间的上层应用程序 与所述缓存的映射关系;网卡硬件接收数据包;将所述数据包写入所述缓存; 产生硬件中断;调用网卡软件中断服务程序并通知网卡驱动程序接收所述缓存 中的数据包,所述网卡驱动程序进而通知所述用户空间的上层应用程序接收所 述缓存中的数据包;所述上层应用程序接收所述缓存中的数据包并对所述数据 包进行处理;调用所述网卡软件中断服务程序并通知所述网卡驱动程序发送所 述数据包;所述网卡驱动程序发送所述数据包。
在本发明的一个实施例中,所述网卡硬件接收数据包的步骤之前还包括: 建立工作集。
较佳地,所述将所述数据包写入所述缓存的步骤具体为:通过直接存储器 存取数据传输方式将所述数据包写入所述缓存。
同样较佳地,所述网卡驱动程序进而通知所述用户空间的上层应用程序接 收所述缓存中的数据包的步骤具体为:所述网卡驱动程序进而采取异步通信方 式通知所述用户空间的上层应用程序接收所述缓存中的数据包;所述通知所述 网卡驱动程序发送所述数据包的步骤具体为:采取异步通信方式通知所述网卡 驱动程序发送所述数据包。
在本发明的另一个实施例中,所述上层应用程序接收所述缓存中的数据包 的步骤之前还包括:检测所述上层应用程序收包是否正常;当检测到所述上层 应用程序正常收包时,所述网卡驱动程序转入运行模式状态。
较佳地,所述方法还包括步骤:当检测到所述上层应用程序不正常收包时, 所述网卡驱动程序自动转入保护模式状态并按照预配置的规则发送所述数据 包。
在本发明的再一实施例在中,所述网卡驱动程序检测所述上层应用程序收 包是否正常的步骤之前还包括:建立包缓冲区;将所述缓存区数据包传送至所 述缓冲区,则所述上层应用程序接收所述缓存中的数据包并对所述数据包进行 处理的步骤具体为:所述上层应用程序接收经由所述缓存传送至所述缓冲区的 数据包并对所述数据包进行处理。
与现有技术相比,本发明数据包收发方法在接收或发送数据包时能通过用 户空间的上层应用程序与网卡缓存的映射关系直接与用户空间的上层应用程序 进行交互,不需要利用操作系统的IP栈对数据包进行操作系统的内核空间与用 户空间之间的两次拷贝,不会出现大量不必要的软件中断,因而本方法提高了 CPU和总线带宽的利用率,缩短了软件中断响应时间,极大地提升了系统整体 效率和网络吞吐量。因此系统性能好。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉绿色网络信息服务有限责任公司,未经武汉绿色网络信息服务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910272844.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:活动支架装配快速的天线
- 下一篇:城市基站室外天馈布放系统