[发明专利]一种基于NDIS驱动的数据传输方法在审
| 申请号: | 201810455978.5 | 申请日: | 2018-05-14 |
| 公开(公告)号: | CN108737409A | 公开(公告)日: | 2018-11-02 |
| 发明(设计)人: | 袁旭;王前俊 | 申请(专利权)人: | 四川迅游网络科技股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 成都创新引擎知识产权代理有限公司 51249 | 代理人: | 向群 |
| 地址: | 610041 四川省成都市高*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据包 网络数据包 数据传输 应用层 符合条件 队列 数据传输技术 便捷性 网卡 转发 释放 分析 | ||
本发明实施例提出一种基于NDIS驱动的数据传输方法,涉及数据传输技术领域。所述方法包括:步骤1:获取网络数据包;步骤2:对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放;步骤3:将读队列中的数据包及时转发到应用层,应用层对接收到的数据包进行处理;步骤4:将应用层处理完毕后的数据包发送给网卡,完成数据传输。具有便捷性高和转发包执行效率高的优点。
技术领域
本发明涉及数据传输技术领域,具体而言,涉及一种基于NDIS驱动的数据传输方法。
背景技术
NDIS是NetworkDriverInterface Specification,即网络驱动接口规范。NDIS的主要目的就是为NIC(网络接口卡,NetworkInterface Cards)制定出标准的API接口。MAC(介质访问控制,MediaAccess Controller)设备驱动封装了所有的NIC硬件实现,这样一来所有的使用相同介质的NIC就可以通过通用的编程接口被访问。NDIS同时也提供一个函数库(有时也称作wrapper),这个库中的函数可以被MAC驱动调用,也可以被高层的协议(例如TCP/IP)驱动调用。这些wrapper函数使得MAC驱动和协议驱动的开发变得更加容易。
采用NDIS的方式对游戏数据进行处理,因为NDIS工作在网络协议的前三层,在抓取数据时,不考虑操作系统内内核和其他驱动驱动程序的接口问题,很容易和网卡通信。
发明内容
本发明的目的在于提供一种基于NDIS驱动的数据传输方法,具有便捷性高和转发包执行效率高的优点。
为了实现上述目的,本发明实施例采用的技术方案如下:
本发明实施例提供了一种基于NDIS驱动的数据传输方法,所述方法包括以下步骤:
步骤1:获取网络数据包;
步骤2:对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放;
步骤3:将读队列中的数据包及时转发到应用层,应用层对接收到的数据包进行处理;
步骤4:将应用层处理完毕后的数据包发送给网卡,完成数据传输。
进一步的,所述步骤2中对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放的方法包括:
步骤1:分析获取到的网络数据包是否为IP包,如果为IP包,则执行步骤2;如果不是IP包则将该数据包进行释放;
步骤2:分析获取到的网络数据包是否为是否为ICMP或UDP或TCP包,如果为是否为ICMP或UDP或TCP包,则执行步骤:3;如果不是是否为ICMP或UDP或TCP包则将该数据包进行释放;
步骤3:分析获取到的网络数据包的目标IP是否为本网段,如果为为本网段,则执行步骤4;如果不是为本网段则将该数据包进行释放;
步骤4:分析获取到的网络数据包的源IP或源MAC是否匹配过滤条件,如果匹配过滤条件,将该数据包加入到读队列中;如果不匹配过滤条件则将该数据包进行释放。
本发明实施例提供的一种基于NDIS驱动的数据传输方法,针对现在的转发包效率提高显著,占用CPU不超过5%,占用内存不超过20M,响应时间不超过5ms。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川迅游网络科技股份有限公司,未经四川迅游网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810455978.5/2.html,转载请声明来源钻瓜专利网。





