数据传输系统及其建立VPN连接的方法、终端、VPN代理与流程

文档序号:18543510发布日期:2019-08-27 21:27阅读:624来源:国知局
数据传输系统及其建立VPN连接的方法、终端、VPN代理与流程

本公开涉及数据传输技术领域,具体地,涉及一种数据传输系统及其建立vpn连接的方法、终端、vpn代理。



背景技术:

随着移动互联网的快速发展和物联网的逐步兴起,网络交互的场景越来越丰富,网络传输的内容也越来越庞大,用户对网络传输效率和web(worldwideweb)响应速度的要求也越来越高。

相关技术中,在网络传输的应用场景中使用经典协议如tcp和tls协议,经典协议的传输效率低下,难以满足对高效率的网络传输的要求,另一方面,经典协议依赖于操作系统、中间设备的支持,升级难度大。



技术实现要素:

本公开的目的是提供一种数据传输系统及其建立vpn连接的方法、终端、vpn代理,用于解决相关技术中利用经典协议进行网络数据传输效率低下,且升级难度大的技术问题。

为了实现上述目的,本公开实施例的第一方面,提供一种数据传输系统,包括:

终端,虚拟专用网络vpn服务器,以及用于在所述终端和所述vpn服务器之间建立vpn连接的vpn代理;

其中,所述终端包括支持quic协议的第一http代理客户端,用于基于quic协议与所述vpn代理建立连接;

所述vpn代理用于,基于传输控制协议tcp协议与所述vpn服务器建立连接,以建立起所述终端和所述vpn服务器之间的vpn连接。

可选地,所述vpn代理包括支持quic协议的http代理服务器,所述终端包括配置模块,用于获取所述vpn代理包括的所述http代理服务器的地址信息,并根据所述地址信息对所述第一http代理客户端进行配置。

可选地,所述终端包括支持tcp协议的第二http代理客户端;

所述终端还用于,在接收到vpn隧道建立指令时,确定所述第一http代理客户端是否处于启用状态;

若所述第一http代理客户端未处于启用状态,则基于所述第二http代理客户端与所述vpn代理建立连接。

可选地,所述终端还用于,在所述第一http代理客户端处于启用状态时,建立所述第二http代理客户端与所述第一http代理客户端之间的tcp连接,所述第二http代理客户端用于向所述第一http代理客户端发送tcp协议的数据。

可选地,所述vpn代理与所述vpn服务器部署在同一电子设备上。

本公开实施例的第二方面,提供一种vpn代理,所述vpn代理为上述第一方面中任一项所述的vpn代理。

本公开实施例的第三方面,提供一种终端,所述终端为上述第一方面中任一项所述的终端。

本公开实施例的第四方面,提供一种vpn连接的建立方法,应用于终端,包括:

在接收到vpn连接建立指令时,确定所述终端中的第一http代理客户端是否处于启用状态,所述第一http代理客户端是支持quic协议的http代理客户端;

若所述第一http代理客户端处于启用状态,则基于所述第一http代理客户端与vpn代理建立连接,所述vpn代理用于基于tcp协议与vpn服务器建立连接,以建立起所述终端以及所述vpn服务器之间的vpn连接。

可选地,在所述基于所述第一http代理客户端与vpn代理建立连接之前,包括:

建立所述终端中的第二http代理客户端与所述第一http代理客户端之间的tcp连接,所述第二http代理客户端是所述终端中支持tcp协议的http代理客户端。

可选地,所述方法还包括:

获取所述vpn代理包括的支持quic协议的http代理服务器的地址信息;

根据所述地址信息对所述第一http代理客户端进行配置;

所述基于所述第一http代理客户端与vpn代理建立连接,包括:

根据所述地址信息与所述vpn代理包括的支持quic协议的http代理服务器建立连接。

通过上述技术方案,终端包括的支持quic协议的第一http代理客户端基于quic协议与vpn代理建立连接,vpn代理基于tcp协议与所述vpn服务器建立连接,使得终端获取的信息可以基于quic协议传输至vpn代理,quic协议的传输速率快,且不依赖于操作系统和中间设备,能够满足部分网络传输的应用场景中对高效率的网络传输的要求。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种数据传输系统的框图。

图2是根据一示例性实施例示出的一种数据传输系统的另一框图。

图3是根据一示例性实施例示出的一种数据传输系统的另一框图。

图4是根据一示例性实施例示出的一种vpn连接的建立方法的流程图。

图5是根据一示例性实施例示出的一种vpn连接的建立方法的另一流程图。

图6是根据一示例性实施例示出的一种vpn连接的建立方法的另一流程图。

图7是根据一示例性实施例示出的一种终端的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

从20世纪90年代互联网开始兴起,大部分互联网数据传输都使用一些经典协议,例如使用ipv4(internetprotocolversion4)进行路由、使用tcp(transmissioncontrolprotocol)进行链接层的流量控制、使用tls(transportlayersecurity)保证传输安全等。

另一方面,随着移动互联网的快速发展和物联网的逐步兴起,用户对网络传输效率和web响应速度的要求也越来越高,然而目前大部分互联网数据传输仍使用经典协议,其传输速率难以满足高效率数据传输应用场景的需求,如果在现有的tcp、tls协议之上实现一个全新的应用层协议,依赖于操作系统、中间设备的支持,部署成本高,实现难度大。

为了解决上述问题,本公开实施例提出一种数据传输系统,如图1所示,该系统包括:

终端10,虚拟专用网络vpn服务器30,以及用于在所述终端10和所述vpn服务器30之间建立vpn连接的vpn代理20;

其中,所述终端10包括支持quic协议的第一http代理客户端110,用于基于quic协议与所述vpn代理20建立连接;

所述vpn代理20用于,基于传输控制协议tcp协议与所述vpn服务器30建立连接,以建立起所述终端10和所述vpn服务器30之间的vpn连接。

相比于现在广泛应用的http/2.0协议和tls协议,quic(quickudpinternetconnection)协议,是一种使用udp(userdatagramprotocol)进行多路并发传输的协议,减少了tcp的三次握手及tls的握手时间,且由于使用udp协议,使得数据的传输效率高。

具体地,终端10可以是用户使用的电子设备,例如电脑,终端10的数量可以为一个或多个。vpn代理20为虚拟模块,用于构建vpn隧道,例如可以为基于openvpn软件构建的模块。第一http代理客户端110为支持quic协议的代理客户端,可以为基于openvpn软件构建的模块,例如quichttp-proxyclient模块。第一http代理客户端110部署于终端10,用于基于quic协议与所述vpn代理20建立连接。此外,vpn代理20基于tcp协议与所述vpn服务器30建立连接,其中,vpn服务器30为提供计算的电子设备,vpn服务器30的数量可以为一个或多个。

如图1所示,在一种可能的实施方式中,终端10有2个,vpn服务器30有2个,vpn代理20部署于独立的服务器中。vpn代理20与每个终端10之间基于quic协议建立连接,vpn代理20与每个vpn服务器30之间基于tcp协议建立连接。进而终端10需要向vpn服务器30传输数据时,可以先基于quic协议将数据传输至vpn代理20,然后vpn代理20再基于tcp协议将数据传输至vpn服务器30,由于在vpn代理20与终端10之间使用了速度更快的quic协议,进而加快了数据传输效率。另一方面,在该图1所示的实施方式中,由于vpn代理20与vpn服务器30部署在同一个idc(internetdatacenter,互联网数据中心)内,使用其它协议带来的传输速率的提高并不明显,故在vpn代理20与vpn服务器30之间仍然采用tcp协议,无需对vpn服务器30进行改造,减小系统整体搭建难度。再者,使用vpn代理20通过vpn隧道传输数据可以使得数据的传输更加安全,终端10只需要连接vpn代理20对应的端口,不同的终端10可以通过vpn代理20连接不同的vpn服务器30,可以起到负载均衡和减少对外端口的作用。

终端10包括的支持quic协议的第一http代理客户端110基于quic协议与vpn代理20建立连接,vpn代理20基于tcp协议与所述vpn服务器30建立连接,使得终端10获取的信息可以基于quic协议传输至vpn代理20,quic协议的传输速率快,且不依赖于操作系统和中间设备,能够满足部分网络传输的应用场景中对高效率的网络传输的要求。

可选地,如图2所示,所述vpn代理20包括支持quic协议的http代理服务器210,所述终端10包括配置模块130,用于获取所述vpn代理20包括的所述http代理服务器210的地址信息,并根据所述地址信息对所述第一http代理客户端110进行配置。

具体地,http代理服务器210可以为基于openvpn建立的模块,例如quichttp-proxyserver模块,配置模块130可以为基于openvpn建立的模块。openvpn为一款开源软件,使用方便,可改造性高。配置模块130在获取vpn代理20包括的http代理服务器210的地址信息例如ip和端口之后,根据获得的地址信息对第一http代理客户端110进行配置,使得第一http代理客户端110与vpn代理20中的http代理服务器210建立连接。

可选地,如图2所示,所述终端10包括支持tcp协议的第二http代理客户端120;

所述终端10还用于,在接收到vpn隧道建立指令时,确定所述第一http代理客户端110是否处于启用状态;

若所述第一http代理客户端110未处于启用状态,则基于所述第二http代理客户端120与所述vpn代理20建立连接。

如图2所示,第二http代理客户端120可以为基于openvpn建立的openvpnclient模块,openvpnclient模块可以基于tcp协议与vpn代理20建立连接,也可以基于tcp协议与第一http代理客户端110建立连接。在接收到vpn隧道建立指令时,检测第一http代理客户端110是否处于启用状态,若第一http代理客户端110未处于启用状态,表明终端10不能基于quic协议与vpn代理20建立连接,进而选择基于第二http代理客户端120与所述vpn代理20建立连接,使得终端10与vpn代理20之间基于tcp协议建立连接,保证vpn隧道的建立使得数据得以传输,也可以在对数据传输效率要求不高的情况下选择不启用第一http代理客户端110,进而基于第二http代理客户端120使用tcp协议于终端10与vpn代理20之间传输数据,提供多种选择。

可选地,所述终端10还用于,在所述第一http代理客户端110处于启用状态时,建立所述第二http代理客户端120与所述第一http代理客户端110之间的tcp连接,所述第二http代理客户端120用于向所述第一http代理客户端110发送tcp协议的数据。

具体来讲,在检测到第一http代理客户端110处于启用状态时,建立所述第二http代理客户端120与所述第一http代理客户端110之间的tcp连接,使得终端10与vpn代理20之间可以基于quic协议传输数据,传输效率高。举例来讲,在终端10需要向vpn服务器30传输数据时,第二http代理客户端120基于tcp协议将数据传输至第一http代理客户端110,第一http代理客户端110再基于quic协议将数据传输至vpn代理20,最后vpn代理20基于tcp协议将数据传输至vpn服务器30,完成终端10向服务器数据的传输。第二http代理客户端120多为现有模块,例如openvpn中的openvpnclient模块,如此仅需增加第二http代理客户端120以建立终端10与vpn代理20之间的连接,实现方式容易,改造成本低。

可选地,如图3所示,所述vpn代理20与所述vpn服务器30部署在同一电子设备40上。

如图3所示,vpn代理20为vpn服务器30私用,相比于vpn代理20连接于多个vpn服务器30(参见图1或图2),可以减小vpn代理20的负载,避免其所在电子设备40过载宕机。终端10可以直接基于vpn服务器30的地址信息建立与vpn服务器30的连接。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本公开实施例的另一方面,还提供一种vpn代理,该vpn代理被配置为如上所述的数据传输系统中任一项所述的vpn代理,例如图1中的vpn代理20,具体可参照以上实施例中对于图1的说明,此处不再赘述。

本公开实施例的另一方面,还提供一种终端,该终端被配置为如上所述的数据传输系统中任一项所述的终端,例如图1中的终端10,具体可参照以上实施例中对于图1的说明,此处不再赘述。

如图4所示,本公开实施例还提供一种vpn连接的建立方法,可以应用于如图1所示的终端10,如图1所示,该方法包括:

s11,在接收到vpn连接建立指令时,确定所述终端中的第一http代理客户端是否处于启用状态。

所述第一http代理客户端是支持quic协议的http代理客户端。

s12,若所述第一http代理客户端处于启用状态,则基于所述第一http代理客户端与vpn代理建立连接,所述vpn代理用于基于tcp协议与vpn服务器建立连接,以建立起所述终端以及所述vpn服务器之间的vpn连接。

终端接收到vpn连接建立指令,且确定终端中的第一http代理客户端处于启用状态时,基于所述第一http代理客户端与vpn代理建立连接,使得终端获取的信息可以基于quic协议传输至vpn代理,quic协议的传输速率快,且不依赖于操作系统和中间设备,能够满足部分网络传输的应用场景中对高效率的网络传输的要求。

图5是根据一示例性实施例示出的一种vpn连接的建立方法的另一流程图,如图5所示,该方法包括:

s21,在接收到vpn连接建立指令时,确定所述终端中的第一http代理客户端是否处于启用状态。

所述第一http代理客户端是支持quic协议的http代理客户端。

s22,若所述第一http代理客户端处于启用状态,则建立所述终端中的第二http代理客户端与所述第一http代理客户端之间的tcp连接。

所述第二http代理客户端是所述终端中支持tcp协议的http代理客户端。

s23,基于所述第一http代理客户端与vpn代理建立连接,所述vpn代理用于基于tcp协议与vpn服务器建立连接,以建立起所述终端以及所述vpn服务器之间的vpn连接。

图6是根据一示例性实施例示出的一种vpn连接的建立方法的另一流程图,如图6所示,该方法包括:

s31,在接收到vpn连接建立指令时,确定所述终端中的第一http代理客户端是否处于启用状态。

所述第一http代理客户端是支持quic协议的http代理客户端。

s32,若所述第一http代理客户端处于启用状态,则建立所述终端中的第二http代理客户端与所述第一http代理客户端之间的tcp连接。

所述第二http代理客户端是所述终端中支持tcp协议的http代理客户端。

s33,获取所述vpn代理包括的支持quic协议的http代理服务器的地址信息。

s34,根据所述地址信息对所述第一http代理客户端进行配置。

s35,根据所述地址信息与所述vpn代理包括的支持quic协议的http代理服务器建立连接,所述vpn代理用于基于tcp协议与vpn服务器建立连接,以建立起所述终端以及所述vpn服务器之间的vpn连接。

关于上述实施例中的方法,其中各个步骤已经在上述数据传输系统的相关实施例中进行了详细描述,此处将不做详细阐述说明。

图7是根据一示例性实施例示出的一种终端的框图。如图7所示,该终端700可以包括:处理器701,存储器702。该终端700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该终端700的整体操作,以完成上述的vpn连接的建立方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该终端700的操作,这些数据例如可以包括用于在该终端700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该终端700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。

在一示例性实施例中,终端700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的vpn连接的建立方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的vpn连接的建立方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由终端700的处理器701执行以完成上述的vpn连接的建立方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。例

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1