一种热点数据传输方法及装置制造方法及图纸

技术编号:13426129 阅读:36 留言:0更新日期:2016-07-29 14:06
本申请涉及网络传输技术,公开了一种热点数据传输方法及装置,用以解决应用PC热点功能的软件数量受限的情况,以及避免因实现PC热点功能而导致用户网络发生异常的情况发生。该方法为:通过入口网卡接收无线客户端发送的数据包,并经由自定义的NAT协议驱动发送至应用层进行协议分析,再通过出口网卡在本地和目的网络之间建立socket连接,并基于socket连接将数据包发往目的网络,这样,通过自定义的NAT协议驱动来中转与无线客户端之间交互的数据包,可以突破系统对ndis组件数目的限制,从而增加系统热点数据的传输容量,进一步地,通过socket连接传输数据包,可以有效提高数据传输的稳定性和安全性。

【技术实现步骤摘要】
一种热点数据传输方法及装置
本申请涉及网络传输技术,尤其涉及一种热点数据传输方法及装置。
技术介绍
随着智能设备对无线网络(wirelessfidelity,WIFI)需求的日益增加,利用个人电脑(PersonalComputer,PC)无线网卡进行热点分享的PC热点技术迅速兴起。参阅图1所示,PC热点技术的两大基础为无线访问接入点(WirelessAccessPoint,AP)与网络地址转换(NetworkAddressTranslation,NAT)AP即利用无线网卡创建一个无线hub,其主要作用是将无线网络客户端(如手机)与PC主机连到一起,组建成小型无线局域网,而网络地址转换(NetworkAddressTranslation,NAT)则用来打通局域网与外网的连接,如右图所示。NAT技术是PC热点稳定性及兼容性的核心,在Windows平台,现有NAT方案主要有两种:一种是利用Windows系统自带组件因特网连接共享(InternetConnectionSharing,ICS)技术,另一种是开发NDIS中间层驱动(NDISIntermediateDrivers)进行地址转换。然而以上两种解决方案都存在不同程度不足。首先介绍ICS。ICS是Windows自带组件,由于该功能非windows核心组件,同时ICS组件对系统其他服务依赖较多,因此,在实际使用过程中存在实现PC热点失败率高,稳定性差,并且一旦出现问题,难以进行问题定位等缺陷。其次介绍NDIS。由于ICS的诸多限制和缺陷,基于NDIS中间层的NAT技术开始出现。参阅图2所示,正常情况下(没有使用NDIS中间层时),在创建了PC热点后,若无线网卡驱动接收到无线客户端(如,手机)发送的数据后,会将数据提交给系统的协议驱动〔如,(传输控制协议/因特网互联协议(TCP/IP)协议驱动〕,如果系统注册了多个协议驱动,则每个协议驱动都会收到该数据,并由每一个协议驱动分别决定是否继续处理接收到的数据。例如,如图2所示,当IP地址及端口号为“192.168.0.3:1234”的手机需要通过PC热点与IP地址及端口号为“10.11.12.13:80”的外网建立TCP连接时,手机首先将TCP数据包发往PC机上IP地址为192.168.0.1的无线网卡,无线网卡接着将接收到的数据包提交给各类协议驱动,而各类协议驱动接收发往外网的数据包后,在未配置规则的前提下无法连接至外网,因而不能做进一步处理,则向手机回复重置(RESET,RST)数据包,通信过程中,任何一方接收到RST数据包就会断开当前连接,因此,此时网络连接中断,手机连接外网失败。有鉴于此,在PC机中加入了NDIS中间层,参阅图3所示,通过NDIS中间层实现NAT方案的示例如下:当手机需要应用IP地址及端口号“192.168.0.3:1234”连接IP地址及端口号为“10.11.12.13:80”的外网服务器时,手机将数据包发往PC机上IP地址为“192.168.0.1”的无线网卡;无线网卡的网卡驱动获得数据包,将数据包向上提交至NDIS中间层驱动;NDIS中间层获得数据包后,停止向协议驱动提交,而是查找PC机上出口网卡(如,有线网卡)的空闲端口,假设查到的空闲端口为678,则将数据包中的源地址替换为出口网卡的IP地址及端口号“16.17.18.19:678”,再通过出口网卡将数据包向外网发送,从而打通从内向外的连接。当IP地址及端口号为“10.11.12.13:80”的外网服务器回复IP地址及端口号为“16.17.18.19:678”的出口网卡时,外网服务器首先将回复的数据包发往PC机上的IP地址及端口号为“16.17.18.19:678”的出口网卡;出口网卡接收到数据包后,将数据包提交到NDIS中间层;NDIS中间层经检测确定678端口对应的原始源地址是“192.168.0.3:1234”,则将数据包的目标地址修改为“192.168.0.3:1234”,再通过无线网卡发送到IP地址及端口号为“192.168.0.3:1234”的手机,从而打通了外网到内网的连接。NDIS解方案较ICS在稳定性与可控性上有明显提升,但同时下面两点不足。(1)通常情况下,各个软件中均安装有自身的NDIS组件,而Windows对系统内NDIS组件的数目有限制,当系统内NDIS组件数目达到上限后,后续软件再安装NDIS组件将失败,从而导致这部分软件无法正常使用PC热点功能。而由于软件厂商众多,在PC机侧,NDIS组件达到上限的情况很容易发生,从而经常会导致软件不能正常使用的情况发现。(2)在现有的NDIS中间层驱动解决方案中,NDIS中间层驱动需要同时对无线网卡和出口网卡进行数据包嗅探和拦截,这样操作会对系统产生较大影响和干扰,处理不当容易会影响用户正常使用出口网卡,从而导致用户网络异常。
技术实现思路
本申请的目的是提供一种热点数据传输方法及装置,用以解决应用PC热点功能的软件数量受限的情况,以及避免因实现PC热点功能而导致用户网络发生异常的情况发生。本申请的目的是通过以下技术方案实现的:一种热点数据传输方法,包括:通过入口网卡接收无线客户端发送的数据包,并将数据包传送至本地自定义的网络地址转换NAT协议驱动;通过本地自定义的NAT协议驱动,将接收的数据包发往应用层进行协议分析;根据协议分析结果,通过出口网卡在本地和目的网络之间建立socket连接,并基于所述socket连接将数据包发往目的网络。这样,通过自定义的NAT协议驱动来中转与无线客户端之间交互的数据包,可以突破系统对ndis组件数目的限制,从而增加系统热点数据的传输容量,进一步地,通过socket连接传输数据包,可以有效提高数据传输的稳定性和安全性。可选的,进一步包括:在将所述数据包传送至本地自定义的NAT协议驱动的过程中,关闭入口网卡对应的TCP/IP协议驱动。这样,可以最大限度地避免TCP/IP协议驱动对热点传输数据的造成干扰。可选的,将接收的数据包发往应用层进行协议分析,包括:在所述应用层对所述数据包进行协议分析,提取出数据包中记录的目的网络的IP地址和有效数据。可选的,根据协议分析结果,通过出口网卡在本地和目的网络之间建立socket连接,通过所述socket连接将数据包发往目的网络,包括:基于数据包中记录的目的网络的IP地址,调用系统socket函数选定出口网卡;通过所述出口网卡在本地和目的网络之间建立socket连接,并通过所述socket连接,将所述有效数据发往目的网络。基于数据包中记录的目的网络的IP地址,调用系统socket函数在本地和目的网络之间建立socket连接;通过所述socket连接,将所述有效数据发往目的网络。一种热点数据传输方法,包括:通过出口网卡接收到目的网络基于socket连接反馈的响应数据,并基于所述socket连接确定对应的无线客户端;在应用层基于所述无线客户端使用的协议对所述响应数据进行报文封装;并将封装后的响应数据发往NAT协议驱动;将封装后的响应数据通过本地自定义的NAT协议驱动发送至入口网卡,并通过所述入口网卡将所述封装后的响应数据发往所述无线客户端。这样,通过自定义的NAT协议驱动来中转与无线客户端之间交互本文档来自技高网
...

【技术保护点】
一种热点数据传输方法,其特征在于,包括:通过入口网卡接收无线客户端发送的数据包,并将数据包传送至本地自定义的网络地址转换NAT协议驱动;通过本地自定义的NAT协议驱动,将接收的数据包发往应用层进行协议分析;根据协议分析结果,通过出口网卡在本地和目的网络之间建立socket连接,并基于所述socket连接将数据包发往目的网络。

【技术特征摘要】
1.一种热点数据传输方法,其特征在于,包括:通过入口网卡接收无线客户端发送的数据包,并将数据包传送至本地自定义的网络地址转换NAT协议驱动;通过本地自定义的NAT协议驱动,将接收的数据包发往应用层进行协议分析;根据协议分析结果,通过出口网卡在本地和目的网络之间建立socket连接,并基于所述socket连接将数据包发往目的网络。2.如权利要求1所述的方法,其特征在于,进一步包括:在将所述数据包传送至本地自定义的NAT协议驱动的过程中,关闭入口网卡对应的TCP/IP协议驱动。3.如权利要求1或2所述的方法,其特征在于,将接收的数据包发往应用层进行协议分析,包括:在所述应用层对所述数据包进行协议分析,提取出数据包中记录的目的网络的IP地址和有效数据。4.如权利要求3所述的方法,其特征在于,根据协议分析结果,通过出口网卡在本地和目的网络之间建立socket连接,通过所述socket连接将数据包发往目的网络,包括:基于数据包中记录的目的网络的IP地址,调用系统socket函数选定出口网卡;通过所述出口网卡在本地和目的网络之间建立socket连接,并通过所述socket连接,将所述有效数据发往目的网络。5.一种热点数据传输方法,其特征在于,包括:通过出口网卡接收到目的网络基于socket连接反馈的响应数据,并基于所述socket连接确定对应的无线客户端;在应用层基于所述无线客户端使用的协议对所述响应数据进行报文封装;并将封装后的响应数据发往NAT协议驱动;将封装后的响应数据通过本地自定义的NAT协议驱动发送至入口网卡,并通过所述入口网卡将所述封装后的响应数据发往所述无线客户端。6.如权利要求5所述的方法,其特征在于,在应用层基于所述无线客户端使用的协议对所述响应数据进行报文封装,包括:在报文的目的地址字段中填写无线客户端使用的IP地址和端口号;在报文的源地址字段中填写目的网络使用的IP地址和端口号;将响应数据封装在报文的数据净荷部分。7.如权利要求5或6所述的方法,其特征在于,进一步包括:通过无线网卡将所述封装后的响应数据发往所述无线客户端后,若确定热点传输已结束,则开启入口网卡对应的TCP/IP协议驱动。8.一种热点数据传输装置,其特征在于,包括:入口网卡,用于接收无线客户端发送的数据包,并将数据包传送...

【专利技术属性】
技术研发人员:肖全举
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1