Summary of the invention
Purpose of this disclosure is to provide a kind of data transmission systems and its method, terminal, VPN of establishing VPN connection to act on behalf of,
For solving to carry out network data transmission inefficiency using classical protocols in the related technology, and upgrades the big technology of difficulty and ask
Topic.
To achieve the goals above, the embodiment of the present disclosure in a first aspect, providing a kind of data transmission system, comprising:
Terminal, Virtual Private Network vpn server, and for being established between the terminal and the vpn server
The VPN of VPN connection is acted on behalf of;
Wherein, the terminal include support QUIC agreement the first http agent client, for based on QUIC agreement with
The VPN agency establishes connection;
The VPN agency is used for, and establishes connection based on transmission control protocol TCP agreement and the vpn server, to establish
Play the VPN connection between the terminal and the vpn server.
Optionally, the VPN agency includes the http proxy server for supporting QUIC agreement, and the terminal includes configuration mould
Block, for obtaining the address information for the http proxy server that the VPN agency includes, and according to the address information pair
The first http agent client is configured.
Optionally, the terminal includes supporting the 2nd http agent client of Transmission Control Protocol;
The terminal is also used to, and when receiving vpn tunneling foundation instruction, determines that the first http agent client is
It is no to be in initiate mode;
If the first http agent client is not in initiate mode, based on the 2nd http agent client with
The VPN agency establishes connection.
Optionally, the terminal is also used to, when the first http agent client is in initiate mode, described in foundation
TCP connection between 2nd http agent client and the first http agent client, the 2nd http proxy client
Hold the data for sending Transmission Control Protocol to the first http agent client.
Optionally, the VPN agency is deployed on same electronic equipment with the vpn server.
The second aspect of the embodiment of the present disclosure, provides a kind of VPN agency, and the VPN agency is to appoint in above-mentioned first aspect
The agency of VPN described in one.
The third aspect of the embodiment of the present disclosure, provides a kind of terminal, and the terminal is any one of above-mentioned first aspect institute
The terminal stated.
The fourth aspect of the embodiment of the present disclosure provides a kind of VPN establishment of connection method, is applied to terminal, comprising:
When receiving VPN connection foundation instruction, determine whether the first http agent client in the terminal is in
Initiate mode, the first http agent client are the http agent clients for supporting QUIC agreement;
If the first http agent client is in initiate mode, based on the first http agent client with
VPN agency establishes connection, and the VPN agency is for establishing connection based on Transmission Control Protocol and vpn server, to set up the end
VPN connection between end and the vpn server.
Optionally, it is acted on behalf of described based on the first http agent client and VPN before establishing connection, comprising:
The TCP established between the 2nd http agent client and the first http agent client in the terminal connects
It connects, the 2nd http agent client is the http agent client that Transmission Control Protocol is supported in the terminal.
Optionally, the method also includes:
Obtain the address information of the http proxy server for the support QUIC agreement that the VPN agency includes;
The first http agent client is configured according to the address information;
It is described that connection is established based on the first http agent client and VPN agency, comprising:
The http proxy server for the support QUIC agreement for including according to the address information and VPN agency, which is established, to be connected
It connects.
Through the above technical solutions, the first http agent client of the support QUIC agreement that terminal includes is assisted based on QUIC
View establishes connection with VPN agency, and VPN agency establishes connection based on Transmission Control Protocol and the vpn server, so that terminal obtained
Information can be transmitted to VPN agency based on QUIC agreement, and the transmission rate of QUIC agreement is fast, and independent of operating system in
Between equipment, can satisfy requirement to efficient network transmission in the application scenarios of subnetwork transmission.
Other feature and advantage of the disclosure will the following detailed description will be given in the detailed implementation section.
Specific embodiment
It is described in detail below in conjunction with specific embodiment of the attached drawing to the disclosure.It should be understood that this place is retouched
The specific embodiment stated is only used for describing and explaining the disclosure, is not limited to the disclosure.
It being risen since internet the 1990s, most of Internet data transmission all uses some classical protocols,
Such as it is routed, using IPV4 (Internet Protocol version 4) using TCP (Transmission
Control Protocol) it carries out the flow control of linking layer, guarantee to pass using TLS (Transport Layer Security)
Defeated safety etc..
On the other hand, with the rapid development of mobile Internet with the gradually rise of Internet of Things, user is to network transmission effect
The requirement of rate and WEB response speed is also higher and higher, however most of Internet data transmission still uses classical protocols at present,
Transmission rate is difficult to meet the needs of high efficiency data transmission applications scene, if realized on existing TCP, tls protocol
One completely new application layer protocol, dependent on the support of operating system, intermediate equipment, lower deployment cost is high, realizes that difficulty is big.
To solve the above-mentioned problems, the embodiment of the present disclosure proposes a kind of data transmission system, as shown in Figure 1, the system packet
It includes:
Terminal 10, Virtual Private Network vpn server 30, and in the terminal 10 and the vpn server 30
Between establish VPN connection VPN agency 20;
Wherein, the terminal 10 includes supporting the first http agent client 110 of QUIC agreement, for being assisted based on QUIC
View establishes connection with VPN agency 20;
The VPN agency 20 is used for, and establishes connection based on transmission control protocol TCP agreement and the vpn server 30, with
Set up the VPN connection between the terminal 10 and the vpn server 30.
Compared to present widely applied HTTP/2.0 agreement and tls protocol, QUIC (Quick UDPInternet
Connection) agreement is a kind of agreement that multipath concurrence transmission is carried out using UDP (User Datagram Protocol),
Reduce the three-way handshake of TCP and shaking hands the time for TLS, and due to using udp protocol, so that the efficiency of transmission of data is high.
Specifically, terminal 10 can be the electronic equipment that user uses, such as computer, and the quantity of terminal 10 can be one
Or it is multiple.VPN agency 20 is virtual module, for constructing vpn tunneling, such as can be the mould based on OpenVPN software building
Block.First http agent client 110 is the agent client for supporting QUIC agreement, can be for based on OpenVPN software building
Module, such as QUIC Http-Proxy Client module.First http agent client 110 is deployed in terminal 10, is used for
Connection is established based on QUIC agreement and VPN agency 20.In addition, VPN agency 20 is based on Transmission Control Protocol and the vpn server
30 establish connection, wherein vpn server 30 is to provide the electronic equipment of calculating, the quantity of vpn server 30 can for one or
It is multiple.
As shown in Figure 1, terminal 10 has 2, and vpn server 30 has 2, VPN agency in a kind of possible embodiment
20 are deployed in independent server.Connection, VPN agency are established based on QUIC agreement between VPN agency 20 and each terminal 10
Connection is established based on Transmission Control Protocol between 20 and each vpn server 30.And then terminal 10 needs to transmit number to vpn server 30
According to when, VPN agency 20 first can be sent data to based on QUIC agreement, then VPN agency 20 is again based on Transmission Control Protocol by data
It is transmitted to vpn server 30, due to having used the faster QUIC agreement of speed, Jin Erjia between VPN agency 20 and terminal 10
Fast data transmission efficiency.On the other hand, in the embodiment shown in FIG. 1, due to VPN agency 20 and vpn server 30
It is deployed in the same IDC (Internet Data Center, Internet data center), is transmitted using other agreement brings
The raising of rate is not obvious, therefore still uses Transmission Control Protocol between VPN agency 20 and vpn server 30, without taking to VPN
Business device 30 is transformed, and reduces system holistic conformation difficulty.Furthermore it can be with by vpn tunneling transmission data using VPN agency 20
So that the transmission of data is safer, terminal 10 only needs to connect VPN and acts on behalf of 20 corresponding ports, and different terminals 10 can lead to
The different vpn server 30 of 20 connection of VPN agency is crossed, load balancing can be played the role of and reduced to external port.
First http agent client 110 of the support QUIC agreement that terminal 10 includes is based on QUIC agreement and VPN is acted on behalf of
20 establish connection, and VPN agency 20 establishes connection based on Transmission Control Protocol and the vpn server 30, so that the information that terminal 10 obtains
The transmission rate that VPN agency's 20, QUIC agreement can be transmitted to based on QUIC agreement is fast, and independent of operating system and centre
Equipment can satisfy the requirement in the application scenarios of subnetwork transmission to efficient network transmission.
Optionally, as shown in Fig. 2, VPN agency 20 includes the http proxy server 210 for supporting QUIC agreement, institute
Stating terminal 10 includes configuration module 130, for obtaining the ground for the http proxy server 210 that the VPN agency 20 includes
Location information, and the first http agent client 110 is configured according to the address information.
Specifically, http proxy server 210 can be the module established based on OpenVPN, such as QUIC Http-
Proxy Server module, configuration module 130 can be the module established based on OpenVPN.OpenVPN is that a open source is soft
Part, easy to use, the property be transformed height.Configuration module 130 is on the ground for obtaining the http proxy server 210 that VPN agency 20 includes
After location information such as IP and port, the first http agent client 110 is configured according to the address information of acquisition, so that
Http proxy server 210 in first http agent client 110 and VPN agency 20 establishes connection.
Optionally, as shown in Fig. 2, the terminal 10 includes supporting the 2nd http agent client 120 of Transmission Control Protocol;
The terminal 10 is also used to, and when receiving vpn tunneling foundation instruction, determines the first http agent client
Whether 110 be in initiate mode;
If the first http agent client 110 is not in initiate mode, it is based on the 2nd http proxy client
End 120 and VPN agency 20 establishes connection.
As shown in Fig. 2, the 2nd http agent client 120 can be the OpenVPNClient mould established based on OpenVPN
Block, OpenVPN Client module 20 can establish connection based on Transmission Control Protocol and VPN agency, can also be based on Transmission Control Protocol and the
One http agent client 110 establishes connection.When receiving vpn tunneling foundation instruction, the first http agent client is detected
Whether 110, which be in initiate mode, shows that terminal 10 cannot be based on if the first http agent client 110 is not in initiate mode
QUIC agreement and VPN agency 20 establish connection, and then select based on the 2nd http agent client 120 and VPN agency 20
Connection is established, so that establishing connection based on Transmission Control Protocol between terminal 10 and VPN agency 20, guarantees that the foundation of vpn tunneling makes total
According to being transmitted, can also select not enabling the first http agent client in the case where of less demanding to data transmission efficiency
110, and then data are transmitted between terminal 10 and VPN agency 20 using Transmission Control Protocol based on the 2nd http agent client 120,
Multiple choices are provided.
Optionally, the terminal 10 is also used to, and when the first http agent client 110 is in initiate mode, is built
Found the TCP connection between the 2nd http agent client 120 and the first http agent client 110, described second
Http agent client 120 is used to send the data of Transmission Control Protocol to the first http agent client 110.
Specifically, when detecting that the first http agent client 110 is in initiate mode, the 2nd http is established
TCP connection between agent client 120 and the first http agent client 110 so that terminal 10 and VPN agency 20 it
Between data can be transmitted based on QUIC agreement, efficiency of transmission is high.For example, it needs to transmit to vpn server 30 in terminal 10
When data, the 2nd http agent client 120 is based on Transmission Control Protocol and sends data to the first http agent client 110, and first
Http agent client 110 sends data to VPN agency 20 based on QUIC agreement again, and last VPN agency 20 is based on Transmission Control Protocol
Vpn server 30 is sent data to, transmission of the terminal 10 to server data is completed.2nd http agent client more than 120
For the OpenVPN Client module in existing module, such as OpenVPN, so only need to increase by the 2nd http agent client
120 connection to establish between terminal 10 and VPN agency 20, implementation are easy, and improvement cost is low.
Optionally, as shown in figure 3, VPN agency 20 is deployed in same electronic equipment 40 with the vpn server 30
On.
As shown in figure 3, VPN agency 20 is 30 private of vpn server, multiple VPN services are connected to compared to VPN agency 20
Device 30 (referring to Fig. 1 or Fig. 2) can reduce the load of VPN agency 20, and electronic equipment 40 overloads delay machine where avoiding it.Terminal
10 address informations that can be directly based upon vpn server 30 establish the connection with vpn server 30.
It, can also be in addition, each functional unit in each embodiment of the disclosure can integrate in one processing unit
It is that the independent physics of each unit includes, can also be integrated in one unit with two or more units.Above-mentioned integrated list
Member both can take the form of hardware realization, can also realize in the form of hardware adds SFU software functional unit.
The another aspect of the embodiment of the present disclosure, also provides a kind of VPN agency, and VPN agency is configured as described above
The agency of VPN described in any one of data transmission system, the VPN agency 20 of example as shown in figure 1, specifically can refer in above embodiments
For the explanation of Fig. 1, details are not described herein again.
The another aspect of the embodiment of the present disclosure also provides a kind of terminal, which is configured as data as described above and passes
Terminal described in any one of defeated system, the terminal 10 of example as shown in figure 1, specifically can refer to saying for Fig. 1 in above embodiments
Bright, details are not described herein again.
As shown in figure 4, the embodiment of the present disclosure also provides a kind of VPN establishment of connection method, can be applied to as shown in Figure 1
Terminal 10, as shown in Figure 1, this method comprises:
S11 determines whether is the first http agent client in the terminal when receiving VPN connection and establishing instruction
In initiate mode.
The first http agent client is the http agent client for supporting QUIC agreement.
S12 is based on the first http agent client if the first http agent client is in initiate mode
Connection is established with VPN agency, the VPN agency is described to set up for establishing connection based on Transmission Control Protocol and vpn server
VPN connection between terminal and the vpn server.
Terminal receives VPN connection and establishes instruction, and determines that the first http agent client in terminal is in and enable shape
When state, connection is established based on the first http agent client and VPN agency, the information that terminal is obtained is based on
QUIC agreement is transmitted to VPN agency, and the transmission rate of QUIC agreement is fast, and independent of operating system and intermediate equipment, can
Meet the requirement in the application scenarios of subnetwork transmission to efficient network transmission.
Fig. 5 is a kind of another flow chart of VPN establishment of connection method shown according to an exemplary embodiment, such as Fig. 5
It is shown, this method comprises:
S21 determines whether is the first http agent client in the terminal when receiving VPN connection and establishing instruction
In initiate mode.
The first http agent client is the http agent client for supporting QUIC agreement.
S22 establishes the 2nd http generation in the terminal if the first http agent client is in initiate mode
Manage the TCP connection between client and the first http agent client.
The 2nd http agent client is the http agent client that Transmission Control Protocol is supported in the terminal.
S23 establishes connection based on the first http agent client and VPN agency, and the VPN agency is for being based on
Transmission Control Protocol and vpn server establish connection, to set up the VPN connection between the terminal and the vpn server.
Fig. 6 is a kind of another flow chart of VPN establishment of connection method shown according to an exemplary embodiment, such as Fig. 6
It is shown, this method comprises:
S31 determines whether is the first http agent client in the terminal when receiving VPN connection and establishing instruction
In initiate mode.
The first http agent client is the http agent client for supporting QUIC agreement.
S32 establishes the 2nd http generation in the terminal if the first http agent client is in initiate mode
Manage the TCP connection between client and the first http agent client.
The 2nd http agent client is the http agent client that Transmission Control Protocol is supported in the terminal.
S33 obtains the address information of the http proxy server for the support QUIC agreement that the VPN agency includes.
S34 configures the first http agent client according to the address information.
The http proxy server of S35, the support QUIC agreement for including with VPN agency according to the address information are built
Vertical connection, the VPN agency is for establishing connection based on Transmission Control Protocol and vpn server, to set up the terminal and described
VPN connection between vpn server.
About the method in above-described embodiment, wherein each step is in the related embodiment of above-mentioned data transmission system
In be described in detail, no detailed explanation will be given here.
Fig. 7 is a kind of block diagram of terminal shown according to an exemplary embodiment.As shown in fig. 7, the terminal 700 can wrap
It includes: processor 701, memory 702.The terminal 700 can also include multimedia component 703, input/output (I/O) interface
One or more of 704 and communication component 705.
Wherein, processor 701 is used to control the integrated operation of the terminal 700, to complete the above-mentioned establishment of connection side VPN
All or part of the steps in method.Memory 702 is used to store various types of data to support the operation in the terminal 700,
These data for example may include the instruction of any application or method for operating in the terminal 700, and application
The relevant data of program, such as contact data, the message of transmitting-receiving, picture, audio, video etc..The memory 702 can be by
Any kind of volatibility or non-volatile memory device or their combination are realized, such as static random access memory
(Static Random Access Memory, abbreviation SRAM), electrically erasable programmable read-only memory (Electrically
Erasable Programmable Read-Only Memory, abbreviation EEPROM), Erasable Programmable Read Only Memory EPROM
(Erasable Programmable Read-Only Memory, abbreviation EPROM), programmable read only memory
(Programmable Read-Only Memory, abbreviation PROM), and read-only memory (Read-Only Memory, referred to as
ROM), magnetic memory, flash memory, disk or CD.Multimedia component 703 may include screen and audio component.Wherein
Screen for example can be touch screen, and audio component is used for output and/or input audio signal.For example, audio component may include
One microphone, microphone is for receiving external audio signal.The received audio signal can be further stored in storage
Device 702 is sent by communication component 705.Audio component further includes at least one loudspeaker, is used for output audio signal.I/O
Interface 704 provides interface between processor 701 and other interface modules, other above-mentioned interface modules can be keyboard, mouse,
Button etc..These buttons can be virtual push button or entity button.Communication component 705 is used for the terminal 700 and other equipment
Between carry out wired or wireless communication.Wireless communication, such as Wi-Fi, bluetooth, near-field communication (Near Field
Communication, abbreviation NFC), 2G, 3G, 4G, NB-IOT, eMTC or other 5G etc. or they one or more of
Combination, it is not limited here.Therefore the corresponding communication component 705 may include: Wi-Fi module, bluetooth module, NFC mould
Block etc..
In one exemplary embodiment, terminal 700 can be by one or more application specific integrated circuit
(Application Specific Integrated Circuit, abbreviation ASIC), digital signal processor (Digital
Signal Processor, abbreviation DSP), digital signal processing appts (Digital Signal Processing Device,
Abbreviation DSPD), programmable logic device (Programmable Logic Device, abbreviation PLD), field programmable gate array
(Field Programmable Gate Array, abbreviation FPGA), controller, microcontroller, microprocessor or other electronics member
Part is realized, for executing above-mentioned VPN establishment of connection method.
In a further exemplary embodiment, a kind of computer readable storage medium including program instruction is additionally provided, it should
The step of above-mentioned VPN establishment of connection method is realized when program instruction is executed by processor.For example, the computer-readable storage
Medium can be the above-mentioned memory 702 including program instruction, and above procedure instruction can be executed by the processor 701 of terminal 700
To complete above-mentioned VPN establishment of connection method.
The preferred embodiment of the disclosure is described in detail in conjunction with attached drawing above, still, the disclosure is not limited to above-mentioned reality
The detail in mode is applied, in the range of the technology design of the disclosure, a variety of letters can be carried out to the technical solution of the disclosure
Monotropic type, these simple variants belong to the protection scope of the disclosure.Example
It is further to note that specific technical features described in the above specific embodiments, in not lance
In the case where shield, can be combined in any appropriate way, in order to avoid unnecessary repetition, the disclosure to it is various can
No further explanation will be given for the combination of energy.
In addition, any combination can also be carried out between a variety of different embodiments of the disclosure, as long as it is without prejudice to originally
Disclosed thought equally should be considered as disclosure disclosure of that.