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 PDF

Info

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
Application number
CN201210221952.7A
Other languages
Chinese (zh)
Other versions
CN103516573A (en
Inventor
陈俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201210221952.7A priority Critical patent/CN103516573B/en
Publication of CN103516573A publication Critical patent/CN103516573A/en
Application granted granted Critical
Publication of CN103516573B publication Critical patent/CN103516573B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Data transmission method between client and client in limited network
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.
CN201210221952.7A 2012-06-28 2012-06-28 Data transmission method among client terminals in restricted network and client terminals Active CN103516573B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.