CN103516573B - Data transmission method among client terminals in restricted network and client terminals - Google Patents
Data transmission method among client terminals in restricted network and client terminals Download PDFInfo
- Publication number
- CN103516573B CN103516573B CN201210221952.7A CN201210221952A CN103516573B CN 103516573 B CN103516573 B CN 103516573B CN 201210221952 A CN201210221952 A CN 201210221952A CN 103516573 B CN103516573 B CN 103516573B
- Authority
- CN
- China
- Prior art keywords
- tcp
- client
- server
- http tunnel
- session key
- 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
Abstract
The invention discloses a data transmission method among client terminals in a restricted network and the client terminals in order to achieve data transmission among different client terminals in the restricted network in which only HTTP transmission is permitted. The data transmission method among the client terminals in the restricted network includes the steps that first connection between a first client terminal and an HTTP tunnel server is established; an acquiring request packet is sent to the HTTP tunnel server through the first connection, and a session key is further acquired; second connection between the first client terminal and the HTTP tunnel server is established; a mailing request packet is sent to the HTTP tunnel server through the second connection, and a session key is carried in a packet header; TCP data from an opposite end client terminal are received through the HTTP tunnel server and a TCP transit server by the aid of the first connection, and TCP data are sent to the opposite end client terminal through the HTTP tunnel server and the TCP transit server by the aid of the second connection.
Description
Technical field
The present invention relates to communication technical field, particularly to the data transmission method between client in a kind of limited network
And client.
Background technology
With the development of Internet technology application, in the communication network communication apparatus currently having been carried out and Internet
Under terminal carry out in real-time Communication for Power communicating tech, can support carry audio frequency and video stream medium data, and interconnection
In net transmission, streaming media data is using based on udp(user datagram protocol, User Datagram Protocol) packet
The mode being transmitted.
The existing scheme using the transmission of udp packet at least has the drawback that
Due to the complexity of Internet, in the limited network with restrictive condition, such as there is conditional network
In the limited network of fire wall or routing device, during transmission udp packet, udp packet is often filtered, and leads to data
Bust thiss, especially for only allowing http(hypertext transport protocol, HTML (Hypertext Markup Language)) pass
Defeated limited network, existing scheme also fails to provide a kind of side that successfully can carry out data transmission between different clients
Case.
Content of the invention
The invention provides the data transmission method between client and client in a kind of limited network, existing to solve
Scheme cannot realize the problem of data transfer between different clients in the limited network only allowing http transmission.
For reaching above-mentioned purpose, the embodiment of the present invention adopts the technical scheme that
Embodiments provide the data transmission method between client in a kind of limited network, wherein, be limited to
The client only allowing http transmission includes the first client, and methods described includes:
First setting up between described first client and set http tunnel server is connected;
Connect to send to described http tunnel server using described first and obtain request bag, and obtain session key;
Second setting up between described first client and set http tunnel server is connected;
Connect using described second and send mailing request bag to described http tunnel server, and in described mailing request bag
Packet header in carry described session key, be successfully established the first connection and second connect on session;
Connect through described http tunnel server using described first and tcp transfer server receives and is derived from opposite end client
The tcp data at end, and connect through described http tunnel server and tcp transfer server to opposite end client using described second
End sends tcp data;
Wherein, described http tunnel server supports http agreement and tcp agreement.
The embodiment of the present invention additionally provides a kind of client, and described client includes:
Connection establishment unit, connects for setting up between described client and set http tunnel server first
Connect;
Session key acquiring unit, obtains request for connecting to send to described http tunnel server using described first
Bag, and obtain session key;
Described connection establishment unit, is additionally operable to set up between described first client and set http tunnel server
Second connection;
Session establishment unit, is additionally operable to connect to send to described http tunnel server using described second post request
Bag, and carry described session key in the packet header of described mailing request bag, connected with being successfully established the first connection and second
Session;
End-to-end data transmission unit, for connecting through described http tunnel server and transmission control using described first
Agreement tcp transfer server processed receives the tcp data from opposite end client, and connects through described http using described second
Tunnel server and tcp transfer server send tcp data to opposite end client;Wherein, described http tunnel server is supported
Http agreement and tcp agreement.
The beneficial effect of the embodiment of the present invention is:
The embodiment of the present invention is set up two by limited client with set http tunnel server and is connected and builds
Session between vertical two connections, limited client is carried out the transmission of tcp data, is connected using another using a connection
Carry out the technological means of the reception of tcp data, there is provided a kind of data transmission scheme in new limited network it is achieved that
Data transfer between different clients only in the limited network of permission http transmission.And, because the embodiment of the present invention employs
The transmission means being combined based on tcp and http, ensure that reliability and the integrity of data transfer.
Brief description
Data transmission method flow process between client in a kind of limited network that Fig. 1 provides for the embodiment of the present invention one
Figure;
The schematic network structure of the application scenarios that Fig. 2 provides for the embodiment of the present invention two;
Fig. 3 sets up, with http tunnel server, the schematic flow sheet being connected for the client that the embodiment of the present invention two provides;
The flow process carrying out data transmission between client that Fig. 4 provides for the embodiment of the present invention two and opposite end client is illustrated
Figure;
A kind of structural representation of client that Fig. 5 provides for the embodiment of the present invention three.
Specific embodiment
For making the object, technical solutions and advantages of the present invention clearer, below in conjunction with accompanying drawing to embodiment party of the present invention
Formula is described in further detail.
The embodiment of the present invention, according to the feature of Internet transmission data, does not adopt the side of traditional udp data transfer
Formula is it is proposed that a kind of be based on tcp_relay(tcp transfer server) and http tunnel(http tunnel server) combine
Transmission means it is ensured that the reliability of data transfer and integrity.Referring to Fig. 1, the one kind providing for the embodiment of the present invention one
Data transmission method between client in limited network, wherein, is limited to only allow http(hypertext transport
Protocol, HTML (Hypertext Markup Language)) client transmitted includes the first client, and methods described includes:
What 11: the first clients were set up between this first client and set http tunnel server first is connected;
12: the first clients connect to the transmission get(acquisition of described http tunnel server using first) request bag, and obtain
Take session key;
What 13: the first clients were set up between this first client and set http tunnel server second is connected;
14: the first clients connect to the transmission post(mailing of described http tunnel server using second) request bag, and
Carry described session key in the packet header of described mailing request bag, to be successfully established the meeting that the first connection and second connects
Words;
15: the first clients connect through described http tunnel server and tcp(transmission using first
Control protocol, transmission control protocol) transfer server receives tcp data from opposite end client, and utilize the
Two connect through described http tunnel server and tcp transfer server sends tcp data to opposite end client;
Wherein, set http tunnel server supports http agreement and tcp agreement.
For the ease of clearly describing the technical scheme of the embodiment of the present invention, in inventive embodiment, employ " first ",
The identical entry essentially identical to function and effect such as " second " printed words or similar item make a distinction, and those skilled in the art can manage
The printed words such as solution " first ", " second " are not defined to quantity and execution order.
Above-mentioned first connects and the second connection specially tcp socket(socket) connect.
From the above mentioned, the embodiment of the present invention sets up two by limited client and set http tunnel server
Connect and set up the session between two connections, limited client carries out the transmission of tcp data using a connection, using another
Article one, connection carries out the technological means of the reception of tcp data, there is provided the data transmission scheme in a kind of new limited network,
Achieve in the limited network only allowing http transmission data transfer between different clients.And, because the present invention is implemented
Example employs the transmission means combining based on tcp and http, ensure that reliability and the integrity of data transfer.
On the basis of embodiment illustrated in fig. 1, above-mentioned steps 12 also include: arrange in the described packet header obtaining request bag
The mark of tcp transfer server and the address information of tcp transfer server;Or, set in the described packet header obtaining request bag
Put service identification, so that described http tunnel server knows corresponding tcp transfer server according to described service identification.
After http tunnel server receives the acquisition request bag that the first client sends first, know phase from packet header
The tcp transfer server answered, sets up tcp with this tcp transfer server and is connected, and generates session key, be issued to after successful connection
First client.First client can preserve this session key, upper once carry out data transmission when (this next secondary data pass
The defeated moment needs in the timeout duration of session of built vertical session), directly session key is carried in the packet header of get request bag
In.
So, further, the present embodiment above-mentioned steps 12 first client connects to described http tunnel using first
Server sends get(and obtains) request bag, and obtain session key, specifically include: the first client receives described http tunnel
Server obtains, according to described, the session key that request bag issues, using this session key as the session key getting;Or,
First client carries, in the described packet header obtaining request bag, the session key known, this session key known is made
For the session key getting.
Further, before step 13, methods described also includes: receives the response that described http tunnel server returns
Bag, the packet header of described response bag includes Content type arguments and content-length parameter, described Content type arguments instruction first
It is connected to data to download, the allowed download capability of described content-length parameter instruction.The present embodiment can be answered by modification
Answer the state of Content type arguments and content-length parameter in bag packet header, such as pass through Content type arguments and content-length parameter
It is respectively set to specific numerical value to realize the modification to both states, so that the Content type arguments in the packet header of response bag is indicated
First is connected to data downloads, and, make the content-length parameter in the packet header of response bag indicate allowed download capability.
This download capability can indicate the maximum of the downloading data being allowed in the first connection.
Also include in above-mentioned steps 14: the Content type arguments instruction second in the packet header of setting described mailing request bag is even
Connect for uploading data, and, the allowed upload of the content-length parameter instruction in the packet header of setting described mailing request bag
Capacity.The present embodiment can be by the state of Content type arguments and content-length parameter in modification mailing request bag packet header, such as
Realize the modification to both states by Content type arguments and content-length parameter are respectively set to specific numerical value, make
Content type arguments instruction second in the packet header of mailing request bag is connected to upload data, and, make mailing request bag
The allowed upload capacity of content-length parameter instruction in packet header.This upload capacity can indicate and be allowed in the second connection
Pass the maximum of data.
Establish the first connection and the second connection in step 11 to 14, and utilize http get packet and http post
After packet establishes http session on first connects and second connects, enter step 15, in the first client, http tunnel
Tcp session is set up, to carry out the transmission of tcp data between road server, tcp transfer server and opposite end client.Due to
Http agreement is the upper-layer protocol of tcp agreement, connects using first and the second http session connecting can set up tcp session
And carry out the transmission of tcp data.
Further, when the first client is communication initiator, above-mentioned steps 15 include:
First client connects to http tunnel server transmission tcp conversation request using described second, and by http tunnel
Tcp conversation request is forwarded to tcp transfer server by road server;First client utilizes first to connect and receives by http tunnel
The tcp conversation request response from tcp transfer server that server forwards, it is close that this tcp conversation request response includes tcp session
Key;First client connects through http tunnel server using second and tcp session key is forwarded to by tcp transfer server
Opposite end client, and ask opposite end client to utilize tcp session key to bind tcp session;In the first client and opposite end client
After tcp session is all successfully bound using tcp session key in end, the first client connects through bound tcp using first
Session receives the tcp data from opposite end client, and connects through bound tcp session to opposite end client using second
Send tcp data.
It is close that the session key in 14 for the step 12 uses when being and setting up http session on first connects and second connects
Key, the tcp session key in step 15 is to set up the key using during tcp session, and both typically differ.
Further, when opposite end client is communication initiator, before step 11, methods described also includes: the first visitor
The communication request message that family end reception opposite end client is sent by trusted-network, knows that needs and opposite end client enter line number
According to transmission, wherein, in described communication request message, carry the address information of tcp transfer server.
In the limited network below embodiment of the present invention two being provided, the data transmission method between client illustrates.
Referring to Fig. 2, show the schematic network structure of application scenarios of the present embodiment.Network include the first client and
Opposite end client, http tunnel server and tcp transfer server that first client carries out data transmission.When the first client
During for unrestricted client, the first client directly can be set up tcp with tcp transfer server and be connected, and connected by this tcp
Carry out data transmission with opposite end client.When the first client is limited to only allow http(hypertext transport
Protocol, HTML (Hypertext Markup Language)) transmit client when, comprise the steps:
1: client (as the first client) sends http get packet to http tunnel server.
The present embodiment sets up http tunnel server in a network, this http tunnel server support simultaneously http agreement and
Tcp agreement.
Before execution step 1, the first client first judges whether network can carry out tcp request, if if, enter
Following step 7, is directly carried out data transmission with opposite end client using tcp transfer server, if it is not, execution step 1, in step
In 1, the first client is first set up a tcp socket and is connected (the first connection) with http tunnel server, sends out on which
Send http get packet, such as http1.1get packet.Referring to Fig. 3, show that client is set up with http tunnel server
The schematic flow sheet connecting.
The present embodiment by the following two kinds mode, makes http tunnel server know the tcp transfer server of required connection:
Mode one, the mark that tcp transfer server is set in the packet header of http get packet and tcp transfer server
Address information.The mark of one tcp transfer server is the unique information of one tcp transfer server of labelling, in such as tcp
Turn the title of server.Under this mode, http tunnel server can rapidly know the tcp transfer service of required connection
Device.
Mode two, described obtain request bag packet header in arrange service identification.This service identification is used for labelling first visitor
The type of service that family end is asked, such as transmission of video, file transmission etc..Accordingly, http tunnel server safeguards a configuration
Information table, the corresponding relation of record traffic mark and tcp transfer server, http tunnel server is searched according to service identification and is joined
Put information table thus knowing the tcp transfer server of required connection.
Under this mode, it is every kind of business setting multiple tcp transfer server, such as, the service identification of audio frequency and video business
Videotransfer can be expressed as, this service identification corresponds to one group of server address;And the service identification of file transmission is permissible
It is expressed as filetransfer, this service identification also corresponds to one group of server address.Http tunnel server is according to service identification
Find corresponding server group, and choose a server from this server group and service as the tcp transfer of required connection
Device.This mode is easy to layout and the extension of network structure, simplifies the management of configuration information and maintenance in network.
Using mark and the service identification of above-mentioned tcp transfer server, can accomplish that multiple spot is disposed in a network, pass through
Dispose the effect that multiple tcp transfer servers reach load balancing.
Further, if the first client pass through in the past with the interacting of http tunnel server, have learned that and used
During session key, the packet header of http get packet can also carry this session key.Or, in http get data
Identity information of the first client etc. can also be carried in the packet header of bag.
2:http tunnel server sends connect(connection request to tcp transfer server).
Http tunnel server is first verified to the information in the packet header of http get packet, such as checking tcp transfer
The legitimacy of the address information of the mark of server and tcp transfer server, whether the business indicated by checking service identification be
Supported business, identity information of checking the first client etc., after being proved to be successful, send to tcp transfer server and connect
Request.
3:tcp transfer server returns connectsuccess(successful connection) message.
After being successfully established tcp connection between http tunnel server and tcp transfer server, tcp transfer server returns
Return successful connection message.
4:http tunnel server sends 200ok response bag to the first client.
When setting up connection first, http tunnel server can generate a session key for the first client,
Session key is issued to the first client with 200ok response bag.For example, it will words key is added on the bag of 200ok response bag
It is issued to the first client in head.
The packet header of response bag includes contenttype(Content type arguments) and contentlength (content-length ginseng
Number), described Content type arguments instruction data is downloaded, the allowed download capability of described content-length parameter instruction.For example, will
Contenttype is set to application/octet-stream, so that Content type arguments instruction first is connected to
Data is downloaded, and contentlength is set to 500m, thus within the download capability being allowed is arranged on 500m.
5: the first clients send http post packet to http tunnel server.
First client after receiving the response to http get packet, newly-built (during first connection) tcp
Socket connects (the second connection) to http tunnel server, and should connect transmission http post packet second.This reality
The Content type arguments instruction second applied in the packet header of example setting http post request bag is connected to upload data, and, if
The content-length parameter put in the packet header of http post request bag indicates allowed upload capacity.For example, by arranging http
Contenttype in the packet header of post request bag is multipart/form-data so that Content type arguments instruction uploads
Data.The packet header of http post packet also needs to carry session key.
Note: during for there is the second connection before sending http post packet, need not execute the second connection again
Set up process.
6:http tunnel server returns 200ok response bag to the first client.
Http tunnel server judges whether the session key carrying in http post packet is correct, such as judges http
Whether the session key carrying in post packet is consistent with the session key generated in above-mentioned steps 4, when consistent, shows
Session establishment success, returns 200ok response bag to the first client, otherwise, session establishment failure, return to the first client and lose
Lose response, again attempt to set up connection or direct end operation.Mainly to session establishment, successful scene is said for this enforcement
Bright.
So far, it has been successfully established connection between the first limited client and http tunnel server.
The first connection due to being set up using http get is only used for downloading data, and (server by utilizing first connects permissible
To the first client push data), and the second connection set up using http post is only used for uploading data (the first client
End connect using second carry out the transmission of data), so two connections are set up in this enforcement, by identical Session key establishment the
One connects and the second session connecting, and the first connection and second is connected and associates the transmitted in both directions it is ensured that data.
Above-mentioned taking the communication initiator during the first client is as communicating pair as a example illustrate that client is taken with http tunnel
The first connection and the process of the second connection is set up, when the first client is not communication initiator and opposite end client is between business device
During communication initiator, set up the first connection and the second process connecting still as described in above-mentioned steps 1 to 6, at this moment, opposite end client
Need, before step 1 executes, to inform that the first client needs to carry out data transmission, for example, opposite end client is passed through believable
The communication request message that network (the higher network of safety) sends, informs that the first client needs to carry out data transmission, and
The address information of tcp transfer server is carried in communication request message.
The first client be successfully established between http tunnel server first be connected and second connect after, first
Client connects using first, second connects through http tunnel server and tcp transfer server and opposite end client is carried out
Data communication, referring to Fig. 4, comprises the steps:
7: the first clients send authentication request to http tunnel server, and by http tunnel server by this body
Part checking request is forwarded to tcp transfer server.
The authentication information of the first client is carried, such as shared key in above-mentioned authentication request
(sharesecret).First client second connect on using http post packet by authentication request send to
Http tunnel server, that is, the first client is to http tunnel server using the second http post packet connecting
Send data.
Using it, the tcp between tcp transfer server is connected and is forwarded to authentication request http tunnel server
Tcp transfer server.
8: the first clients are received tcp transfer server and are responded by the authentication that http tunnel server forwards.
Tcp transfer server is verified to above-mentioned shared key, and by the result by tcp linkup transmit to http
Tunnel server, http tunnel server passes through the first http get packet connecting and authentication response is pushed to the
One client, that is, the first client is to receive using the first http get packet connecting to be derived from http tunnel server
Data.After the result instruction is proved to be successful, the data transfer between execution the first client and opposite end client, enter
Step 9, otherwise, end operation.
9: the first clients send tcp conversation request.
First client sends tcp conversation request, such as allocate(configuration to http tunnel server) message, then
Tcp conversation request is forwarded to tcp transfer server by http tunnel server.
10: the first clients receive the tcp conversational response that tcp transfer server is forwarded by http tunnel server, such as
Allocateresponse(configuration response) message.
After tcp transfer server receives tcp conversation request, generate tcp session key, tcp session key is carried
Send to http tunnel server in tcp conversational response, then this is carried by tcp session key by http tunnel server
Tcp conversational response sends to the first client.
Tcp session key is forwarded to opposite end client by 11: the first clients, and it is described to ask opposite end client to utilize
Tcp session key binds tcp session.
First client passes through http tunnel server and tcp transfer server by session key forwarding to opposite end client
End, and ask opposite end client to utilize this session key to bind tcp session.
12: the first clients and the second client conversate binding.
First client is passed through http tunnel server and is sent the request of tcp binding session to tcp transfer server
(channelbind), this tcp binding session request carries tcp session key;
After opposite end client receives tcp session key, set up the connection with tcp transfer server, then in tcp
Turn server transmission tcp binding session to ask and carry identical tcp session key.
After the bind request receiving the first client and opposite end client, conversate tcp transfer server binding.
13: after binding session success, tcp transfer server sends meeting to the first client and opposite end client simultaneously respectively
Words binding success response (channelbindresponse).
So far, the tcp session establishment success between the first client and opposite end client.First client utilizes first even
Connected bound tcp session and received tcp data from opposite end client, and connected through using second bound
Tcp session sends tcp data to opposite end client.
The embodiment of the present invention three additionally provides a kind of client, and referring to Fig. 5, described client includes:
Connection establishment unit 51, connects for setting up between described client and set http tunnel server first
Connect;
Session key acquiring unit 52, asks for connecting to send to obtain to described http tunnel server using described first
Seek bag, and obtain session key;
Described connection establishment unit 51, be additionally operable to set up described first client and set http tunnel server it
Between second connection;
Session establishment unit 53, is additionally operable to connect to send to described http tunnel server using described second post request
Bag, and carry described session key in the packet header of described mailing request bag, connected with being successfully established the first connection and second
Session;
End-to-end data transmission unit 54, for connecting through described http tunnel server and transmission using described first
Control protocol tcp transfer server receives the tcp data from opposite end client, and connects through described using described second
Http tunnel server and tcp transfer server send tcp data to opposite end client;Wherein, described http tunnel server
Support http agreement and tcp agreement.
On the basis of embodiment shown in Fig. 5, further, described session key acquiring unit 52, specifically for
The mark of setting tcp transfer server and the address information of tcp transfer server in the packet header of described acquisition request bag;Or,
Service identification is set in the described packet header obtaining request bag, so that described http tunnel server obtains according to described service identification
Know corresponding tcp transfer server.
Further, described session key acquiring unit 52, is additionally operable to receive described http tunnel server according to described
Obtain the session key that request bag issues, using this session key as the session key getting;Or, obtain request described
Carry, in the packet header of bag, the session key known, the session key that this has been known is as the session key getting.
Further, described end-to-end data transmission unit 54 includes:
Tcp session establishment module, please to the transmission tcp session of described http tunnel server for connecting using described second
Ask, and described tcp conversation request is forwarded to by tcp transfer server by described http tunnel server;Connect using first
Receive the tcp conversation request response from tcp transfer server being forwarded by described http tunnel server, described tcp session please
Response is asked to include tcp session key;
Tcp binding session module, for connecting through described http tunnel server and tcp transfer server using second
Described tcp session key is forwarded to opposite end client, and asks opposite end client to utilize described tcp session key to bind tcp
Session;
End-to-end transport module, for all utilizing described tcp session key success in described client and opposite end client
After binding tcp session, connect through bound tcp session using described first and receive the tcp number from opposite end client
According to, and connect through bound tcp session to opposite end client transmission tcp data using described second.
Further, described client also includes communication control unit, for receiving opposite end client by credible
After the communication request message that bad network sends, control described connection establishment unit begin setting up described client with set
The first connection between http tunnel server, wherein, carries the ground of described tcp transfer server in described communication request message
Location information.
In product embodiments of the present invention, the specific works mode of each unit may refer to method of the present invention embodiment, here
Repeat no more.
From the above mentioned, the embodiment of the present invention sets up two by limited client and set http tunnel server
Connect and set up the session between two connections, limited client carries out the transmission of tcp data using a connection, using another
Article one, connection carries out the technological means of the reception of tcp data, there is provided the data transmission scheme in a kind of new limited network,
Achieve in the limited network only allowing http transmission data transfer between different clients.And, because the present invention is implemented
Example employs the transmission means combining based on tcp and http, ensure that reliability and the integrity of data transfer.
The foregoing is only presently preferred embodiments of the present invention, be not intended to limit protection scope of the present invention.All
Any modification, equivalent substitution and improvement made within the spirit and principles in the present invention etc., are all contained in protection scope of the present invention
Interior.
Claims (8)
1. in a kind of limited network, the data transmission method between client it is characterised in that be limited to only allows hypertext to pass
The client of defeated agreement http transmission includes the first client, and methods described includes:
First setting up between described first client and set http tunnel server is connected;
Connect to send to described http tunnel server using described first and obtain request bag, and obtain session key;
Second setting up between described first client and set http tunnel server is connected;
Connect using described second and send mailing request bag, and the bag in described mailing request bag to described http tunnel server
Described session key is carried, to be successfully established the session that the first connection and second connects in head;
Connect through described http tunnel server using described first and transmission control protocol tcp transfer server receives and is derived from
The tcp data of opposite end client, and using described second connect through described http tunnel server and tcp transfer server to
Opposite end client sends tcp data;
Wherein, described http tunnel server supports http agreement and tcp agreement;
Wherein, described first client is communication initiator, described connects through described http tunnel service using described first
Device and transmission control protocol tcp transfer server receive the tcp data being derived from opposite end client, and connect logical using described second
Cross described http tunnel server and tcp transfer server to include to opposite end client transmission tcp data:
Described first client connects to described http tunnel server transmission tcp conversation request using described second, and by institute
State http tunnel server and described tcp conversation request is forwarded to tcp transfer server;
Described first client utilizes described first to connect and receives by the forwarding of described http tunnel server from tcp transfer clothes
The tcp conversation request response of business device, described tcp conversation request response includes tcp session key;
Described first client connects through described http tunnel server using described second and tcp transfer server will be described
Tcp session key is forwarded to opposite end client, and asks opposite end client to utilize described tcp session key to bind tcp session;
After described first client and opposite end client all successfully bind tcp session using described tcp session key, described
First client connects through bound tcp session using described first and receives the tcp data being derived from opposite end client, and profit
Connect through bound tcp session with described second and send tcp data to opposite end client.
2. method according to claim 1 is it is characterised in that described connect to described http tunnel clothes using described first
Business device sends acquisition request bag and specifically includes:
The address information of the mark of setting tcp transfer server and tcp transfer server in the described packet header obtaining request bag;
Or,
Service identification is set in the described packet header obtaining request bag, so that described http tunnel server is according to described business mark
Know and know corresponding tcp transfer server.
3. method according to claim 2 is it is characterised in that described connect to described http tunnel clothes using described first
Business device sends and obtains request bag, and obtains session key and include:
Receive described http tunnel server and obtain the session key that issues of request bag according to described, using this session key as obtaining
The session key got;Or,
Carry, in the described packet header obtaining request bag, the session key known, the session key that this has been known is as acquisition
The session key arriving.
4. the method according to any one of claims 1 to 3 it is characterised in that described set up described first client with
Before the second connection between set http tunnel server, methods described also includes:
Receive the response bag that described http tunnel server returns, packet header of described response bag includes Content type arguments and interior
Hold length parameter, described Content type arguments instruction described first is connected to data and downloads, described content-length parameter instruction
The download capability being allowed;
Described connect using described second send mailing request bag to described http tunnel server, and in described mailing request bag
Packet header in carry described session key and also include:
Content type arguments instruction described second in the packet header of setting described mailing request bag is connected to upload data, with
And, the allowed upload capacity of the content-length parameter instruction in the packet header of setting described mailing request bag.
5. method according to claim 4, it is characterised in that described opposite end client is communication initiator, is built described
Vertical between described first client and set http tunnel server first be connected before, methods described also includes:
Receive the communication request message that opposite end client is sent by trusted-network, know that needs and opposite end client enter line number
According to transmission, wherein, in described communication request message, carry the address information of described tcp transfer server.
6. a kind of client is it is characterised in that described client includes:
Connection establishment unit, is connected for setting up between described client and set http tunnel server first;
Session key acquiring unit, obtains request bag for connecting to send to described http tunnel server using described first,
And obtain session key;
Described connection establishment unit, be additionally operable to set up between described client and set http tunnel server second connects
Connect;
Session establishment unit, is additionally operable to connect to send to described http tunnel server using described second post request bag, and
Carry described session key in the packet header of described mailing request bag, to be successfully established the meeting that the first connection and second connects
Words;
End-to-end data transmission unit, for connecting through described http tunnel server using described first and passing transport control protocol
View tcp transfer server receives the tcp data from opposite end client, and connects through described http tunnel using described second
Server and tcp transfer server send tcp data to opposite end client;Wherein, described http tunnel server supports http
Agreement and tcp agreement;
Tcp session establishment module, sends tcp conversation request for connecting using described second to described http tunnel server,
And described tcp conversation request is forwarded to by tcp transfer server by described http tunnel server;Connect using described first
Receive the tcp conversation request response from tcp transfer server being forwarded by described http tunnel server, described tcp session please
Response is asked to include tcp session key;
Tcp binding session module, for connecting through described http tunnel server and tcp transfer server using described second
Described tcp session key is forwarded to opposite end client, and asks opposite end client to utilize described tcp session key to bind tcp
Session;
End-to-end transport module, for all successfully being bound using described tcp session key in described client and opposite end client
After tcp session, connect through bound tcp session using described first and receive the tcp data being derived from opposite end client, and
Connect through bound tcp session using described second and send tcp data to opposite end client.
7. client according to claim 6 is it is characterised in that described session key acquiring unit, specifically in institute
State the address information of the mark of setting tcp transfer server and tcp transfer server in the packet header obtain request bag;Or,
In the packet header of described acquisition request bag, service identification is set, so that described http tunnel server is known according to described service identification
Corresponding tcp transfer server.
8. client according to claim 6, it is characterised in that described client also includes communication control unit, is used for
After receiving the communication request message that opposite end client is sent by trusted-network, described connection establishment unit is controlled to open
First establishing between vertical described client and set http tunnel server is connected, wherein, described communication request message
In carry the address information of described tcp transfer server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210221952.7A CN103516573B (en) | 2012-06-28 | 2012-06-28 | Data transmission method among client terminals in restricted network and client terminals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210221952.7A CN103516573B (en) | 2012-06-28 | 2012-06-28 | Data transmission method among client terminals in restricted network and client terminals |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103516573A CN103516573A (en) | 2014-01-15 |
CN103516573B true CN103516573B (en) | 2017-01-25 |
Family
ID=49898647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210221952.7A Active CN103516573B (en) | 2012-06-28 | 2012-06-28 | Data transmission method among client terminals in restricted network and client terminals |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103516573B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10154123B2 (en) * | 2014-04-28 | 2018-12-11 | T-Mobile Usa, Inc. | Insertion and use of application or radio information in network data packet headers |
CN104601541B (en) * | 2014-12-05 | 2018-12-07 | 华为技术有限公司 | Method, server and the user equipment of data transmission |
CN104580434B (en) * | 2014-12-26 | 2018-05-08 | 深圳市海蕴新能源有限公司 | The method and system that a kind of firmware is downloaded |
CN106230553A (en) * | 2016-07-27 | 2016-12-14 | 块互动(北京)科技有限公司 | Data transmission method and method of reseptance, data transmission terminal and reception terminal |
CN111131182B (en) * | 2019-12-05 | 2022-03-08 | 厦门星纵信息科技有限公司 | VoIP communication network penetration device and method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257431A (en) * | 2008-03-11 | 2008-09-03 | 网经科技(苏州)有限公司 | Converse exit passageway remote device management mode |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898220B2 (en) * | 2010-09-15 | 2014-11-25 | Sap Se | Remote method invocation tunneling over hypertext transfer protocol |
-
2012
- 2012-06-28 CN CN201210221952.7A patent/CN103516573B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257431A (en) * | 2008-03-11 | 2008-09-03 | 网经科技(苏州)有限公司 | Converse exit passageway remote device management mode |
Non-Patent Citations (2)
Title |
---|
Http隧道在穿越NAT/防火墙技术中的应用;韩风;《计算机技术与发展》;20060531;第16卷(第5期);第163-164页 * |
基于HTTP协议的隧道技术的设计与实现;李根军;《中国优秀硕士学位论文全文数据库 信息科技辑》;20050315(第01期);第21-23页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103516573A (en) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102811335B (en) | Set up the method, apparatus and system of video session | |
CN104253742B (en) | Virtual WEB real-time Communication for Power gateway is with and related methods, system | |
CN103491172B (en) | Cloud sharing files method and system | |
US8533346B2 (en) | SIP-based network video surveillance system and method | |
CN104065731B (en) | A kind of ftp file Transmission system and transmission method | |
CN103516573B (en) | Data transmission method among client terminals in restricted network and client terminals | |
CN101437036B (en) | Document transmission method and system capable of supporting NAT/firewall traversing | |
CN102045409B (en) | Network penetrating method and network communication system | |
WO2010139151A1 (en) | Method and system for realizing concurrent access of multi-kinds of bearer protocols on machine-to-machine (m2m) platform | |
CN107612931B (en) | Multipoint conversation method and multipoint conversation system | |
CN104519414B (en) | A kind of method and system of streaming media | |
CN104821909B (en) | End-to-end data transmission method and system | |
CN107426339A (en) | A kind of cut-in method, the apparatus and system of data interface channel | |
CN107222561A (en) | A kind of transport layer reverse proxy method | |
CN109660637A (en) | P2P burrows transmission method and system, electronic device and computer readable storage medium | |
JP2006279636A (en) | Consistency guarantee management system for inter-client communication log | |
CN107959664A (en) | Implementation method, device and the platform that mobile terminal is interacted with IPTV | |
CN106332223B (en) | A kind of wireless network sharing method, apparatus and system | |
CN103650455B (en) | For setting up the communication system of real-time Communication for Power session | |
CN104883307B (en) | The system and method for share of data file is carried out between router | |
CN107529229A (en) | The method of data transfer, apparatus and system | |
JP6393475B2 (en) | Communication adapter device, communication system, tunnel communication method, and program | |
CN104955169A (en) | Network based on Wi-Fi (wireless fidelity) Direct and communication method of network | |
WO2016086989A1 (en) | Ims application control protocol | |
CN103139319B (en) | Obtain the method for resource address, terminal and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602 Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |