CN112398685B - 基于移动终端的主机设备加速方法、装置、设备及介质 - Google Patents
基于移动终端的主机设备加速方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112398685B CN112398685B CN202011218269.9A CN202011218269A CN112398685B CN 112398685 B CN112398685 B CN 112398685B CN 202011218269 A CN202011218269 A CN 202011218269A CN 112398685 B CN112398685 B CN 112398685B
- Authority
- CN
- China
- Prior art keywords
- traffic
- tcp
- instance
- proxy
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000001133 acceleration Effects 0.000 title claims abstract description 62
- 238000013507 mapping Methods 0.000 claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000011144 upstream manufacturing Methods 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005452 bending Methods 0.000 claims 1
- 238000013461 design Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种基于移动终端的主机设备加速方法、装置、设备及存储介质,移动终端与主机设备之间建立有Wi‑Fi连接,所述方法包括:建立虚拟网卡;通过虚拟网卡拦截所述主机设备的网络流量,所述虚拟网卡用于伪装所述主机设备所需要的远端服务,所述网络流量是传输层的流量;将所述网络流量映射至代理实例,所述代理实例用于实现所述移动终端与代理服务器之间的通信;将映射至所述代理实例的所述网络流量转发至所述代理服务器。本申请可以对传输层的TCP和/或UDP流量进行加速。
Description
技术领域
本申请实施例涉及计算机网络领域,特别涉及一种基于移动终端的主机设备加速方法、装置、设备及存储介质。
背景技术
Switch主机是任天堂出品的一种掌上游戏机。Switch主机上可以运行很多种在线游戏。
出于保证在线游戏的游戏质量的目的,相关技术中提供了一种对Switch主机进行网络加速的方案。该方案在Switch主机中设置http代理服务,该http代理服务能够对在Switch主机中支持HTTP(Hypertext Transfer Protocol,超文本传输协议)代理的TCP(Transmission Control Protocol,流式传输协议)流量进行加速。
上述HTTP代理服务仅能加速支持HTTP代理流量,不适用于大部分的第三方游戏,适用范围有限。
发明内容
本申请提供了一种基于移动终端的主机设备加速方法、装置、设备及介质,能够对传输层的TCP流量和/或UDP流量进行加速。所述技术方案如下:
根据本申请的一方面,提供了一种基于移动终端的主机设备加速方法,应用于移动终端中,所述移动终端与主机设备之间建立有Wi-Fi(Wireless Fidelity,无线保真)连接,所述移动终端是所述Wi-Fi连接中的接入点设备,所述方法包括:
建立虚拟网卡,所述虚拟网卡用于伪装所述主机设备所需要的远端服务;
通过所述虚拟网卡拦截所述主机设备的网络流量,所述网络流量是传输层的流量;
将所述网络流量映射至代理实例,所述代理实例用于实现所述移动终端与代理服务器之间的通信;
将映射至所述代理实例的所述第一网络流量转发至所述代理服务器。
根据本申请的另一方面,提供了一种基于移动终端的主机设备加速装置,所述装置与主机设备之间建立有Wi-Fi连接,所述装置是所述Wi-Fi连接中的接入点设备,所述装置包括:
网卡建立模块,用于建立虚拟网卡,所述虚拟网卡用于伪装所述主机设备所需要的远端服务;
流量拦截模块,用于通过所述虚拟网卡拦截所述主机设备的第一网络流量,所述网络流量是传输层的流量;
协议转换模块,用于将所述网络流量映射至代理实例,所述代理实例用于实现所述装置与代理服务器之间的通信;
代理模块,用于将映射至所述代理实例的所述网络流量转发至所述代理服务器。
根据本申请的另一方面,提供了一种移动终端,所述移动终端包括:处理器和存储器,所述存储器存储有计算机程序,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的基于移动终端的主机设备加速方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的基于移动终端的主机设备加速方法。
根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的基于移动终端的主机设备加速方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过在移动终端内设置虚拟网卡,能够拦截到主机设备在传输层的第一网络流量,然后将网络流量映射至代理实例,将代理实例内的网络流量转发至代理服务器,由代理服务器在主机设备与远端服务器之间交换数据来实现加速代理,实现了对传输层的TCP流量和/或UDP流量的网速加速,能够适用于绝大多数的游戏程序的加速。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的网速加速系统的结构框图;
图2示出了本申请另一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图;
图3示出了本申请另一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图;
图4示出了本申请一个示例性实施例提供的TCP代理连接的示意图;
图5示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图;
图6示出了本申请一个示例性实施例提供的TCP代理连接的示意图;
图7示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图;
图8示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图;
图9示出了本申请一个示例性实施例提供的虚拟网卡拦截网络流量的示意图;
图10示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速方法的实施示意图;
图11示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速装置的框图;
图12示出了本申请一个示例性实施例提供的移动终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供了一种利用Android手机或iphone手机,来对Switch主机设备上的游戏进行网络加速的技术方案。本技术方案的主要流程包括:首先,用户通过手机打开Wi-Fi(Wireless Fidelity,无线保真网络)热点来建立网关,或者,在Wi-Fi环境下手动指定手机作为Switch主机的网关。
针对Switch主机中的TCP流量和UDP流量,在网关中建立虚拟网卡并绑定IP地址和端口为欲加速流量的目的IP和端口来拦截流量,并通过建立TCP连接的一对一映射,以及UDP连接的多对多映射,将拦截的流量通过类套接字(socket)代理转发TCP和UDP流量。
针对Switch主机中的HTTP(Hypertext Transfer Protocol,超文本传输协议)代理流量,建立HTTP服务来拦截主机的HTTP代理流量;将HTTP代理流量转换为普通TCP流量,通过类socks代理转发TCP流量。
图1示出了本申请一个示例性实施例提供的网速加速系统100的框图。该网速加速系统100包括:主机设备120、移动终端140、代理服务器160和后台服务器180。
主机设备120是需要网速加速的电子设备。主机设备120内运行有需要网速加速的应用程序。主机设备120可以是各种掌上设备,比如Switch主机,该Switch主机里面运行有各种游戏程序。
主机设备120与移动终端140之间建立有Wi-Fi连接。其中,移动终端140是网关(Access Point,AP)设备,主机设备120是站点(Station)设备。移动终端140自身作为Wi-Fi热点,向主机设备120提供Wi-Fi接入能力以及网速加速服务。
移动终端140是智能手机或平板电脑,移动终端140采用Android系统或IOS系统。移动终端140内设置有物理网卡142和虚拟网卡144。其中,物理网卡142是Wi-Fi热点的网关网卡,具有Wi-Fi局域网的网关IP地址。虚拟网卡144用于模拟远端服务,虚拟网卡144是借助软件能力实现的。移动终端140用于通过虚拟网卡144拦截主机设备120需要加速的第一网络流量,并将第一网络流量映射至代理连接实例后,通过类套接字代理将映射后的第一网络流量转发至代理服务器。
代理服务器160用于接收移动终端140转发的第一网络流量,将第一网络流量加速发送至后台服务器180。
后台服务器180用于提供真正的远端服务,该远端服务是应用程序对应的后台服务。后台服务器180在接收到来自主机设备120的第一网络流量后,生成用于回复第一网络流量的第二网络流量,通过代理服务器160和移动终端140将第二网络流量加速发送至主机设备120。本申请中,将流量从主机设备120发往后台服务器180的方向称为上行方向,将流量从后台服务器180发往主机设备120的方向称为下行方向。
图2示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图。本实施例以该方法应用于图1所示的移动终端140执行来举例说明。该方法包括:
步骤202:建立虚拟网卡,虚拟网卡用于伪装主机设备所需要的远端服务;
不同于硬件形式的物理网卡,虚拟网卡是采用计算机程序来实现的网卡。
步骤204:通过虚拟网卡拦截主机设备的网络流量,网络流量是传输层的流量;
移动终端通过虚拟网卡拦截主机设备的网络流量。
网络流量是主机设备中需要加速的网络流量。示意性的,网络流量是传输层的流量,传输层的流量包括TCP流量和UDP流量中的至少一种。
步骤204:将网络流量映射至代理实例;
移动终端内运行有本地实例和代理实例。本地实例用于实现移动终端与主机设备之间的通信,代理实例用于实现移动终端与代理服务器之间的通信。
移动终端内运行有TCP本地连接实例和UDP本地实例中的至少一种。代理实例包括:TCP代理连接实例和UDP代理实例中的至少一种。代理连接实例也可简称为代理实例。
对于TCP本地连接实例(简称TCP本地连接),移动终端内运行有TCP代理连接实例(简称TCP连接实例),TCP本地连接实例和TCP代理连接实例存在一对一的映射关系。
对于UDP本地实例,移动终端内运行有UDP代理实例,UDP本地实例和UDP代理实例存在多对多的映射关系。每个UDP本地实例对应一组目的IP地址和源端口,每个UDP代理实例对应一组源IP地址和目的端口。不同的UDP本地实例和UDP代理实例之间的对应关系,可以实现UDP代理支持UDP传输协议的无连接性,可以向不同目的地址发送数据包,也可以从不同目的地址接收数据包。
步骤208:将映射至代理实例的网络流量转发至代理服务器。
移动终端通过类套接字代理,将映射至代理实例的网络流量转发至代理服务器
类套接字(socket)代理是一种网络连接层代理,代理服务器通过在移动终端与远端服务器之间交换数据来实现代理的目的。
综上所述,本实施例提供的方法,通过在移动终端内设置虚拟网卡,能够拦截到主机设备在传输层的网络流量,然后将网络流量映射至代理连接,通过类套接字代理将代理连接内的网络流量转发至代理服务器,由代理服务器在主机设备与远端服务器之间交换数据来实现加速代理,实现了对传输层的TCP流量和/或UDP流量的网速加速,能够适用于绝大多数的游戏程序的加速。
本申请实施例提供的网速加速方案,支持对TCP流量、UDP流量和HTTP代理流量中的至少一种流量的加速,本申请实施例以同时支持三种流量的加速来举例说明。以下采用不同的实施例进行分别阐述:
针对TCP流量:
图3示出了本申请一个示例性实施例提供的基于移动终端的主机设备加速方法的流程图。本实施例以该方法应用于移动终端中来举例说明。移动终端内设置有虚拟网卡,移动终端和主机设备之间采用Wi-Fi网络相连,该方法包括:
步骤301:建立虚拟网卡,虚拟网卡用于伪装主机设备所需要的远端服务;
移动终端通过操作系统提供的虚拟网卡程序或功能,建立虚拟网卡。
步骤302:通过虚拟网卡拦截主机设备的上行TCP流量,虚拟网卡用于伪装主机设备所需要的远端服务;
虚拟网卡用于伪装主机设备所需要的远端服务,远端服务是指后台服务器提供的服务。移动终端通过虚拟网卡拦截主机设备的上行TCP流量。上行TCP流量是主机设备中需要加速的TCP流量。
示例性的,上行TCP流量是指一组具有相同套接字的TCP数据包的统称。套接字包括:源IP地址和端口,以及目的IP地址和端口。在一些实施例中,
步骤303:将上行TCP流量从TCP本地连接实例映射到TCP代理连接实例,得到映射后的上行TCP流量;
TCP本地连接实例和TCP代理连接实例具有一对一的对应关系。当存在多个TCP本地连接实例时,每个TCP本地连接实例都对应有各自的TCP代理连接实例。比如,TCP本地连接实例1对应TCP代理连接实例1,TCP本地连接实例2对应TCP代理连接实例2,TCP本地连接实例3对应TCP代理连接实例3。
当上行TCP流量是从TCP本地连接实例1拦截到的TCP流量时,将上行TCP流量映射到TCP代理连接实例1,得到映射后的上行TCP流量。当上行TCP流量是从TCP本地连接实例2拦截到的TCP流量时,将上行TCP流量映射到TCP代理连接实例2,得到映射后的上行TCP流量。
示意性的,上行TCP流量在TCP本地连接实例中,源IP地址和端口是主机设备的IP地址和端口,目的IP地址和端口是远端服务的IP地址和端口。上行TCP流量在TCP代理连接实例中,源IP地址和端口是移动终端对外的IP地址和端口,目的IP地址和端口是远端服务的IP地址和端口。
步骤304:将映射至TCP代理连接实例的上行TCP流量转发至代理服务器;
移动终端通过类套接字代理将映射至TCP代理连接实例的上行TCP流量转发至代理服务器。
类套接字(socket)代理是一种网络连接层代理,代理服务器通过在主机设备与远端服务器之间交换数据来实现代理的目的。
步骤305:在接收到用于回复上行TCP流量的下行TCP流量时,将下行TCP流量从TCP代理连接实例映射到TCP本地连接实例;
后台服务器接收到上行TCP流量后,生成用于回复上行TCP流量的下行TCP流量。下行TCP流量是指一组具有相同套接字的TCP数据包的统称。套接字包括:源IP地址和端口,以及目的IP地址和端口。其中,用于回复上行TCP流量的下行TCP流量包括一个或多个数据包。用于回复上行TCP流量的数据包简称回包。
示意性的,移动终端通过类套接字代理接收到用于回复上行TCP流量的下行TCP流量。
示意性的,TCP本地连接实例和TCP代理连接实例具有一对一的对应关系。当下行TCP流量是从TCP代理连接实例1接收到的TCP流量时,将下行TCP流量映射到TCP本地连接实例1,得到映射后的下行TCP流量。当下行TCP流量是从TCP代理连接实例2接收到的TCP流量时,将下行TCP流量映射到TCP本地连接实例2,得到映射后的下行TCP流量,如图4所示。
示意性的,下行TCP流量在TCP代理连接实例中,源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是移动终端对外的IP地址和端口。下行TCP流量在TCP本地连接实例中,源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是主机设备的IP地址和端口。
步骤306:通过TCP本地连接实例将下行TCP流量转发至主机设备。
移动终端通过TCP本地连接实例将下行TCP流量,采用Wi-Fi连接转发至主机设备。
综上所述,本实施例提供的方法,通过将上行TCP流量从TCP本地连接实例映射至TCP代理连接实例,实现了对上行方向的TCP流量的代理,能够对主机设备中支持TCP流量的应用程序实现网络加速。
本实施例提供的方法,通过将下行TCP流量从TCP代理连接实例映射至TCP本地连接实例,实现了对下行方向的TCP流量的代理,能够对主机设备中支持TCP流量的应用程序实现网络加速。
针对UDP流量:
图5示出了本申请一个示例性实施例提供的采用移动终端加速主机设备的方法的流程图。本实施例以该方法应用于移动终端中来举例说明。移动终端内设置有虚拟网卡,移动终端和主机设备之间采用Wi-Fi网络相连。该方法包括:
步骤501:建立虚拟网卡,虚拟网卡用于伪装主机设备所需要的远端服务;
移动终端通过操作系统提供的虚拟网卡程序或功能,建立虚拟网卡。
步骤502:通过虚拟网卡拦截主机设备的上行UDP流量,虚拟网卡用于伪装主机设备所需要的远端服务;
虚拟网卡用于伪装主机设备所需要的远端服务。移动终端通过虚拟网卡拦截主机设备的上行UDP流量。上行UDP流量是主机设备中需要加速的UDP流量。
示例性的,上行UDP流量是指一组具有相同套接字的UDP数据包的统称。套接字包括:源IP地址和端口,以及目的IP地址和端口。或者,套接字包括目的IP地址和端口。
步骤503:将上行UDP流量从UDP本地实例映射到UDP代理实例,得到映射后的上行UDP流量;
UDP本地实例和UDP代理实例具有多对多的对应关系。每个UDP代理实例对应主机设备的一组源IP地址和端口,也称为远端(Remote)实例。每个UDP本地实例对应远端服务的一组目的IP地址和端口,也称为本地(Local)实例。采用多对多的对应关系,可以实现UDP代理支持UDP传输协议的无连接性,可以向不同目的地址发送数据包,也可以从不同目的地址接收数据包。
示例性的,移动终端根据上行UDP流量的源IP地址和端口,在多个UDP代理实例中确定出目标UDP代理实例;将上行UDP流量从UDP本地实例映射到目标UDP代理实例,得到映射后的上行UDP流量。比如在图6中,当上行UDP流量的源IP地址和端口为“源地址0,源端口0”时,确定UDP代理实例0为目标UDP代理实例。当当上行UDP流量的源IP地址和端口为“源地址1,源端口1”时,确定UDP代理实例1为目标UDP代理实例。
示意性的,源IP地址和端口是主机设备的IP地址和端口,比如图6中的“源地址1,源端口1”和“源地址1,源端口1”均为主机设备的IP地址和端口;目的IP地址和端口是远端服务的IP地址和端口,比如图6中的“目的地址0,目的端口0”均为远端服务的IP地址和端口。
步骤504:将映射至UDP代理实例的上行UDP流量转发至代理服务器;
移动终端通过类套接字代理将映射至UDP代理实例的上行UDP流量转发至代理服务器。
类套接字(socket)代理是一种网络连接层代理,代理服务器通过在主机设备与远端服务器之间交换数据来实现代理的目的。
步骤505:在接收到用于回复上行UDP流量的下行UDP流量时,将下行UDP流量从UDP代理实例映射到UDP本地实例;
后台服务器接收到上行UDP流量后,生成用于回复上行UDP流量的下行UDP流量。下行UDP流量是指一组具有相同套接字的UDP数据包的统称。套接字包括:源IP地址和端口,以及目的IP地址和端口。在一些实施例中,UDP套接字可以仅包括目的IP地址和端口。其中,用于回复上行UDP流量的下行UDP流量中的数据包,简称回包。
示例性的,移动终端通过类套接字代理接收用于回复上行UDP流量的下行UDP流量。
示例性的,移动终端根据下行UDP流量的源IP地址和端口(远端服务的IP地址和端口),在多个UDP本地实例中确定出目标UDP本地实例;通过目标UDP本地实例将下行UDP流量转发至所述主机设备。
示意性的,UDP本地实例和UDP代理实例具有一对一的对应关系。当下行UDP流量是从UDP代理实例1接收到的UDP流量时,根据下行UDP流量的源IP地址和端口在多个UDP本地实例中确定出UDP本地实例X,映射到UDP代理实例X,得到映射后的下行UDP流量。
示意性的,在UDP代理实例中,下行UDP流量的源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是移动终端对外的IP地址和端口。在UDP本地实例中,下行UDP流量的源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是主机设备的IP地址和端口。
步骤506:通过UDP本地实例将下行UDP流量转发至主机设备。
示例性的,下行UDP流量携带有移动终端的IP地址和端口作为目的IP地址和端口,以便后台服务器将下行UDP流量发送至移动终端,以及下行UDP流量携带有远端服务的IP地址和端口作为源IP地址和端口,以便移动终端将下行UDP流量映射至主机设备对应的UDP本地实例。
综上所述,本实施例提供的方法,通过将上行UDP流量从UDP本地实例映射至UDP代理实例,实现了对上行方向的UDP流量的代理,能够对主机设备中支持UDP流量的应用程序实现网络加速。
本实施例提供的方法,通过将下行UDP流量从UDP代理实例映射至UDP本地实例,实现了对下行方向的UDP流量的代理,能够对主机设备中支持UDP流量的应用程序实现网络加速。
由于本实施例提供的方法,由于支持TCP流量和UDP流量的代理加速,因此也支持对P2P(Peer to Peer,点对点)协议的流量的加速。
针对HTTP代理流量
图7示出了本申请一个示例性实施例提供的采用移动终端加速主机设备的方法的流程图。本实施例以该网速加速方法应用于移动终端中来举例说明。该方法包括:
步骤701:建立虚拟网卡,虚拟网卡用于伪装主机设备所需要的远端服务;
移动终端通过操作系统提供的虚拟网卡程序或功能,建立虚拟网卡。
步骤702:通过HTTP代理服务拦截主机设备的HTTP代理流量;
移动终端内还设置有HTTP代理服务。移动终端通过该HTTP代理服务来拦截主机设备的HTTP代理流量。
步骤703:将HTTP代理流量转化为上行TCP流量;
在HTTP代理流量的协议头是第一类型时,向主机设备回复200OK报文,将该协议头对应的连接内的所有流量都当成上行TCP流量进行处理。比如,上行类型是连接(CONNECT)方法,CONNECT方法代表连接尚未建立,200OK报文表示接收本次建立。
在HTTP代理流量的协议头是第二类型时,根据该协议头将该协议头对应的连接内的所有流量都当成上行TCP流量进行处理。比如,上行类型不是CONNECT方法,代表该连接已经建立,无需移动终端回复200OK报文。可选地,在解析完毕HTTP代理流量的协议头是下行类型的情况下,移动终端根据解析出的后台服务器的域名(host),使用UDP代理实例发送DNS(Domain Name System,域名系统)请求,当接收到DNS请求回复的目的IP地址后,将该协议头对应的连接内的所有流量都当成上行TCP流量进行处理。
步骤704:将上行TCP流量从TCP本地连接实例映射到TCP代理连接实例,得到映射后的上行TCP流量;
当上行TCP流量对应TCP本地连接实例3时,将上行TCP流量映射到TCP代理连接实例3,得到映射后的上行TCP流量。
步骤705:通过类套接字代理将映射至TCP代理连接实例的上行TCP流量转发至代理服务器。
示意性的,在接收到用于回复上行TCP流量的下行TCP流量时,将所述下行TCP流量从TCP代理连接实例映射到TCP本地连接实例;通过TCP本地连接实例将下行TCP流量发送至HTTP代理服务,由HTTP代理服务将下行TCP流量转发至主机设备。
综上所述,本实施例提供的方法,还提供了对HTTP代理流量的网络加速支持。由于采用了对HTTP代理流量转换为TCP流量的方式,因此只需要在主机设备上设置HTTP代理即可,无需在移动终端上进行额外配置,简化了人机交互。
在基于上述各个实施例的可选实施例中,移动终端需要事先与主机设备建立WI-FI连接以及建立虚拟网卡,该建立虚拟网卡的过程可以实现为如下步骤,如图8所示:
步骤202-1:建立一个TUN网卡作为虚拟网卡,TUN(Network Tunnel,一种模拟网络层设备的虚拟网络协议栈)网卡的IP地址是主机设备对应的远端服务的IP地址;
在移动终端采用安卓操作系统时,通过VpnService(虚拟专用网服务)特性建立一个TUN网卡作为虚拟网卡。
在移动终端采用苹果操作系统时,通过NetworkExtension(扩展网络)中的NEPacketTunnelProvider(包隧道提供类)建立一个TUN网卡作为虚拟网卡。
步骤202-2:绑定远端服务的套接字到虚拟网卡。
在调用bind(绑定)函数时,绑定缺省IP地址和远端服务的端口至虚拟网卡;缺省IP地址包括0.0.0.0,并且设置子网掩码为255.255.255.255。
在调用bind函数时,绑定远端服务的IP地址和远端服务的端口至虚拟网卡,并且设置子网掩码为255.255.255.255。
其中,掩码255.255.255.255的目的是,指定单一IP地址,这样虚拟网卡建立时才会将绑定的IP地址设为自己的网卡地址。
示意性的参考图9,在虚拟网卡建立完毕后,Switch主机将数据发送到后台服务器的ip0和端口0。由于Switch主机和Wi-Fi热点网卡之间具有Wi-Fi连接,Wi-Fi热点网卡接收到Switch主机发送的数据,Wi-Fi热点网卡根据内部的路由服务选择路由路径。由于虚拟网卡绑定了后台服务器的ip0和端口0,Wi-Fi热点网卡将数据路由至虚拟网卡,虚拟网卡接收到该数据。
综上所述,本实施例提供的方法,采用安卓手机或苹果手机上操作系统提供的网络功能建立虚拟网卡,能够实现对主机设备的TCP流量和UDP流量的拦截,以及对HTTP代理流量的拦截。
在一个示意性的例子中,如图10所示,本申请实施例的网速加速方案的层级设计如下:
流量拦截层920
流量拦截层负责将游戏程序的流量进行拦截,并将流量和拦截到的传输协议信息输出到协议转换层。下面分别说明不同流量类型的拦截方法:
对于Switch主机中的HTTP代理流量,需要在Switch主机和手机的共同子网下建立HTTP代理服务器,并将HTTP代理服务器的IP地址(即手机在当前子网下的IP)和端口填入到Switch主机的网络设置的代理选项下即可。
对于传输层的TCP流量和UDP流量,虚拟网卡采用伪装远端服务的方式来实现拦截。示意性的,让手机和Switch主机处于同一子网(或局域网)下,把手机作为Switch主机的网关,并在手机上建立虚拟网卡,将虚拟网卡的IP地址设为要伪装的远端服务的IP地址,以及在虚拟网卡上绑定要伪装的远端服务的服务端口,就能接收到Switch主机发给远端服务的数据包。在将手机设置为网关时,在Wi-Fi环境下需要到Switch主机的网络设置下,手动更改Switch的网关地址为手机在子网下的IP地址;在热点环境下,手机本身就是Switch的网关,无需进行任何配置。
对于Android手机,建立虚拟网卡是依赖其VpnService(虚拟专用网服务)特性,建立一个TUN(Network Tunnel,一种模拟网络层设备的虚拟网络协议栈)网卡,并通过调用VpnService.Builder的增加地址(addAddress)接口,设定网虚拟网卡的IP地址,即想要伪装的远端服务的IP地址。示意性的,虚拟网卡的IP地址的前缀长度(prefixLength)参数填32,即32位掩码。
对于iOS手机,建立虚拟网卡是依赖其NetworkExtension(网络扩展)的NEPacketTunnelProvider特性。此特性与Android手机的VpnService类似,同样会建立一个TUN网卡。在建立服务时,将要伪装的远端服务的IP地址填入NEIPv4Settings.addresses,掩码置为255.255.255.255。
在虚拟网卡建立好之后,绑定对应HTTP代理协议的套接字(socket)到虚拟网卡的端口上就可以了。这一步有两种实现策略,第一种是调用捆绑(bind)时,填入地址0.0.0.0和伪装的远程服务的端口,这样建立的套接字可以接收所有以虚拟网卡的IP地址为目标地址的流量。在存在后台服务器回复的数据包时,虚拟网卡会以与Switch主机在同一子网下的网卡IP地址作为源地址发送。第二种是调用捆绑(bind)时,填入想要伪装的远程服务的IP地址和端口,这样建立的socket只能接收以绑定的IP地址为目的地址的流量,回包时也是以绑定的IP地址作为源地址发送。这两种做法各有优劣,需要结合使用。前者的好处是需要建立较少的socket,在一些Android手机和所有的iOS手机上对进程有打开文件数量的限制,这么做可以大幅度减少socket得使用数量,但是只能对不验证数据包的源地址的游戏(如P2P游戏)使用。后者建立较多的socket,但是能保证后台服务器回复的数据包也能使用正确的源地址,在一些游戏中会被验证(如P2P游戏)。
协议转换层940
协议转换层负责将拦截的流量解包成裸数据和传输协议信息,并做本地连接(手机与Switch之间)和远程连接(手机与后台服务器之间)的映射。
对于HTTP代理连接,解析HTTP协议转换成TCP连接。示意性的,协议转换层查看收到的HTTP头方法(method),如果HTTP头方法是CONNECT方法,则向Switch主机回复200OK表示接受HTTP隧道建立,之后这条HTTP连接的所有流量都当TCP流量处理。
如果不是CONNECT方法,则直接把这条HTTP连接当TCP连接处理。再解完HTTP协议后,需要根据解出来的host,去做dns请求,这个请求要当作UDP流量处理走代理通道,当DNS请求返回拿到目的IP后才能继续这条TCP连接的转换流程。
对于TCP流量,建立TCP连接与代理连接之间的一一映射,即对于本地拦截socket的TCP连接,和对应的TCP代理连接实例,建立一对一的映射关系。使得这条TCP代理连接实例在收到后台服务器的回包数据后,能找到与Switch主机对应的TCP连接(拦截socket连接),并将数据返回给Switch主机。
对于UDP流量,根据数据包的源地址和端口,目的地址和端口,对应分别建立一个代理(Remote)实例对应源端,本地(Local)实例对应目的端,形成多对多的Local实例和Remote实例之间的映射。当拦截到Switch主机的UDP流量之后,通过对应源端的Remote实例向后台服务转发数据包,并携带目的地址,便于后台服务转发数据;在收到后台服务器的回包后,根据回包携带的目的地址,找到对应的Local实例,进而找到对应本地的UDP拦截socket,将数据返回。建立这样的Local实例和Remote实例的多对多映射的目的是使协议转换层支持UDP传输协议的无连接,可以向不同地址发送,也可以从不同地址接收的特性。
代理层960
代理层负责跟后台服务器的远端服务进行交互,用后台服务器的协议封装流量数据并发送给后台服务器。在接收到后台服务器回复的数据包后,解析协议头得到流量数据,将解析得到流量数据上传到上层,即协议转换层。由于拦截的switch主机的流量基本上都在传输层,即使是HTTP代理经过协议转换层后也转换成了TCP连接,故HTTP代理流量和TCP流量与后台通信的协议采用基于socks的协议,即对每一条拦截的TCP连接,都与代理服务器建立一条TCP连接,并带上TCP代理的目的地址和端口信息。与基本socks协议不同的是,UDP连接使用UDP协议来传输,并在发包和回包的包头上都带上目标地址(后台服务器的IP地址),便于后台服务器的转发和客户端映射。
图11示出了本申请一个示例性实施例提供的加速主机设备的装置的框图。所述装置与主机设备之间建立有Wi-Fi连接,所述装置是所述Wi-Fi连接中的接入点设备,所述主机设备是所述Wi-Fi连接中的站点设备,所述装置包括:
网卡建立模块1100,用于建立虚拟网卡,所述虚拟网卡用于伪装所述主机设备所需要的远端服务;
流量拦截模块1120,用于通过所述虚拟网卡拦截所述主机设备的上行网络流量,所述上行网络流量是传输层的流量;
协议转换模块1140,用于将所述上行网络流量映射至代理实例,所述代理实例用于实现所述装置与代理服务器之间的通信;
代理模块1160,用于将映射至所述代理实例的所述上行网络流量转发至所述代理服务器。
在本申请的一个可选设计中,所述上行网络流量包括上行TCP流量;
所述协议转换模块1140,用于将所述上行TCP流量从TCP本地连接实例映射到TCP代理连接实例,得到映射后的上行TCP流量;
其中,所述TCP本地连接实例和所述TCP代理连接实例存在一对一的映射关系,所述TCP本地连接实例是所述装置和所述主机设备之间的连接,所述TCP代理连接实例是所述装置和所述代理服务器之间的连接。
在本申请的一个可选设计中,所述协议转换模块1140,用于在接收到回复所述上行TCP流量的下行TCP流量时,将所述下行TCP流量从所述TCP代理连接实例映射到所述TCP本地连接实例;通过所述TCP本地连接实例将所述下行TCP流量转发至所述主机设备。
在本申请的一个可选设计中,所述上行网络流量包括上行UDP流量;
所述协议转换模块1140,用于将所述上行UDP流量从UDP本地实例映射到UDP代理实例,得到映射后的上行UDP流量;
其中,所述UDP本地实例和所述UDP代理实例存在多对多的映射关系,所述UDP代理实例对应所述主机设备的一组源IP地址和端口,所述UDP本地实例对应所述远端服务的一组目的IP地址和端口。
在本申请的一个可选设计中,所述协议转换模块1140,用于根据所述上行UDP流量的源IP地址和端口(主机设备的IP地址和端口),在多个UDP代理实例中确定出目标UDP代理实例;将所述上行UDP流量从所述UDP本地实例映射到所述目标UDP代理实例,得到映射后的上行UDP流量。
在本申请的一个可选设计中,所述协议转换模块1140,用于在所述类套接字代理接收到回复所述上行UDP流量的下行UDP流量时,将所述下行UDP流量从所述UDP代理实例映射到所述UDP本地实例;通过所述UDP本地实例将所述下行UDP流量转发至所述主机设备。
在本申请的一个可选设计中,所述协议转换模块1140,用于根据所述下行UDP流量的源IP地址和端口(后台服务器或远端服务的IP地址和端口),在多个UDP本地实例中确定出目标UDP本地实例;通过所述目标UDP本地实例将所述下行UDP流量转发至所述主机设备。
在本申请的一个可选设计中,所述装置中还运行有HTTP代理服务,所述流量拦截模块1120,还用于通过所述HTTP代理服务拦截所述主机设备的HTTP代理流量;
所述协议转换模块1140,用于将所述HTTP代理流量转化为上行TCP流量;将所述上行TCP流量从TCP本地连接实例映射到TCP代理连接实例,得到映射后的上行TCP流量;
所述代理模块1160,用于将映射至所述TCP代理连接实例的所述上行TCP流量转发至所述代理服务器。
在本申请的一个可选设计中,所述装置还包括:
所述网卡建立模块1100,用于建立一个TUN网卡作为所述虚拟网卡,所述TUN网卡的IP地址是所述主机设备对应的远端服务的IP地址;绑定所述远端服务的套接字到所述虚拟网卡。
在本申请的一个可选设计中,所述网卡建立模块1100,用于在所述装置采用安卓操作系统时,通过虚拟专用网服务特性建立一个TUN网卡作为所述虚拟网卡;在所述装置采用苹果操作系统时,通过扩展网络中的包隧道提供类建立一个TUN网卡作为所述虚拟网卡。
在本申请的一个可选设计中,所述套接字包括IP地址和端口,所述网卡建立模块1100,用于在调用绑定函数时,绑定缺省IP地址和所述远端服务的端口至所述虚拟网卡;所述缺省IP地址包括0.0.0.0;或,在调用绑定函数时,绑定所述远端服务的IP地址和所述远端服务的端口至所述虚拟网卡。
图12示出了本申请一个示例性实施例提供的移动终端1200的结构框图。该移动终端1200可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。移动终端1200还可能被称为用户设备、便携式移动终端、膝上型移动终端、台式移动终端等其他名称。
通常,移动终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的基于移动终端的主机设备加速方法。
在一些实施例中,移动终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头1206、音频电路1207和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它移动终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或Wi-Fi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置移动终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在移动终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在移动终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在移动终端的前面板,后置摄像头设置在移动终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在移动终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
电源1209用于为移动终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,移动终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、光学传感器1215以及接近传感器88。
加速度传感器1211可以检测以移动终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测移动终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对移动终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在移动终端1200的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在移动终端1200的侧边框时,可以检测用户对移动终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在移动终端1200的前面板。接近传感器1216用于采集用户与移动终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与移动终端1200的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与移动终端1200的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对移动终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的基于移动终端的主机设备加速方法。
可选地,本申请还提供了一种包含指令的计算机程序产品,当其在移动终端上运行时,使得移动终端执行上述各方面所述的基于移动终端的主机设备加速方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种基于移动终端的主机设备加速方法,其特征在于,应用于移动终端中,所述移动终端与所述主机设备之间建立有无线保真网络Wi-Fi连接,所述移动终端是所述Wi-Fi连接中的接入点设备,所述移动终端内运行有本地实例和代理实例,所述本地实例包括:TCP本地连接实例和UDP本地实例中的至少一种,所述代理实例包括:TCP代理连接实例和UDP代理实例中的至少一种,所述方法包括:
建立虚拟网卡,所述虚拟网卡用于通过绑定远端服务的IP地址和端口来伪装所述主机设备所需要的远端服务;
通过所述虚拟网卡拦截所述主机设备的网络流量,所述网络流量是传输层的流量,所述传输层的流量包括TCP流量和UDP流量中的至少一种;
若所述移动终端中运行有超文本传输协议HTTP代理服务,通过所述HTTP代理服务拦截所述主机设备的HTTP代理流量;将所述HTTP代理流量转化为上行TCP流量;将所述上行TCP流量所述TCP本地连接实例映射到所述TCP代理连接实例,得到映射后的上行TCP流量;将映射至所述TCP代理连接实例的所述上行TCP流量转发至所述代理服务器;其中所述TCP本地连接实例和TCP代理连接实例具有一对一的对应关系,所述上行TCP流量在所述TCP本地连接实例中,源IP地址和端口是所述主机设备的IP地址和端口,目的IP地址和端口是所述远端服务的IP地址和端口,所述上行TCP流量在所述TCP代理连接实例中,源IP地址和端口是所述移动终端对外的IP地址和端口,目的IP地址和端口是所述远端服务的IP地址和端口;
若所述网络流量包括上行传输控制协议TCP流量,将所述上行TCP流量从TCP本地连接实例映射到TCP代理连接实例,得到映射后的TCP流量,将映射至所述代理实例的所TCP流量转发至代理服务器;在接收到用于回复所述上行TCP流量的下行TCP流量时,将所述下行TCP流量从所述TCP代理连接实例映射到所述TCP本地连接实例,通过所述TCP本地连接实例将所述下行TCP流量转发至所述主机设备,其中下行TCP流量在所述TCP代理连接实例中,源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是移动终端对外的IP地址和端口,所述下行TCP流量在TCP本地连接实例中,源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是主机设备的IP地址和端口;
若所述网络流量包括上行用户数据包协议UDP流量,根据上行UDP流量的源IP地址和端口,在多个UDP代理实例中确定出目标UDP代理实例;将所述上行UDP流量从UDP本地实例映射到目标UDP代理实例,得到映射后的上行UDP流量,将映射至所述代理实例的所述上行UDP流量转发至所述代理服务器,所述上行UDP流量的源IP地址和端口是所述主机设备的IP地址和端口;在接收到回复所述上行UDP流量的下行UDP流量时,根据所述下行UDP流量的源IP地址和端口,在多个UDP本地实例中确定出目标UDP本地实例;通过所述目标UDP本地实例将所述下行UDP流量转发至所述主机设备;其中所述下行UDP流量的源IP地址和端口为远端服务的IP地址和端口,所述UDP本地实例和所述UDP代理实例的多对多映射,每个UDP代理实例对应主机设备的一组源IP地址和端口,每个UDP本地实例对应远端服务的一组目的IP地址和端口。
2.根据权利要求1所述的方法,其特征在于,所述TCP本地连接实例用于实现所述移动终端和所述主机设备之间的通信,所述TCP代理连接实例用于实现所述移动终端和所述代理服务器之间的通信。
3.根据权利要求1至2任一所述的方法,其特征在于,所述建立虚拟网卡,包括:
建立一个网络隧道TUN网卡作为所述虚拟网卡,所述TUN网卡的IP地址是所述主机设备对应的远端服务的网络互连协议IP地址;
绑定所述远端服务的套接字到所述虚拟网卡。
4.根据权利要求3所述的方法,其特征在于,所述建立一个TUN网卡作为所述虚拟网卡,包括:
在所述移动终端采用安卓操作系统时,通过虚拟专用网服务特性建立一个TUN网卡作为所述虚拟网卡;
在所述移动终端采用苹果操作系统时,通过扩展网络中的包隧道提供类建立一个TUN网卡作为所述虚拟网卡。
5.根据权利要求3所述的方法,其特征在于,所述套接字包括IP地址和端口,所述绑定所述远端服务的套接字到所述虚拟网卡,包括:
在调用绑定函数时,绑定缺省IP地址和所述远端服务的端口至所述虚拟网卡;所述缺省IP地址包括0.0.0.0;
或,
在调用绑定函数时,绑定所述远端服务的IP地址和所述远端服务的端口至所述虚拟网卡。
6.一种基于移动终端的主机设备加速装置,其特征在于,所述装置与所述主机设备之间建立有无线保真WI-FI连接,所述装置是所述WI-FI连接中的接入点设备,所述装置内运行有本地实例和代理实例,所述本地实例包括:TCP本地连接实例和UDP本地实例中的至少一种,所述代理实例包括:TCP代理连接实例和UDP代理实例中的至少一种,所述装置包括:
网卡建立模块,用于建立虚拟网卡,所述虚拟网卡用于通过绑定远端服务的IP地址和端口来伪装所述主机设备所需要的远端服务;
流量拦截模块,用于通过所述虚拟网卡拦截所述主机设备的网络流量,所述网络流量是传输层的流量,所述传输层的流量包括TCP流量和UDP流量中的至少一种;
协议转换模块,用于若所述移动终端中运行有超文本传输协议HTTP代理服务,通过所述HTTP代理服务拦截所述主机设备的HTTP代理流量;将所述HTTP代理流量转化为上行TCP流量;将所述上行TCP流量所述TCP本地连接实例映射到所述TCP代理连接实例,得到映射后的上行TCP流量;将映射至所述TCP代理连接实例的所述上行TCP流量转发至所述代理服务器;其中所述TCP本地连接实例和TCP代理连接实例具有一对一的对应关系,所述上行TCP流量在所述TCP本地连接实例中,源IP地址和端口是所述主机设备的IP地址和端口,目的IP地址和端口是所述远端服务的IP地址和端口,所述上行TCP流量在所述TCP代理连接实例中,源IP地址和端口是所述移动终端对外的IP地址和端口,目的IP地址和端口是所述远端服务的IP地址和端口;若所述网络流量包括上行传输控制协议TCP流量,将所述上行TCP流量从TCP本地连接实例映射到TCP代理连接实例,得到映射后的TCP流量,将映射至所述代理实例的所TCP流量转发至代理服务器;在接收到用于回复所述上行TCP流量的下行TCP流量时,将所述下行TCP流量从所述TCP代理连接实例映射到所述TCP本地连接实例,通过所述TCP本地连接实例将所述下行TCP流量转发至所述主机设备,其中下行TCP流量在所述TCP代理连接实例中,源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是移动终端对外的IP地址和端口,所述下行TCP流量在TCP本地连接实例中,源IP地址和端口是远端服务的IP地址和端口,目的IP地址和端口是主机设备的IP地址和端口;
若所述网络流量包括上行用户数据包协议UDP流量,根据上行UDP流量的源IP地址和端口,在多个UDP代理实例中确定出目标UDP代理实例;将所述上行UDP流量从UDP本地实例映射到目标UDP代理实例,得到映射后的上行UDP流量,将映射至所述代理实例的所述上行UDP流量转发至所述代理服务器,所述上行UDP流量的源IP地址和端口是所述主机设备的IP地址和端口;在接收到回复所述上行UDP流量的下行UDP流量时,根据所述下行UDP流量的源IP地址和端口,在多个UDP本地实例中确定出目标UDP本地实例;通过所述目标UDP本地实例将所述下行UDP流量转发至所述主机设备;其中所述下行UDP流量的源IP地址和端口为远端服务的IP地址和端口,所述UDP本地实例和所述UDP代理实例的多对多映射,每个UDP代理实例对应主机设备的一组源IP地址和端口,每个UDP本地实例对应远端服务的一组目的IP地址和端口。
7.一种移动终端,其特征在于,所述移动终端包括:处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至5任一所述的基于移动终端的主机设备加速方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至5任一所述的基于移动终端的主机设备加速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011218269.9A CN112398685B (zh) | 2020-11-04 | 2020-11-04 | 基于移动终端的主机设备加速方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011218269.9A CN112398685B (zh) | 2020-11-04 | 2020-11-04 | 基于移动终端的主机设备加速方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398685A CN112398685A (zh) | 2021-02-23 |
CN112398685B true CN112398685B (zh) | 2024-01-19 |
Family
ID=74597636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011218269.9A Active CN112398685B (zh) | 2020-11-04 | 2020-11-04 | 基于移动终端的主机设备加速方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398685B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242763B (zh) * | 2021-04-16 | 2024-09-20 | 京东科技控股股份有限公司 | 一种终端应用的网络流量采集方法、系统及相关装置 |
CN114760266B (zh) * | 2022-03-01 | 2023-06-09 | 烽台科技(北京)有限公司 | 虚拟地址生成方法、装置和计算机设备 |
CN116074916A (zh) * | 2022-12-26 | 2023-05-05 | 网易(杭州)网络有限公司 | 流量数据的处理方法、装置、系统和电子设备 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490617B1 (en) * | 1998-06-09 | 2002-12-03 | Compaq Information Technologies Group, L.P. | Active self discovery of devices that participate in a network |
CN102932461A (zh) * | 2012-11-06 | 2013-02-13 | 深信服网络科技(深圳)有限公司 | 网络加速传输方法及装置 |
US8588233B1 (en) * | 2010-12-31 | 2013-11-19 | Akamai Technologies, Inc. | Peer-to-peer connection establishment using TURN |
CN103840994A (zh) * | 2012-11-23 | 2014-06-04 | 华耀(中国)科技有限公司 | 一种用户端通过 vpn 访问内网的系统及方法 |
CN104378339A (zh) * | 2013-08-16 | 2015-02-25 | 深圳市腾讯计算机系统有限公司 | 一种使用代理协议的通信方法和装置 |
CN104506670A (zh) * | 2014-12-31 | 2015-04-08 | 北京奇虎科技有限公司 | 建立网游连接的方法、设备及系统 |
CN106375128A (zh) * | 2016-09-14 | 2017-02-01 | 网宿科技股份有限公司 | 基于pptp vpn的加速访问方法、装置和设备 |
CN106817429A (zh) * | 2017-02-17 | 2017-06-09 | 腾讯科技(深圳)有限公司 | 一种数据获取方法、移动终端及服务器 |
CN107104892A (zh) * | 2016-02-19 | 2017-08-29 | 深圳市福云明网络科技有限公司 | 网络加速的方法和装置 |
CN108111619A (zh) * | 2017-12-28 | 2018-06-01 | 西安抱朴通信科技有限公司 | 一种数据分流方法及装置、计算机设备、存储介质 |
CN108243192A (zh) * | 2018-01-11 | 2018-07-03 | 世纪龙信息网络有限责任公司 | 应用访问网络的识别方法和系统 |
CN109067718A (zh) * | 2018-07-23 | 2018-12-21 | 浙江吉利汽车研究院有限公司 | 车载多媒体主机与移动终端共享网络的方法、装置、系统 |
CN109496415A (zh) * | 2018-03-23 | 2019-03-19 | 华为技术有限公司 | 一种虚拟机访问远端加速设备方法及系统 |
US10374953B1 (en) * | 2019-01-22 | 2019-08-06 | Cloudflare, Inc. | Method and apparatus for traffic optimization in virtual private networks (VPNS) |
CN110730102A (zh) * | 2019-10-23 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 一种网络加速方法及装置、存储介质 |
CN110769521A (zh) * | 2019-08-26 | 2020-02-07 | 北京嘀嘀无限科技发展有限公司 | 网络访问方法、网络访问系统和计算机可读存储介质 |
CN111756712A (zh) * | 2020-06-12 | 2020-10-09 | 广州锦行网络科技有限公司 | 一种基于虚拟网络设备伪造ip地址防攻击的方法 |
CN111800330A (zh) * | 2020-06-30 | 2020-10-20 | 苏州瑞立思科技有限公司 | 基于无线接入点的外设网络流量的代理加速方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078471A1 (en) * | 2002-10-18 | 2004-04-22 | Collatus Corporation, A Delaware Corportion | Apparatus, method, and computer program product for building virtual networks |
EP2267942B1 (en) * | 2009-06-22 | 2014-08-13 | Citrix Systems, Inc. | Systems and methods of handling non-http client or server push on http vserver |
EP3507957B1 (en) * | 2016-09-02 | 2020-12-09 | Telefonaktiebolaget LM Ericsson (PUBL) | Tcp proxy using a communication distance indicator |
US10754678B2 (en) * | 2017-11-28 | 2020-08-25 | Google Llc | Collaborative hosted virtual systems and methods |
-
2020
- 2020-11-04 CN CN202011218269.9A patent/CN112398685B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490617B1 (en) * | 1998-06-09 | 2002-12-03 | Compaq Information Technologies Group, L.P. | Active self discovery of devices that participate in a network |
US8588233B1 (en) * | 2010-12-31 | 2013-11-19 | Akamai Technologies, Inc. | Peer-to-peer connection establishment using TURN |
CN102932461A (zh) * | 2012-11-06 | 2013-02-13 | 深信服网络科技(深圳)有限公司 | 网络加速传输方法及装置 |
CN103840994A (zh) * | 2012-11-23 | 2014-06-04 | 华耀(中国)科技有限公司 | 一种用户端通过 vpn 访问内网的系统及方法 |
CN104378339A (zh) * | 2013-08-16 | 2015-02-25 | 深圳市腾讯计算机系统有限公司 | 一种使用代理协议的通信方法和装置 |
CN104506670A (zh) * | 2014-12-31 | 2015-04-08 | 北京奇虎科技有限公司 | 建立网游连接的方法、设备及系统 |
CN107104892A (zh) * | 2016-02-19 | 2017-08-29 | 深圳市福云明网络科技有限公司 | 网络加速的方法和装置 |
CN106375128A (zh) * | 2016-09-14 | 2017-02-01 | 网宿科技股份有限公司 | 基于pptp vpn的加速访问方法、装置和设备 |
CN106817429A (zh) * | 2017-02-17 | 2017-06-09 | 腾讯科技(深圳)有限公司 | 一种数据获取方法、移动终端及服务器 |
CN108111619A (zh) * | 2017-12-28 | 2018-06-01 | 西安抱朴通信科技有限公司 | 一种数据分流方法及装置、计算机设备、存储介质 |
CN108243192A (zh) * | 2018-01-11 | 2018-07-03 | 世纪龙信息网络有限责任公司 | 应用访问网络的识别方法和系统 |
CN109496415A (zh) * | 2018-03-23 | 2019-03-19 | 华为技术有限公司 | 一种虚拟机访问远端加速设备方法及系统 |
CN109067718A (zh) * | 2018-07-23 | 2018-12-21 | 浙江吉利汽车研究院有限公司 | 车载多媒体主机与移动终端共享网络的方法、装置、系统 |
US10374953B1 (en) * | 2019-01-22 | 2019-08-06 | Cloudflare, Inc. | Method and apparatus for traffic optimization in virtual private networks (VPNS) |
CN110769521A (zh) * | 2019-08-26 | 2020-02-07 | 北京嘀嘀无限科技发展有限公司 | 网络访问方法、网络访问系统和计算机可读存储介质 |
CN110730102A (zh) * | 2019-10-23 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 一种网络加速方法及装置、存储介质 |
CN111756712A (zh) * | 2020-06-12 | 2020-10-09 | 广州锦行网络科技有限公司 | 一种基于虚拟网络设备伪造ip地址防攻击的方法 |
CN111800330A (zh) * | 2020-06-30 | 2020-10-20 | 苏州瑞立思科技有限公司 | 基于无线接入点的外设网络流量的代理加速方法及系统 |
Non-Patent Citations (3)
Title |
---|
Internet网络层代理服务器的设计;熊春山, 黄心汉, 王敏;计算机工程与应用(第12期);全文 * |
从分工合作到多元融合:移动互联时代的广告代理与媒介;张庆园;师银霞;;互联网天地(第04期);全文 * |
支持HTTP代理的分布式监测终端的设计与实现;马骏骁;田地;杨智君;周斌;;吉林大学学报(工学版)(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112398685A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398685B (zh) | 基于移动终端的主机设备加速方法、装置、设备及介质 | |
CN112312226B (zh) | 连麦方法、系统、装置、电子设备及存储介质 | |
WO2022048500A1 (zh) | 一种显示方法及设备 | |
CN111866140B (zh) | 融合管理设备、管理系统、服务调用方法及介质 | |
CN108702602A (zh) | 分享图像的方法、电子设备及系统 | |
CN111355774B (zh) | 一种基于p2p的服务通信方法、装置及系统 | |
CN110602733B (zh) | 应用提速、带宽管理方法、装置、终端及存储介质 | |
CN108616835B (zh) | 基于浏览器的网络资源获取方法、装置、系统及存储介质 | |
CN110740340A (zh) | 视频直播方法及装置、存储介质 | |
CN113206781B (zh) | 客户端控制方法、装置、设备及存储介质 | |
CN111427949A (zh) | 一种创建大数据服务的方法及装置 | |
CN113726521A (zh) | 通信方法、装置、电子设备及可读存储介质 | |
CN113676902B (zh) | 一种提供无线上网的系统、方法及电子设备 | |
CN110196673A (zh) | 图片交互方法、装置、终端及存储介质 | |
CN109995704B (zh) | 广告拦截方法、装置、设备及计算机可读存储介质 | |
CN110099428B (zh) | 无线保真WiFi网络访问方法、装置及终端 | |
CN110475303A (zh) | 一种数据传输方法及终端设备 | |
CN110912830A (zh) | 传输数据的方法和装置 | |
CN110086814B (zh) | 一种数据获取的方法、装置及存储介质 | |
CN111083009B (zh) | 一种抓包方法、装置和移动终端 | |
CN111130985B (zh) | 关联关系建立方法、装置、终端、服务器及存储介质 | |
CN114765580B (zh) | 域外网络资源的网络加速方法、装置、设备及存储介质 | |
CN115412608B (zh) | 访问请求的处理方法、电子装置、电子设备以及介质 | |
KR101977259B1 (ko) | 이동 단말기 및 그것을 이용한 클라우드 시스템 | |
CN111324293A (zh) | 一种存储系统、存储数据的方法、读取数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038301 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |