一种基于NDIS驱动的数据传输方法技术

技术编号:19327725 阅读:81 留言:0更新日期:2018-11-03 14:34
本发明专利技术实施例提出一种基于NDIS驱动的数据传输方法,涉及数据传输技术领域。所述方法包括:步骤1:获取网络数据包;步骤2:对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放;步骤3:将读队列中的数据包及时转发到应用层,应用层对接收到的数据包进行处理;步骤4:将应用层处理完毕后的数据包发送给网卡,完成数据传输。具有便捷性高和转发包执行效率高的优点。

A data transmission method based on NDIS driver

The embodiment of the invention provides a data transmission method based on NDIS driver, which relates to the technical field of data transmission. The method includes: step 1: acquiring network data packets; step 2: analyzing the acquired network data packets, adding qualified network data packets into the read queue, releasing the unqualified data packets; step 3: forwarding the data packets in the read queue to the application layer in time, and receiving them by the application layer. Packet processing; Step 4: After the application layer processing, the data packet is sent to the network card to complete the data transmission. It has the advantages of high convenience and high efficiency of forwarding packets.

【技术实现步骤摘要】
一种基于NDIS驱动的数据传输方法
本专利技术涉及数据传输
,具体而言,涉及一种基于NDIS驱动的数据传输方法。
技术介绍
NDIS是NetworkDriverInterfaceSpecification,即网络驱动接口规范。NDIS的主要目的就是为NIC(网络接口卡,NetworkInterfaceCards)制定出标准的API接口。MAC(介质访问控制,MediaAccessController)设备驱动封装了所有的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。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例提供的基于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是否匹配过滤条件,如果匹配过滤条件,将该数据包加入到读队列中;如果不匹配过滤条件则将该数据包进行释放。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本专利技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段或代码的一部分,所述单元、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本专利技术各个实施例中的各功能单元可以集成在一起形成一个独立的部分,也可以是各个单元单独存在,也可以两个或两个以上单元集成形成一个独立的部分。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本专利技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本专利技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Onl8Memor8)、随机存取存储器(RAM,RandomAccessMemor8)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示本文档来自技高网...

【技术保护点】
1.一种基于NDIS驱动的数据传输方法,其特征在于,所述方法包括以下步骤:步骤1:获取网络数据包;步骤2:对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放;步骤3:将读队列中的数据包及时转发到应用层,应用层对接收到的数据包进行处理;步骤4:将应用层处理完毕后的数据包发送给网卡,完成数据传输。

【技术特征摘要】
1.一种基于NDIS驱动的数据传输方法,其特征在于,所述方法包括以下步骤:步骤1:获取网络数据包;步骤2:对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放;步骤3:将读队列中的数据包及时转发到应用层,应用层对接收到的数据包进行处理;步骤4:将应用层处理完毕后的数据包发送给网卡,完成数据传输。2.如权利要求1所述的基于NDIS驱动的数据传输方法,其特征在于,所述步骤2中对获取到的网络数据包进行分析,将符合条件的网络数据包加入到读队列中,将不符合条件的数据包进行释放的方法包括:步骤1:分析获取到的...

【专利技术属性】
技术研发人员:袁旭王前俊
申请(专利权)人:四川迅游网络科技股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1