CN110460641A - Data transmission method, apparatus and system - Google Patents
Data transmission method, apparatus and system Download PDFInfo
- Publication number
- CN110460641A CN110460641A CN201910639170.7A CN201910639170A CN110460641A CN 110460641 A CN110460641 A CN 110460641A CN 201910639170 A CN201910639170 A CN 201910639170A CN 110460641 A CN110460641 A CN 110460641A
- Authority
- CN
- China
- Prior art keywords
- server
- initial
- tcp
- initial server
- client
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Abstract
This application discloses a kind of data transmission methods, apparatus and system, belong to computer communication field.The described method includes: first object server sends the instruction information of the first initial server to client;Client sends the secondary TCP request for establishing time TCP link according to instruction information to the second initial server, carries instruction information in secondary TCP request;Second initial server is forwarded to the first initial server when with the first initial server difference indicated by instruction information, by secondary TCP request;Secondary TCP request is forwarded to first object server by the first initial server;First object server is based on receiving time TCP request, sends the response that time TCP is requested to client.The application ensure that the foundation of MPTCP link.
Description
Technical field
This application involves computer communication field, in particular to a kind of data transmission method, apparatus and system.
Background technique
With the rise of mobile interchange Network Communication, client usually supports the data of a variety of links to transmit.For example, this is a variety of
Link is to include being based on the link of long term evolution (long term evolution, LTE) technology and based on Wireless Fidelity
The link etc. of (wirelessfidelity, WIFI) technology.Therefore, in order to rationally utilize a variety of links, simultaneously using multipath
The multi-path transmission control protocol (multipath transport control, MPTCP) of hair transmission data is come into being.By
It is applied in the communications more generally in load balancing (load balance, LB) technology, therefore, the MPTCP based on LB technology
It rises therewith.
In MPTCP currently based on four layers of LB technology, data transmission system is generally included: client, multiple initial services
Device and multiple destination servers.Wherein, client can establish MPTCP link with destination server, which includes visitor
Main transmission control protocol (transport control, the TCP) link and time TCP link that family end and the destination server are established.
When establishing main TCP link with destination server, the request of the main TCP link can be sent to multiple first client by client
The initial server randomly selected in beginning server, the initial server for receiving the request are sending out the request received
Send the destination server randomly selected into multiple destination servers.Later, receive the destination server of the request to
Client sends the response of the request, and then client and the destination server is made to establish main TCP link.Client and target take
Device be engaged in after establishing main TCP link, which can also establish time TCP link with destination server, and client can incite somebody to action
The request of the secondary TCP link is sent to the initial server randomly selected in multiple initial servers, receives the request
Initial server the request received is retransmited to the destination server randomly selected into multiple destination servers.
Later, the destination server for receiving the request sends the response of the request to client, and then takes client and the target
Business device establishes time TCP link.
Due to MPTCP link requirement, its all TCP link is the link between client and same destination server, and
The request for establishing main TCP link and the request for establishing secondary TCP link that client issues in the related technology may quilts
It is forwarded to different initial servers, and then is forwarded to different destination servers, accordingly, it is possible to lead to the main TCP established
Link and time TCP link can not form MPTCP link.
Summary of the invention
This application provides a kind of data transmission method, apparatus and system, it can solve in the related technology that MPTCP link can
The problem of capable of can not being formed.
In a first aspect, providing a kind of data transmission method, it is applied to data transmission system, the data transmission system includes
Client, multiple initial servers and multiple destination servers, which comprises first object server is to the client
Send the instruction information of the first initial server, wherein first initial server and the equal position of first object server
In the main transmission control protocol TCP chain road that the client is established, first initial server is the multiple initial clothes
Any initial server being engaged in device;The client sends foundation time to the second initial server according to the instruction information
The secondary TCP of TCP link is requested, wherein second initial server is any initial clothes in the multiple initial server
Business device, the secondary TCP link and main TCP link belong to same multi-path transmission control protocol MPTCP link, and the secondary TCP is asked
The instruction information is carried in asking;Illustratively, the secondary TCP request includes address label character learning section, the address identification field
Carry the instruction information of first initial server.Second initial server with indicated by the instruction information
When the first initial server difference, the secondary TCP request is forwarded to first initial server;Described first is initial
The secondary TCP request is forwarded to the first object server by server;The first object server is based on receiving institute
Time TCP request is stated, Xiang Suoshu client sends the response of the secondary TCP request.
In this way, since first object server sends to client the instruction of the first initial server of main TCP chain road
Information, therefore, client can carry the instruction information in secondary TCP request, so that the second initial server is receiving this
After secondary TCP request, which can be forwarded to by the first initial server based on instruction information so that this first
Secondary TCP request is forwarded to the server for receiving main TCP request by initial server.It ensure that the destination service of main TCP chain road
Device and the destination server of time TCP chain road are same destination server, and then ensure that the foundation of MPTCP link, are realized
Load balancing under MPTCP link.
It should be noted that above-mentioned carry out so that the second initial server and the first initial server are not same equipment as an example
Illustrate, it, will when second initial server is when identical as first initial server indicated by the instruction information
The secondary TCP request is forwarded to the first object server.
Optionally, the first object server to the client send the first initial server instruction information it
Before, client can request main TCP be sent to first object service, and the process of the transmission includes: the client to described
First initial server sends the main TCP request for establishing the main TCP link, and first initial server is by the main TCP
Request is forwarded to the first object server.It is worth noting that first object server described above is to the client
The process for sending the instruction information of the first initial server may include: that the first object server is sent to the client
The response of the response of the main TCP request, the main TCP request carries the instruction information.
In this way, the instruction information of the first initial server is carried by the response of the main TCP request, without individually carrying out
The transmission of the instruction information saves network bandwidth, improves the compatibility of the data transmission method.Certainly, the first mesh described above
Mark server is also possible to the process for the instruction information that the client sends the first initial server: first object server
Send the corresponding and instruction information for not carrying the main TCP request of above-mentioned instruction information respectively to client.
Optionally, instruction information can be the mark of the first initial server, or indicate first initial service
The information of the mark of device.The embodiment of the present application is carried out so that the instruction information includes the mark of first initial server as an example
Explanation.Illustratively, the mark of initial server can prove (User for the user identity of initial server
Identification, UID), which can be the data of any size, for example, the data of 8 bits (bit).Wherein, described
Multiple destination servers are each equipped with the mark of the multiple initial server and the corresponding relationship of address.The initial server
Address volume can be IP address, or media access control address (Media Access Control Address,
MAC), the embodiment of the present application is not construed as limiting this.
The process that the main TCP request is forwarded to the first object server by the first initial server described above can
The main TCP request is handled with including: first initial server, so that treated, the main TCP request is taken
Address with first initial server.After first initial server is handled to the first object server transmission
The main TCP request.
Further, the instruction information of the first initial server is sent to the client in the first object server
Before, the method also includes: the first object servers to obtain first initial service that the main TCP request carries
The address of device.Address and the multiple initial service of the first object server based on first initial server
The mark of device and the corresponding relationship of address determine the mark of first initial server.
Optionally, the multiple initial server can also be each equipped with mark and the address of the multiple initial server
Corresponding relationship.Second initial server described above with first initial server indicated by the instruction information not
Meanwhile second initial server by the process that the secondary TCP request is forwarded to first initial server may include:
Second initial server obtains the mark for first initial server that the secondary TCP request carries first
Know.Then mark and the multiple initial server of second initial server based on first initial server
Mark and address corresponding relationship, determine the address of first initial server.Finally, the second initial server base
In the address of first initial server, the secondary TCP request is sent to first initial server.
In this way, since each initial server can be according to the initial service of the main TCP chain road carried in secondary TCP request
Secondary TCP request is forwarded to the initial server of the main TCP chain road by the mark of device so that all TCP request by
The same initial server is forwarded to destination server.Therefore, when LB cluster is in main holotype, without LB in the related technology
Additional synchronizing information between cluster reduces the realization difficulty that LB cluster works under main holotype, realizes in MPTCP scene
Load balancing of the LB cluster under main holotype.
Optionally, the main TCP request carries the key of the MPTCP, and the secondary TCP request, which carries, to be used to indicate
The token information of the key, the method also includes: the main TCP request is forwarded to institute in first initial server
Before stating first object server, first initial server establishes the correspondence of the key and the first object server
Relationship.Correspondingly, before the secondary TCP request is forwarded to the first object server by first initial server,
First initial server searches the token information in the corresponding relationship of the key and the first object server
The first object server corresponding to the indicated key.
It should be noted that due in data transmission system client and initial server communicated by relay device foundation
Connection, therefore, it may include: that the client passes through that the client, which sends main TCP request to first initial server,
The relay device sends the main TCP request to first initial server.Correspondingly, the client is according to the finger
Showing that information sends the process that time TCP is requested to the second initial server also may include: that the client is believed according to the instruction
Breath sends time TCP request by the relay device, to the second initial server.
Second aspect provides a kind of data transmission method, and the data transmission method is for the client in data transmission system
End, the data transmission system further include: multiple initial servers and multiple destination servers, which comprises
Client receives in multiple initial servers that first object server in the multiple destination server is sent the
The instruction information of one initial server, wherein the first object server and first initial server are respectively positioned on described
The main transmission control protocol TCP chain road that client is established.The client is according to the instruction information to the second initial service
Device sends the secondary TCP request for establishing time TCP link, wherein second initial server is in the multiple initial server
Any initial server, the secondary TCP link and main TCP link belong to same multi-path transmission control protocol MPTCP link,
The instruction information is carried in the secondary TCP request.The client receives the described of the first object server transmission
The response of secondary TCP request.
As a kind of optionally implementation, at the beginning of the client receives described the first of the transmission of first object server
Before the instruction information of beginning server, the method also includes: the client sends to first initial server and establishes
The main TCP of the main TCP link is requested.
Above-mentioned client receives multiple initial servers that first object server is sent in the multiple destination server
In the process of instruction information of the first initial server may include: that the client receives the first object server and sends
Main TCP request response, the response of the main TCP request carries the instruction information.
Optionally, it is established and is communicated to connect by relay device due to client in data transmission system and initial server,
Therefore, the data transmission system further includes relay device.At this point, the client is built to first initial server transmission
The process for standing the main TCP request of the main TCP link may include: the client by the relay device to described first
Initial server sends the main TCP request.The client is built according to the instruction information to the transmission of the second initial server
The process of the secondary TCP request of vertical TCP link may include: that the client is set according to the instruction information by the transfer
It is standby, time TCP request is sent to the second initial server.
The third aspect provides a kind of data transmission method, and the data transmission method is for the third in data transmission system
Initial server, the data transmission system include client, multiple initial servers and multiple destination servers, the third
Initial server is any initial server in the multiple initial server, which comprises the third initially takes
The secondary TCP request for the secondary TCP link of foundation that device reception other equipment of being engaged in are sent, wherein the other equipment include: the client
Any server in addition to the third initial server in end or the multiple initial server, in the secondary TCP request
Instruction information is carried, and the instruction information is used to indicate in the multiple initial server and is located at what the client was established
The initial server of main TCP chain road, the secondary TCP link and the main TCP link belong to same multi-path transmission control and assist
Discuss MPTCP link;The third initial server, will be described when with initial server difference indicated by the instruction information
Secondary TCP request is forwarded to initial server indicated by the instruction information.
Optionally, the third initial server, will when identical as initial server indicated by the instruction information
The secondary TCP request is forwarded to first object server, and the first object server is position in the multiple destination server
Destination server in the main TCP chain road.
Optionally, the secondary TCP request for the foundation time TCP link that other equipment are sent is received in the third initial server
Before, the method also includes what: the third initial server received that the client sends to establish the main TCP link
Main TCP is requested, and initial server indicated by the instruction information is the third initial server;The third initial service
The main TCP request is forwarded to the first object server by device.
Optionally, the instruction information includes the mark of the third initial server, and the multiple destination server is equal
The corresponding relationship of mark and address configured with the multiple initial server;
The main TCP request is forwarded to the first object server by the third initial server, comprising: described the
Three initial servers handle the main TCP request, at the beginning of so that treated, the main TCP request carries the third
The address of beginning server;The third initial server sends that treated that the main TCP is asked to the first object server
It asks.
Optionally, the instruction information carries the mark of the initial server of its instruction, the multiple initial server
It is each equipped with the mark of the multiple initial server and the corresponding relationship of address;
The third initial server is when with initial server difference indicated by the instruction information, by described time
TCP request is forwarded to initial server indicated by the instruction information, comprising: the third initial server obtains the finger
Show the mark for the initial server that information carries;The mark of the third initial server based on the initial server got
The corresponding relationship of the mark and address of knowledge and the multiple initial server, determines initial indicated by the instruction information
The address of server;Address of the third initial server based on initial server indicated by the instruction information, by institute
It states time TCP request and is sent to initial server indicated by the instruction information.
Optionally, the main TCP request carries the key of the MPTCP, and the secondary TCP request, which carries, to be used to indicate
The token information of the key, the method also includes: the main TCP request is forwarded to institute in the third initial server
Before stating first object server, the third initial server establishes the correspondence of the key and the first object server
Relationship;Before the secondary TCP request is forwarded to first object server by the third initial server, the third is initial
Server is searched described indicated by the token information in the corresponding relationship of the key and the first object server
The first object server corresponding to key.
Optionally, the data transmission system further includes relay device;The third initial server receives the client
The main TCP for establishing the main TCP link that end is sent is requested, comprising: the third initial server passes through the relay device
Receive the main TCP request that the client is sent.
The third initial server receives the secondary TCP request for the foundation time TCP link that other equipment are sent, comprising: when
When the other equipment are the client, the third initial server receives the client by the relay device and sends out
The secondary TCP request of the foundation time TCP link sent.
Optionally, the secondary TCP request includes address label character learning section, and the address identification field carries the instruction letter
Breath.
Fourth aspect provides a kind of data transmission method, the data transmission method, for first in data transmission system
Destination server, the data transmission system include client, multiple initial servers and multiple destination servers, and described first
Destination server is the server for being located at the main TCP chain road that the client is established in the multiple destination server, described
Method includes:
The first object server sends the instruction information of the first initial server to the client, wherein described
First initial server are as follows: be located at the initial server of the main TCP chain road in multiple initial servers.The first object
Server receives the secondary TCP request for the foundation time TCP link that first initial server is sent, the secondary TCP link and master
TCP link belongs to same multi-path transmission control protocol MPTCP link.The first object server, which is based on the secondary TCP, asks
It asks, Xiang Suoshu client sends the response of the secondary TCP request.
Optionally, the first object server to the client send the first initial server instruction information it
Before, the method also includes what: the first object server received the first initial server forwarding to establish the main TCP
The main TCP of link is requested.
It is worth noting that first object server described above sends the finger of the first initial server to the client
The process for showing information may include: the response that the first object server sends the main TCP request to the client, institute
The response for stating main TCP request carries the instruction information.
In this way, the instruction information of the first initial server is carried by the response of the main TCP request, without individually carrying out
The transmission of the instruction information saves network bandwidth, improves the compatibility of the data transmission method.
Certainly, first object server described above sends the instruction information of the first initial server to the client
Process is also possible to: first object server sends the main TCP request for not carrying above-mentioned instruction information to client respectively
Accordingly and the instruction information.
Optionally, instruction information can be the mark of the first initial server, or indicate first initial service
The information of the mark of device.The embodiment of the present application is carried out so that the instruction information includes the mark of first initial server as an example
Explanation.Illustratively, the mark of initial server can prove (User for the user identity of initial server
Identification, UID), which can be the data of any size, for example, the data of 8 bits (bit).
Wherein, the multiple destination server is each equipped with the mark of the multiple initial server and the corresponding of address is closed
System.
Then before the first object server sends the instruction information of the first initial server to the client, institute
State method further include: the first object server obtains first initial server that the main TCP request carries first
Address.Then, address and the multiple initial clothes of the first object server based on first initial server
The mark of device of being engaged in and the corresponding relationship of address, determine the mark of first initial server.
5th aspect, provides a kind of data transmission system, the data transmission system includes client, multiple initial services
Device and multiple destination servers,
First object server is used to send the instruction information of the first initial server to the client, wherein described
First initial server and the first object server are respectively positioned on the main transmission control protocol TCP link that the client is established
On, first initial server is any initial server in the multiple initial server;The client is used for root
The secondary TCP request for establishing time TCP link is sent to the second initial server according to the instruction information, wherein described second is initial
Server is any initial server in the multiple initial server, and the secondary TCP link belongs to same with main TCP link
Multi-path transmission control protocol MPTCP link carries the instruction information in the secondary TCP request;Described second initial clothes
Device be engaged in for when with the first initial server difference indicated by the instruction information, the secondary TCP request to be forwarded
To first initial server;First initial server is used to the secondary TCP request being forwarded to the first object
Server;The first object server is used for based on the secondary TCP request is received, and Xiang Suoshu client is sent described time
The response of TCP request.
Optionally, second initial server be used for first initial service indicated by the instruction information
When device is identical, the secondary TCP request is forwarded to the first object server.
Optionally, the client is used to send the first initial service to the client in the first object server
Before the instruction information of device, the first initial server of Xiang Suoshu sends the main TCP request for establishing the main TCP link;Described
One initial server is used to the main TCP request being forwarded to the first object server;
The first object server is used to send the response that the main TCP is requested to the client, and the main TCP is asked
The response asked carries the instruction information.
Optionally, the instruction information includes the mark of first initial server, and the multiple destination server is equal
The corresponding relationship of mark and address configured with the multiple initial server;
First initial server is used to handle the main TCP request, so that treated, the main TCP is asked
Ask the address for carrying first initial server;First initial server is used to send out to the first object server
The main TCP request of sending that treated;
The first object server is used to be used to send at the beginning of first to the client in the first object server
Before the instruction information of beginning server, the address for first initial server that the main TCP request carries is obtained;Described
One destination server is used for the mark and ground of address and the multiple initial server based on first initial server
The corresponding relationship of location determines the mark of first initial server.
Optionally, the instruction information includes the mark of first initial server, and the multiple initial server is equal
The corresponding relationship of mark and address configured with the multiple initial server;
Second initial server is used to obtain the mark for first initial server that the secondary TCP request carries
Know;
Second initial server is used for mark and the multiple initial clothes based on first initial server
The mark of device of being engaged in and the corresponding relationship of address, determine the address of first initial server;
Second initial server is used for the address based on first initial server, by the secondary TCP request hair
It send to first initial server.
Optionally, the address of the initial server includes internet protocol address.
Optionally, the secondary TCP request includes address label character learning section, and the address identification field carries at the beginning of described first
The instruction information of beginning server.
Optionally, the main TCP request carries the key of the MPTCP, and the secondary TCP request, which carries, to be used to indicate
The token information of the key,
First initial server is used to that the main TCP request to be forwarded to described the in first initial server
Before one destination server, the corresponding relationship of the key and the first object server is established;
First initial server is used to that the secondary TCP request to be forwarded to described the in first initial server
Before one destination server, in the corresponding relationship of the key and the first object server, the token information is searched
The first object server corresponding to the indicated key.
Optionally, the data transmission system further includes relay device;
The client is used to send main TCP request to first initial server, comprising: the client is for leading to
It crosses the relay device and sends the main TCP request to first initial server;
The client is used to send time TCP request to the second initial server according to the instruction information, comprising: described
Client is used to according to the instruction information send time TCP request to the second initial server by the relay device.
6th aspect, provides a kind of data transmission device, for the client in data transmission system, data transmission system
Further include: multiple initial servers and multiple destination servers, data transmission device include: the first receiving module, sending module
With the second receiving module.
First receiving module, for receiving multiple initial services that first object server is sent in multiple destination servers
The instruction information of first initial server in device, wherein first object server and the first initial server are respectively positioned on client
The main transmission control protocol TCP chain road established;
Sending module, for being asked according to instruction information to the secondary TCP that the second initial server sends foundation time TCP link
It asks, wherein the second initial server is any initial server in multiple initial servers, secondary TCP link and main TCP link
Belong to same multi-path transmission control protocol MPTCP link, carries instruction information in secondary TCP request;
Second receiving module, the response of the secondary TCP request for receiving the transmission of first object server.
Optionally, data transmission device further include: main request module is sent, in receiving multiple destination servers the
In multiple initial servers that one destination server is sent before the instruction information of the first initial server, to the first initial service
Device sends the main TCP request for establishing main TCP link.
First receiving device is also used to: receiving the response for the main TCP request that first object server is sent, main TCP request
Response carry instruction information.
Optionally, data transmission system further includes relay device.
Main request module is sent, is also used to: main TCP being sent to the first initial server by relay device and is requested.
Sending module is also used to: according to instruction information by relay device, being sent time TCP to the second initial server and is asked
It asks.
7th aspect, provides a kind of data transmission device, and the data transmission device is for the third in data transmission system
Initial server, the data transmission system include client, multiple initial servers and multiple destination servers, the third
Initial server is any initial server in the multiple initial server, and described device includes: receiving module and forwarding
Module.
Receiving module is requested for receiving secondary TCP of foundation time TCP link of other equipment transmission, wherein it is described other
Equipment includes: any service in the client or the multiple initial server in addition to the third initial server
Device carries instruction information in the secondary TCP request, and the instruction information is used to indicate position in the multiple initial server
Initial server in the main TCP chain road that the client is established, the secondary TCP link and the main TCP link belong to together
One multi-path transmission control protocol MPTCP link;
Forwarding module, for different from initial server indicated by the instruction information in the third initial server
When, the secondary TCP request is forwarded to initial server indicated by the instruction information.
Optionally, data transmission device further include: time request module is forwarded, in the third initial server and institute
State initial server indicated by instruction information it is identical when, the secondary TCP request is forwarded to first object server, described the
One destination server is the destination server for being located at the main TCP chain road in the multiple destination server.
Optionally, data transmission device further include: receive main request module and forward main request module.
Main request module is received, for receiving the foundation time TCP chain that other equipment are sent in the third initial server
Before the secondary TCP request on road, the main TCP request for establishing the main TCP link that the client is sent, the instruction letter are received
The indicated initial server of breath is the third initial server;
Main request module is forwarded, for the main TCP request to be forwarded to the first object server.
Optionally, the instruction information includes the mark of the third initial server, and the multiple destination server is equal
The corresponding relationship of mark and address configured with the multiple initial server.
Main request module is forwarded, is also used to handle the main TCP request, the main TCP is asked so that treated
Ask the address for carrying the third initial server;Send that treated that the main TCP is asked to the first object server
It asks.
Optionally, the instruction information carries the mark of the initial server of its instruction, the multiple initial server
It is each equipped with the mark of the multiple initial server and the corresponding relationship of address.Forwarding module is also used to obtain the instruction
The mark for the initial server that information carries;Mark based on the initial server got and the multiple initial
The mark of server and the corresponding relationship of address determine the address of initial server indicated by the instruction information;Based on institute
The secondary TCP request is sent to indicated by the instruction information by the address for stating initial server indicated by instruction information
Initial server.
Optionally, the main TCP request carries the key of the MPTCP, and the secondary TCP request, which carries, to be used to indicate
The token information of the key.Data transmission device further include: establish module and searching module.
Module is established, is taken for the main TCP request to be forwarded to the first object in the third initial server
It is engaged in front of device, establishes the corresponding relationship of the key and the first object server;
Searching module, for the secondary TCP request to be forwarded to first object server in the third initial server
Before, the third initial server searches the order in the corresponding relationship of the key and the first object server
The first object server corresponding to the key indicated by board information.
Optionally, the data transmission system further includes relay device;Main request module is received, is also used to by described
Turn equipment and receives the main TCP request that the client is sent.
Time request module is received, is also used to connect when the other equipment are the client by the relay device
Receive the secondary TCP request for the foundation time TCP link that the client is sent.
Optionally, the secondary TCP request includes address label character learning section, and the address identification field carries the instruction letter
Breath.
Eighth aspect provides a kind of data transmission device, the first object server being used in data transmission system, number
It include client, multiple initial servers and multiple destination servers according to Transmission system, first object server is multiple targets
It is located at the server for the main TCP chain road that client is established in server, data transmission device includes: the first sending module, connects
Receive module and the second sending module.
First sending module, for sending the instruction information of the first initial server to client, wherein the first initial clothes
Business device are as follows: be located at the initial server of main TCP chain road in multiple initial servers.
Receiving module, the secondary TCP request of the foundation time TCP link for receiving the transmission of the first initial server, secondary TCP chain
Lu Yuzhu TCP link belongs to same multi-path transmission control protocol MPTCP link.
Second sending module, for sending the response that time TCP is requested to client based on time TCP request.
Optionally, data transmission device further include: main request module is received, for sending the first initial clothes to client
It is engaged in front of the instruction information of device, receives the main TCP request for establishing main TCP link of the first initial server forwarding.
First sending module, is also used to: first object server sends the response that main TCP is requested to client, and main TCP is asked
The response asked carries instruction information.
Optionally, instruction information includes the mark of the first initial server, and multiple destination servers are each equipped with multiple first
The mark of beginning server and the corresponding relationship of address.Data transmission device further include: obtain module and determining module.
Module is obtained, for before the instruction information for sending the first initial server to client, obtaining main TCP request
The address of the first initial server carried;
Determining module, mark and address for address and multiple initial servers based on the first initial server
Corresponding relationship, determine the mark of the first initial server.
9th aspect, provides a kind of computer readable storage medium, finger is stored in the computer readable storage medium
It enables, when described instruction is run on computers, so that the computer executes above-mentioned second aspect to any institute of fourth aspect
The data transmission method stated.
Tenth aspect, provides a kind of computer program product comprising instruction, when the computer program product is calculating
When being run on machine, so that the computer executes above-mentioned second aspect to any data transmission method of fourth aspect.
Technical solution bring beneficial effect provided by the present application at least may include:
Data transmission method provided by the embodiments of the present application, apparatus and system, since first object server is to client
The instruction information of the first initial server of main TCP chain road is sent, therefore, client can carry in secondary TCP request should
Information is indicated, so that the second initial server can ask the secondary TCP based on instruction information after receiving the secondary TCP request
It asks and is forwarded to the first initial server, so that secondary TCP request is forwarded to by first initial server receives main TCP request
Server.The destination server of the destination server and time TCP chain road that ensure that main TCP chain road is same destination service
Device, and then ensure that the foundation of MPTCP link, realize the load balancing under MPTCP link.
Detailed description of the invention
Fig. 1 is a kind of structural schematic diagram of data transmission system using four-layer load-equalizing technology provided by the present application;
Fig. 2 is a kind of structural schematic diagram of data transmission system for applying seven layers of load-balancing technique provided by the present application;
Fig. 3 is a kind of data transmission method flow chart provided by the present application;
Fig. 4 is a kind of data transmission method flow chart provided by the present application;
Fig. 5 is another data transmission method flow chart provided by the present application;
Fig. 6 is a kind of block diagram of data transmission device provided by the present application;
Fig. 7 is a kind of block diagram of data transmission device provided by the present application;
Fig. 8 is the block diagram of another data transmission device provided by the present application;
Fig. 9 is the block diagram of another data transmission device provided by the present application;
Figure 10 is the block diagram of another data transmission device provided by the present application;
Figure 11 is the block diagram of another data transmission device provided by the present application.
Specific embodiment
To keep the purposes, technical schemes and advantages of the application clearer, below in conjunction with attached drawing to the application embodiment party
Formula is described in further detail.
Data transmission system generally includes client and destination server.Wherein, client has multiple ports (port),
Client can select a port as source port in multiple port, and be established by the source port and destination server
TCP link, and then realize that the data of the single path between destination server are transmitted by the TCP link.But client and
Bandwidth performance between destination server is limited to the single path, and the TCP link does not have high availability.
With the rise of mobile interchange Network Communication, client usually supports the data of a variety of links to transmit.For example, this is a variety of
Link may include the TCP link (abbreviation LTE-TCP link) based on LTE technology and the (abbreviation of the TCP link based on WiFi technology
WIFI-TCP link) etc..Since LTE technology and WiFi technology are both limited by factors such as network coverage and signal strength or weakness.Cause
This, the link between client and destination server can switch under above two TCP link, can also include simultaneously
The above two TCP link.Wherein, when the link between client and destination server includes simultaneously above two TCP link
When, (network bandwidth referred within the unit time for data transmission efficiency and network bandwidth between client and destination server
The data volume of transmission) it is higher.Based on this, come into being using the MPTCP of multipath concurrently-transmitted data, wherein path
(path) whole process that terminal (namely receiving end, such as destination server) is arrived from starting point (namely transmitting terminal, such as client) is referred to
Routing.
It will be illustrated below based on establishment process of the data transmission system to MPTCP link:
Assuming that there is client port A and port B, port A can be LTE network port, port B in data transmission system
It can be WIFI network port.MPTCP between client and destination server may include main TCP link and time TCP link,
Also, client can first establish main TCP link with destination server, then establish time TCP link then at the destination server.
On the one hand, it may include: that client passes through port A that client and destination server, which establish the process of main TCP link,
Main TCP request is sent to destination server, which can be SYN message.Multipath ability is carried in SYN message
(MP_CAPABLE) field, the MP_CAPABLE field is for indicating that client supports MPTCP link, and the MP_CAPABLE word
The key (key) of the MPTCP link generated in section comprising client, the key is for identifying the MPTCP link.Destination server
After receiving the SYN message, the response that main TCP is requested is sent to client, the response of the main TCP request can be SYN
ACK message.MP_CAPABLE field is carried in SYN ACK message, the MP_CAPABLE field is for indicating destination server
Support MPTCP link.Client is sent out after receiving the response of main TCP request of destination server transmission to destination server
Send ACK message.MP_CAPABLE field is carried in the ACK message, the MP_CAPABLE field is for indicating client and mesh
The key for the MTPTCP link that mark server is supported MPTCP connection, and generated in the MP_CAPABLE field comprising client.
So far, main TCP link establishment is completed.
On the other hand, it may include: that client passes through port that client and destination server, which establish time process of TCP link,
B sends time TCP request to server, which can be SYN message.Multipath addition is carried in the SYN message
(MP_JOIN) field and token (token) field.Wherein, MP_JOIN field is used to indicate that the client to support MPTCP connection,
Token field can serve to indicate that the key of above-mentioned MTPTCP link.Destination server is after receiving the SYN message, to visitor
Family end sends time response of TCP request, and the response of the secondary TCP request can be SYN ACK message.It is taken in the SYN ACK message
With MP_JOIN field.Client is sent after the SYN ACK message for receiving destination server transmission to destination server
ACK message carries MP_JOIN field in the ACK message.Destination server receive client send ACK message after, to
Client sends ACK message, which is the ACK message of TCP standard, indicates to receive with the ACK message for sending client
Confirmation.So far, secondary TCP link establishment is completed.
Further, due to LB technology apply in the communications it is more universal, the MPTCP based on LB technology is also therewith
It rises.In MPTCP currently based on LB technology, data transmission system is generally included: client, relay device and multiple services
Device.Due to LB technology in the related technology include four layers of LB technology and seven layers of LB therefore, above-mentioned data transmission system can be according to it
The difference of the LB technology of application, the server including different numbers.The data based on both LB technologies will be passed respectively below
Defeated system is described in detail.
Referring to FIG. 1, it illustrates a kind of data transmission systems for applying four layers of LB technology provided by the embodiments of the present application
Structural schematic diagram.As shown in Figure 1, may include: that client 110, transfer are set using the data transmission system of four layers of LB technology
Standby 120 and multiple servers, and multiple server includes multiple initial servers 130 and multiple destination servers 140.Its
In, client 110 can be the electronic equipments such as mobile phone, PC (personal computer, PC) or tablet computer.In
Turning equipment 120 can be the equipment that gateway (switch) or router etc. have data relay function.Multiple initial servers
130 can be to provide the server cluster of four layers of LB service.Destination server 140 can be physical server, virtual machine or appearance
Device etc..The destination server 140 is for handling the data transmitted on MPTCP link.Further, client 110 can pass through
Network is connect with relay device 120 and multiple destination servers 140 respectively, which can also be distinguished by network
It is connect with multiple initial servers 130.Multiple initial servers 130 can also by network respectively with multiple destination servers
140 connections.
Referring to FIG. 2, it illustrates a kind of data transmission systems for applying seven layers of LB technology provided by the embodiments of the present application
Structural schematic diagram.The data transmission system is that data transmission system shown in Fig. 1 increases by a stratum server, be that is to say, should
Data transmission system using seven layers of LB can also include: multiple back-end servers 150.Wherein, multiple destination servers 140
It can be the server cluster of seven layers of LB server.Multiple back-end servers 150 can be physical server, virtual machine or container
Deng.Multiple back-end server 150 can be connect with multiple destination servers 140 and client 110 respectively by network.
It should be noted that the network in above-mentioned Fig. 1 and Fig. 2 can be wired or wireless network (wireless
network).Cable network includes transmission control protocol/Internet protocol (Transmission Control Protocol/
InternetProtocol, TCP/IP) network, fiber optic network or infinite bandwidth (InfiniBand, IB) network;Wireless network packet
It includes: wireless fidelity network, the third generation (3rd-generation, 3G) mobile communication technology network or general packet radio service skill
Art (general packet radio service, GPRS) etc..
Illustratively, it by taking the data transmission system based on four layers of LB technology as an example, is established in client and destination server
When MPTCP link, firstly, client can send the main TCP request for being used to establish the main TCP link in the MPTCP link
To relay device, wherein carry key (main TCP link institute of the MPTCP link of client generation in the main TCP request
MPTCP link key).The main TCP request can also carry five-tuple, and (five-tuple includes: transmitting terminal IP address, hair
Sending end port, receiving end IP address, receiving end port and transport protocol), relay device can be asked based on the main TCP received
It asks the five-tuple of carrying to determine an initial server, and the main TCP request is forwarded to the initial server.The initial service
Device is again based on the five-tuple and determines a destination server when receiving main TCP request, by the main TCP request forwarding
To the destination server.Later, which requests to send the main TCP request to client based on the main TCP received
Response.Then, client is based on the response and sends an acknowledgement message to the destination server.So far, the main TCP link establishment is complete
At.Later, time TCP chain is established between client and the destination server based on the above-mentioned similar process of main connection of establishing
Road.
But since client has multiple IP address and multiple ports, and TCP is sent in each client and requests (nothing
By being main TCP request or secondary TCP request) when, used IP address and port may be all different, and lead to main TCP in this way
The five-tuple information that the five-tuple that link carries is carried with time TCP request may be not identical, therefore, is taken based on main TCP request
The destination server that the five-tuple of band determines, the destination server determined with the five-tuple carried based on secondary TCP request may be simultaneously
Not identical, it from the destination server of time TCP chain road is different that this, which results in main TCP link,.And the main TCP of MPTCP link requirement
Link and the destination server (namely back-end server in the data transmission system) of time TCP chain road are identical, thus lead
Cause can not form MPTCP link.
In the data transmission system based on seven layers of LB technology, receiving TCP request, (such as main TCP is asked every stratum server
Ask or secondary TCP requested) after, it is required to request the five-tuple carried to determine an equipment in next layer of equipment according to the TCP.Base
In the similar reason of the data transmission system of four layers of LB technology, the data transmission system based on seven layers of LB technology, initial service
Device from main TCP may be requested and time TCP request be forwarded to different destination servers, so as to cause main TCP link and secondary TCP
The destination server of chain road is difference, and then the back-end server for causing the destination server to be forwarded to is different.And MPTCP chain
Road requires main TCP link identical with time destination server of TCP chain road, also leads to not to form MPTCP link in this way.
The embodiment of the invention provides a kind of data transmission methods, can effectively be established based on the data transmission method
MPTCP link.Referring to FIG. 3, it illustrates a kind of flow charts of data transmission method provided by the embodiments of the present application.The data
Transmission method can be applied to above-mentioned data transmission system shown in FIG. 1, which can be divided into two stages: main
TCP link establishment phase and time TCP link establishment phase.As shown in figure 3, the data transmission method may include following several steps
It is rapid:
Main TCP link establishment phase:
Step 101, client send the main TCP request for establishing main TCP link to the first initial server, which asks
Seek the key for carrying the MPTCP link where the main TCP link.
When needing to establish MPTCP link with destination server request, which needs first to destination service client
The main TCP link in MPTCP link is established in device request.Illustratively, which can be SYN message, which takes
With MP_CAPABLE field, the MP_CAPABLE field is for indicating that the client supports MPTCP connection, and the MP_
The key of the MPTCP link generated in CAPABLE field comprising client.The key can be used for identifying the MPTCP link.
It should be noted that due in data transmission system client and initial server communicated by relay device foundation
Connection, therefore, it may include: that client is set by transfer that client, which sends the process that main TCP is requested to the first initial server,
It is standby to send main TCP request to the first initial server.Wherein, which is any in multiple initial servers
One.The relay device can be based on forwarding algorithm after receiving the main TCP request of client transmission, determine that first is initial
Then the main TCP request is distributed to the first initial server by server.Illustratively, which can be based on five yuan
Group carries out the algorithm of Hash operation, or is also possible to be randomly assigned algorithm.
Step 102, the first initial server determine the first object server in multiple destination servers.
The determination process of the first object server may include: that the first initial server is based on dispatching algorithm, and determining should
Main TCP requests the first initial server being forwarded.Illustratively, which, which can be, carries out Hash operation based on five-tuple
Algorithm, or be also possible to be randomly assigned algorithm.
Step 103, the first initial server establish the key of MPTCP link and the corresponding relationship of first object server.
First initial server can establish the key carried in main TCP request after determining first object server
With the corresponding relationship of the first object server of above-mentioned determination, so that subsequent first initial server is carried what is received
The TCP of same key is requested, and is forwarded to the first object server.
Illustratively, the first initial server can record MPTCP link by key-destination server forwarding-table item
Key and first object server corresponding relationship.Optionally, which can also record what main TCP request carried
The key of MPTCP link and the corresponding relationship of five-tuple.Wherein, which can be first object server
IP address.For example, the forwarding-table item can be as described in Table 1.
Table 1
Five-tuple | Key | First object server |
Five-tuple 1 | Key 1 | Destination server 1 |
As shown in table 1, the key of the corresponding MPTCP link of five-tuple 1 is key 1, the key of MPTCP link corresponding the
One destination server is destination server 1.
It should be noted that only having recorded the close of the MPTCP link that a main TCP request carries in above-mentioned forwarding-table item
The corresponding relationship of key and five-tuple and first object server.It, should when the first initial server forwards next main TCP request
Forwarding-table item will record the corresponding five-tuple of key and destination server for the MPTCP that next main TCP request carries again.
Main TCP request is forwarded to first object server by step 104, the first initial server, which carries
There is the address of the first initial server.
The process that main TCP request is forwarded to first object server be may include: first initial by the first initial server
Server is first handled main TCP request, so that treated, main TCP request carries the address of the first initial server.
Then, first initial server is to the main TCP request that sends that treated of first object server.
Wherein, TCP request is carried out processing by the first initial server may is that the first initial server is first initial by this
The address of server is written in the main TCP request.Illustratively, which may include session initiation protocol
Main TCP request is forwarded at the beginning of first by (sessioninitiation protocol, SIP) information, the SIP information for recording
The address of the equipment of beginning server, the first initial server can ask the main TCP when handling the main TCP request
Middle SIP information is asked to be rewritten as the address of first initial server.Illustratively, the address of first initial server can be IP
The address of address, certain first initial server may be media access control (media access control, MAC)
Address, the embodiment of the present application are not construed as limiting this.
Step 105, first object server obtain the address for the first initial server that main TCP request carries.
It illustratively, can be from the master after the main TCP that first object server receives the forwarding of the first initial server is requested
In the SIP information of TCP request, the IP address of the first initial server is obtained.
The mark of step 106, first object server address and multiple initial servers based on the first initial server
Know the corresponding relationship with address, determines the mark of the first initial server.
Multiple destination servers can be each equipped with the corresponding relationship of the address of the mark of multiple initial servers, the first mesh
Mark server is receiving main TCP request, and behind the address of determining first initial server, can search in the corresponding relationship
The mark of corresponding first initial server in the address of first initial server.Illustratively, the mark of initial server can be with
It is proved (user identification, UID) for the user identity of initial server, which can be the number of any size
According to for example, the data of 8 bits (bit).
Optionally, configuration file has been can store on each destination server, which can be used for recording above-mentioned
The UID of multiple LB servers and the corresponding relationship of IP address.For example, the content of the configuration file can be as described in Table 2.Its
In, the corresponding IP address of UID (00000001) is 1.75.2.128;The corresponding IP address of UID (00000010) is
1.75.2.127;The corresponding IP address of UID (00000011) is 1.75.2.126;The corresponding IP address of UID (00000100) is
1.75.2.125。
Table 2
UID | IP address |
00000001 | 1.75.2.128 |
00000010 | 1.75.2.127 |
00000011 | 1.75.2.126 |
00000100 | 1.75.2.125 |
It should be noted that only having recorded the corresponding relationship of 4 couples of UID and IP address in above-mentioned configuration file.The application is real
Example is applied not limit the logarithm of the corresponding relationship recorded in the configuration file.
Step 107, first object server send the response that main TCP is requested to client, which accordingly takes
Mark with the first initial server.
First object server needs to send the response of main TCP request to client after receiving main TCP request, and
And the instruction information for needing to request to send the first initial server to main TCP.It is initial for first with the instruction information in step 107
For the mark of server, optionally, which can not also be the mark, but to indicate first initial server
Mark information, the embodiment of the present application is not construed as limiting this.
Optionally, the instruction information of the first initial server is carried with first object server in the embodiment of the present invention
For in the response of main TCP request, naturally it is also possible to be first object server sent respectively to client do not carry it is above-mentioned
Indicate corresponding and instruction information of the main TCP request of information.Wherein, when the response of main TCP request carries instruction information
When, the response of the main TCP request can be SYN ACK message, carry MP_CAPABLE field in the SYN ACK message, should
MP_CAPABLE field is for indicating that the server supports MPTCP link.First object server passes through in the SYN ACK message
The payload (payload) of MP_CAPABLE field carries the instruction information to client.Also, due to the relevant technologies
In, destination server will send SYN ACK message to client after receiving main TCP request (that is to say SYN message),
Therefore, the instruction information that the first initial server is carried by the SYN ACK message, without individually carrying out the hair of the instruction information
It send, saves network bandwidth, improve the compatibility of the data transmission method.
It should be noted that after client receives the response of main TCP request of first object server transmission, visitor
Family end can send the confirmation message of the response of the main TCP request to first object server, which can report for ACK
Text.So far, the main TCP link establishment in the MPTCP connection is completed.
Secondary TCP link establishment phase:
Step 108, client are asked according to instruction information to the secondary TCP that the second initial server sends foundation time TCP link
It asks, carries the mark of the first initial server in the secondary TCP request, and be used to indicate the token of the key of MPTCP link
Information.
Wherein, the second initial server be multiple initial servers in any initial server, the secondary TCP link with it is upper
It states main TCP link and belongs to same MPTCP link.When above-mentioned instruction information is not the mark of the first initial server, correspondingly,
The instruction information for indicating first initial server is carried in the secondary TCP request, the instruction information is simultaneously non-identifying.
In the embodiment of the present application, client can refer to above-mentioned to the process that the second initial server sends secondary TCP request
Client sends the process that main TCP is requested to the first initial server.Illustratively, which can be SYN message, should
MP_JOIN field and token field are carried in SYN message.Wherein, which can be token information, token word
Section can serve to indicate that the key of above-mentioned MPTCP link.The MP_JOIN field is used to indicate that the client to support MPTCP link,
And (Address ID) field is identified comprising address in the MP_JOIN field.Client can be by above-mentioned first initial server
Instruction information fill to the Address id field so that carrying the finger of the first initial server in secondary TCP request
Show information.
In the related technology, the filling of Address id field is the client in the MP_JOIN field that SYN message carries
IP address, but since the SYN message that client is sent would generally pass through multiple network address translation (NAT), and passing through every time
After crossing network address translation, the IP address filled in the Address id field will be varied so that the Address ID word
The information of section can not accurately indicate the IP address of client, cause the Address id field invalid.Therefore, the embodiment of the present application
The middle mark for being multiplexed the Address id field and carrying the first initial server, can't impact original SYN message,
And it can be improved the utilization rate of SYN message.
Step 109, the second initial server first initial service indicated by the instruction information carried with secondary TCP request
When device difference, secondary TCP request is forwarded to the first initial server.
When the instruction information of the first initial server includes the mark of the first initial server, the second initial server exists
After receiving time TCP request, the mark of first initial server carried in the secondary TCP request is obtained.Later, second is initial
Server need to judge the mark and the second initial server identify whether it is identical, to judge second initial server and the
Whether one initial server is identical.When the second initial server determines it with the first initial server difference, this is second initial
The secondary TCP request can be forwarded to the first initial server by server.The second initial server will be asked the secondary TCP below
The process for being forwarded to the first initial server is asked to be illustrated.
It should be noted that can store the mark (for example, UID) of multiple initial servers in each initial server
With the corresponding relationship of address (for example, IP address).For example, can store a configuration file in each initial server, this is matched
Setting file can be used for recording the mark of multiple initial servers and the corresponding relationship of address.Above-mentioned secondary TCP request can carry
There is the mark of the first LB server.Second initial server can obtain the first initial server that time TCP request carries first
Mark, for example, the second initial server can be from mentioning in Address id field in the SYN message that carry in secondary TCP request
Take the mark of the first initial server.Later, the second initial server can be based on the mark of the first initial server, Yi Jiduo
The mark of a initial server and the corresponding relationship of address, determine the address of the first initial server.Finally, the second initial service
Secondary TCP request can be sent to the first initial server based on the address of the first initial server by device.
Secondary TCP request is forwarded to first object server by step 110, the first initial server.
First initial server is in the secondary TCP for receiving any initial server (such as above-mentioned second initial server) transmission
After request, the token information that the secondary TCP request received carries can be obtained first, the token information is then based on and determines
The key of MPTCP link.Later, the first initial server based on the key inquire aforementioned foundation MPTCP link key and
The corresponding relationship of first object server, and then determine the corresponding first object server of the key.Finally, the first initial service
The secondary TCP request is forwarded to the first object server by device.
Illustratively, the first initial server can request token field in the SYN message carried to determine based on secondary TCP
The key of MPTCP link, and then the forwarding-table item previously established is inquired according to the key, to determine corresponding with the key first
Then the secondary TCP request is forwarded to determining first object server according to the first object server by destination server.
It should be noted that not being with the second initial server and the first initial server with data transmission system in Fig. 3
It is illustrated for same equipment, at the beginning of the second initial server and time TCP request first indicated by the instruction information carried
When beginning server is identical, secondary TCP request directly can be forwarded to first object server by the second initial server.Also, it should
The process that secondary TCP request is forwarded to first object server by the second initial server is identical as above-mentioned steps 110, and the application is real
Applying example, this will not be repeated here.
Step 111, first object server are based on receiving time TCP request, send the sound that time TCP is requested to client
It answers.
Wherein, the response of the secondary TCP request can not carry the mark of the first initial server.The secondary TCP request
Response can be SYN ACK message, carry MP_JOIN field in the SYN ACK message.
It should be noted that after step 111, client can be based on the response of the secondary TCP request received, to the
One destination server sends the first confirmation message, which can be ACK message.First object server is receiving
To after the first confirmation message, the second confirmation message is sent to client, which can be ACK message.This first
The ACK message that destination server is sent to client is the ACK message of TCP standard.So far, which completes.
It should also be noted that, data transmission method shown in Fig. 3 can be used for data transmission system shown in Fig. 2.
At this point, first object server determines the first back-end server, and in the first object server after above-mentioned steps 107
Store the key for the MPTCP link that the main TCP request carries and the relationship of the first back-end server.First object server is based on
The corresponding relationship sends main TCP request to the first back-end server.First back-end server is getting the main TCP request
Afterwards, the response that TCP request is sent to client is requested based on the main TCP.Client is receiving the first back-end server hair
After the main TCP request sent, step 108 is continued to execute to step 110.It, should after first object server receives time TCP request
Key and above-mentioned corresponding relationship of the first object server based on the MPTCP link carried in secondary TCP request, which is asked
It asks and is forwarded to the first back-end server.First back-end server sends the secondary TCP to client after receiving the secondary TCP request
The response of request.Wherein, the mark of the first initial server can individually be sent to client by first object server, can also
To be sent to the first back-end server by first object server, then client is individually sent to by the first back-end server, also
It can carry in the response that the first back-end server is requested to the main TCP that client is sent, by first back-end server
It is sent to client.Optionally, application layer content information is also carried in main TCP request, first object server can basis
The application layer content information carried in the main TCP request, determines the first back-end server based on selection algorithm, first rear end clothes
Device be engaged in as any one in multiple back-end servers.
In conclusion data transmission method provided in an embodiment of the present invention, since first object server is sent out to client
The instruction information of the first initial server of main TCP chain road is sent, therefore, client can carry this in secondary TCP request and refer to
Show information, so that the second initial server after receiving the secondary TCP request, can request the secondary TCP based on instruction information
It is forwarded to the first initial server, so that secondary TCP request is forwarded to by first initial server receives what main TCP was requested
Server.The destination server of the destination server and time TCP chain road that ensure that main TCP chain road is same destination service
Device, and then ensure that the foundation of MPTCP link, realize the load balancing under MPTCP link.
Further, since the instruction information of the first initial server can be carried at having for MPTCP in the related technology
It closes in message, therefore, which meets (request for comments, the RFC) specification that requests for comments, and avoids
The protocol stack for influencing other equipment handles the MPTCP data transmitted, compatibility with higher.
For the ease of reader's understanding, the embodiment of the present application, which is directed to, passes data using the data transmission system of four layers of LB technology
Transmission method is illustrated.
It is assumed that client includes a LTE network port and a WIFI network port, and is somebody's turn to do in data transmission system
Client has 2 two different IP address of IP address 1 and IP address.Relay device is gateway.Initial server is LB equipment,
Multiple initial servers include LB equipment 1 (also known as LB node 1), LB equipment 2 and LB equipment 3.The UID of the LB equipment 1 is
00000001, IP address 1.75.2.128;The UID of LB equipment 2 is 00000010, IP address 1.75.2.127;LB equipment 3
UID be 00000011, IP address 1.75.2.126.Multiple destination servers include RS1, RS2 and RS3.
As shown in figure 4, client, when establishing MPTCP link with destination server, client passes through IP address 1 and LTE
The network port sends main TCP request to gateway, and the key 1 of the MPTCP where the main TCP link is carried in the main TCP request.
The main TCP request is distributed to LB equipment 2 after receiving the main TCP request, based on forwarding algorithm by gateway.LB equipment 2 is connecing
After receiving the main TCP request, LB equipment 2 establishes forwarding-table item as shown in Table 1 above, and SIP in the main TCP request is believed
Breath content is rewritten as its IP address 1.75.2.127, and the main TCP is requested the RS1 being forwarded to based on dispatching algorithm.
After RS1 receives main TCP request, the IP address 1.75.2.127 based on the main TCP request LB equipment 2.So
Afterwards, which inquires configuration file as shown in Table 2 above based on the IP address, determines that the UID of the LB equipment 2 is 00000010.
Then RS1 is sent to client carries the response that the main TCP of the UID of LB equipment 2 is requested, and the response of the main TCP request carries
The UID of the LB equipment 2.Client completes the foundation of main TCP link based on this.
After client and destination server establish TCP primary link, client can establish time TCP with the destination server
The process of link, the foundation time TCP link is similar to the above-mentioned process for establishing main TCP link.Client passes through gateway for secondary TCP
Request is forwarded to LB equipment 3, in the secondary TCP request, carries the UID of LB equipment 2.When LB equipment 3 receives the secondary TCP request
Afterwards, the UID carried in the secondary TCP request is obtained, and the UID of the UID and LB equipment 3 is compared.Due to the two not phase
Together, therefore, LB equipment 3 determines that the corresponding IP address of the UID is 1.75.2.127 based on the UID obtained from secondary TCP request,
And the secondary TCP request is forwarded to 1.75.2.127, it that is to say and be forwarded to LB equipment 2.LB equipment 2 is asked receiving the secondary TCP
After asking, which is forwarded to above-mentioned RS1.Client completes time foundation of TCP link based on this.
Data transmission method provided in an embodiment of the present invention, due to the UID of the RS1 LB equipment 2 sent to client, client
End can carry the UID in secondary TCP request, so that LB equipment 3 is after receiving the secondary TCP request, can be based on the UID will
The secondary TCP request is forwarded to LB equipment 2, so that secondary TCP request is forwarded to RS1 by the LB equipment 2, forms MPTCP chain
Road realizes the load balancing under MPTCP link.
Further, the embodiment of the present application be directed to using seven layers of LB technology data transmission system to data transmission method into
Row illustrates.
It is assumed that client and initial server are passed with the data of four layers of LB technology of above-mentioned application in data transmission system
Client is consistent with initial server in defeated system.Destination server is LB7 equipment, and multiple destination servers include LB7 equipment
1, LB7 equipment 2 and LB7 equipment 3.Multiple back-end servers include RS1, RS2 and RS3.
As shown in figure 5, main TCP is requested (and secondary TCP is requested) to set by multiple by client in the data transmission system
The standby process for being forwarded to LB7 equipment 1 can be with reference in above-mentioned several transmission methods, and main TCP is requested (and secondary TCP is requested) by client
The process of RS1 is forwarded to by multiple equipment, the embodiment of the present application does not repeat them here this.
After LB7 equipment 1 receives main TCP request, LB7 equipment 1 not only sends the UID of LB equipment 2 to client, goes back base
The main TCP request is sent to RS2 in forwarding algorithm.RS2 sends the main TCP to client after receiving the main TCP request
The response of request.Client completes the foundation of main TCP link based on this.
After LB7 equipment 1, which receives time TCP, requests, LB7 equipment 1 may not need to client and send what the secondary TCP was requested
Response, but the secondary TCP request is sent to by RS2 based on forwarding algorithm.RS2 is after receiving the secondary TCP request, to client
Send the response of the secondary TCP request.Client completes time foundation of TCP link based on this.
Data transmission method provided in an embodiment of the present invention, the LB equipment 2 sent to client due to LB7 equipment 1
UID, client can carry the UID in secondary TCP request, so that LB equipment 3 is after receiving secondary TCP request, it can be with base
The secondary TCP request is forwarded to LB equipment 2 in the UID, so that secondary TCP request is forwarded to LB7 equipment 1 by the LB equipment 2,
So that the secondary TCP request is forwarded to the RS2 with main TCP chain road by the LB7 equipment 1, MPTCP link is formd, is realized
Load balancing under MPTCP link.
It should be noted that aforesaid plurality of initial server may be constructed LB cluster.The operating mode of the LB cluster can be with
Belong to main holotype, also may belong to active-standby mode.The main holotype refers to that in LB cluster, each initial server is equal
The TCP received can be requested to be forwarded to destination server.The active-standby mode refers to the initial server in LB cluster
It is divided as main initial server and standby initial server, wherein the TCP received can be requested to forward by main initial server
To destination server, and standby initial server is in general, can not request the TCP received be forwarded to destination service
Device.
In the related technology, in the case where the operating mode of above-mentioned LB cluster may belong to main holotype, before solving
The destination server determined when establishing main TCP link is stated, it may be simultaneously with the destination server determined when establishing secondary TCP link
Different problem.During establishing main connection, any initial server is determining that main TCP asks in multiple initial servers
It, can be by the corresponding relationship for the key and the destination server that the main TCP request carries after seeking be forwarded destination server
Additional synchronization is sent to each initial server in the LB cluster.At this point, during establishing secondary connection, any initial service
After device receives time TCP request, main TCP request quilt can be determined based on the key and the corresponding relationship carried in secondary TCP request
The destination server being forwarded to.So that the destination server determined when establishing main TCP link, and time TCP chain is being established
The destination server determined when road is identical.But the technical difficulty of synchronizing information additional between LB cluster is larger, leads to LB cluster
The realization difficulty to work under main holotype is larger.
And in data transmission method provided in an embodiment of the present invention, since in LB cluster, each initial server can root
According to the mark of the initial server of the main TCP chain road carried in secondary TCP request, which is forwarded to the main TCP chain
The initial server of road, so that all TCP request is forwarded to destination server by the same initial server.Cause
This reduces the realization difficulty that LB cluster works under main holotype, realizes without synchronizing information additional between LB cluster
Load balancing of the LB cluster under main holotype in MPTCP scene.
Further, when due to the operating mode of LB cluster under active-standby mode, main initial server can also pass through this
Apply for data transmission method described in embodiment, which is forwarded to the initial server of the main TCP chain road, from
And all TCP request is made to be forwarded to destination server by the same initial server, therefore, the embodiment of the present application can also be with
Apply load balancing of the LB cluster under active-standby mode in MPTCP scene.
Following is the application Installation practice, can be used for executing the application embodiment of the method.It is real for the application device
Undisclosed details in example is applied, the application embodiment of the method is please referred to.
The embodiment of the present application provides a kind of data transmission device, for the client in data transmission system, data transmission
System further include: multiple initial servers and multiple destination servers, as shown in fig. 6, data transmission device 200 includes: first
Receiving module 201, sending module 202 and the second receiving module 203.
First receiving module 201, for receive first object server in multiple destination servers send it is multiple initial
The instruction information of first initial server in server, wherein first object server and the first initial server are respectively positioned on visitor
The main transmission control protocol TCP chain road that family end is established;
Sending module 202 establishes time secondary TCP of TCP link for sending according to instruction information to the second initial server
Request, wherein the second initial server is any initial server in multiple initial servers, secondary TCP link and main TCP chain
Road belongs to same multi-path transmission control protocol MPTCP link, carries instruction information in secondary TCP request;
Second receiving module 203, the response of the secondary TCP request for receiving the transmission of first object server.
Optionally, as shown in fig. 7, data transmission device 200 further include: main request module 204 is sent, for more in reception
In a destination server first object server send multiple initial servers in the first initial server instruction information it
Before, the main TCP request for establishing main TCP link is sent to the first initial server.
First receiving device 201, is also used to: receiving the response for the main TCP request that first object server is sent, main TCP
The response of request carries instruction information.
Optionally, data transmission system further includes relay device.
Main request module 204 is sent, is also used to: main TCP being sent to the first initial server by relay device and is requested.
Sending module 202, is also used to: according to instruction information by relay device, sending time TCP to the second initial server
Request.
The embodiment of the present application provides a kind of data transmission device, and the data transmission device is for the in data transmission system
Three initial servers, data transmission system include that client, multiple initial servers and multiple destination servers, third initially take
Device be engaged in for any initial server in multiple initial servers, as shown in figure 8, data transmission device 300 includes: receiving module
301 and forwarding module 302.
Receiving module 301, the secondary TCP request of the foundation time TCP link for receiving other equipment transmission, wherein other
Equipment includes: any server in client or multiple initial servers in addition to third initial server, in secondary TCP request
Instruction information is carried, and indicates that information is used to indicate and is located at the main TCP chain road that client is established in multiple initial servers
Initial server, secondary TCP link and main TCP link belong to same multi-path transmission control protocol MPTCP link;
Forwarding module 302 will when for the initial server difference indicated by third initial server and instruction information
Secondary TCP request is forwarded to initial server indicated by instruction information.
Optionally, as shown in figure 9, data transmission device 300 further include: time request module 303 is forwarded, at the beginning of third
When beginning server is identical as initial server indicated by instruction information, secondary TCP request is forwarded to first object server, the
One destination server is the destination server for being located at main TCP chain road in multiple destination servers.
Optionally, with continued reference to FIG. 9, data transmission device 300 further include: receive main request module 304 and forwarding master
Request module 305.
Main request module 304 is received, for requesting it in the secondary TCP for receiving the foundation time TCP link that other equipment are sent
Before, the main TCP request for establishing main TCP link that client is sent is received, indicates that initial server indicated by information is third
Initial server;
Main request module 305 is forwarded, for main TCP request to be forwarded to first object server.
Optionally, instruction information includes the mark of third initial server, and multiple destination servers are each equipped with multiple first
The mark of beginning server and the corresponding relationship of address.Main request module 305 is forwarded, is also used to request to handle by main TCP, with
Making treated, main TCP request carries the address of third initial server;And treated to the transmission of first object server
Main TCP request.
Optionally, instruction information carries the mark of the initial server of its instruction, and multiple initial servers are each equipped with
The mark of multiple initial servers and the corresponding relationship of address.Forwarding module 302 is also used to obtain the initial of instruction information carrying
The mark of server;The mark of mark and multiple initial servers based on the initial server got and pair of address
It should be related to, determine the address of initial server indicated by instruction information;Based on initial server indicated by instruction information
Secondary TCP request is sent to initial server indicated by instruction information by address.
Optionally, main TCP request carries the key of MPTCP, and secondary TCP request carries the token letter for being used to indicate key
Breath.As shown in figure 9, data transmission device 300 further include: establish module 306 and searching module 307.
Establish module 306, for third initial server by main TCP request be forwarded to first object server before,
Establish the corresponding relationship of key and first object server;
Searching module 307, for third initial server by secondary TCP request be forwarded to first object server before,
In the corresponding relationship of key and first object server, the clothes of first object corresponding to key indicated by token information are searched
Business device.
Optionally, data transmission system further includes relay device.Main request module 304 is received, is also used to set by transfer
The standby main TCP request for receiving client and sending.
Receiving module 301 is also used to receive building for client transmission by relay device when other equipment are client
The secondary TCP request of vertical TCP link.
Optionally, secondary TCP request includes address label character learning section, and address identification field carries above-mentioned instruction information.
The application provides a kind of data transmission device, the first object server being used in data transmission system, data
Transmission system includes client, multiple initial servers and multiple destination servers, and first object server is multiple targets clothes
It is engaged in being located at the server for the main TCP chain road that client is established in device, as shown in Figure 10, data transmission device 500 includes: first
Sending module 501, receiving module 502 and the second sending module 503.
First sending module 501, for sending the instruction information of the first initial server to client, wherein at the beginning of first
Beginning server are as follows: be located at the initial server of main TCP chain road in multiple initial servers;
Receiving module 502, the secondary TCP request of the foundation time TCP link for receiving the transmission of the first initial server are secondary
TCP link and main TCP link belong to same multi-path transmission control protocol MPTCP link;
Second sending module 503, for sending the response that time TCP is requested to client based on time TCP request.
Optionally, as shown in figure 11, data transmission device 500 further include: main request module 504 is received, for visitor
Before family end sends the instruction information of the first initial server, what the first initial server of reception forwarded establishes main TCP link
Main TCP request.
First sending module 501, is also used to: first object server sends the response that main TCP is requested to client, main
The response of TCP request carries instruction information.
Optionally, instruction information includes the mark of the first initial server, and multiple destination servers are each equipped with multiple first
The mark of beginning server and the corresponding relationship of address.Data transmission device 500 further include: obtain module 505 and determining module
506。
Module 505 is obtained, for obtaining main TCP before the instruction information for sending the first initial server to client
Request the address of the first initial server carried;
Determining module 506, mark and ground for address and multiple initial servers based on the first initial server
The corresponding relationship of location determines the mark of the first initial server.
The embodiment of the present application provides a kind of data transmission system, and as shown in the figures 1 and 2, data transmission system includes client
End, multiple initial servers and multiple destination servers,
First object server is used to send the instruction information of the first initial server to client, wherein first is initial
Server and first object server are respectively positioned on the main transmission control protocol TCP chain road of client foundation.
Client is used to send the secondary TCP for establishing secondary TCP link to the second initial server according to instruction information and requests,
In, the second initial server is any initial server in multiple initial servers, and secondary TCP link belongs to main TCP link
Same multi-path transmission control protocol MPTCP link carries instruction information in secondary TCP request.
Second initial server is used to ask secondary TCP when with the first initial server difference indicated by instruction information
It asks and is forwarded to the first initial server.
First initial server is used to secondary TCP request being forwarded to first object server.
First object server is used to send the response that time TCP is requested to client based on time TCP request is received.
Optionally, the second initial server is used for when identical as the first initial server indicated by instruction information, will
Secondary TCP request is forwarded to first object server.
Optionally, client is used to send the instruction information of the first initial server to client in first object server
Before, the main TCP request for establishing main TCP link is sent to the first initial server.
First initial server is used to main TCP request being forwarded to first object server.
First object server is used to send the response that main TCP is requested to client, and the response of main TCP request carries finger
Show information.
Optionally, instruction information includes the mark of the first initial server, and multiple destination servers are each equipped with multiple first
The mark of beginning server and the corresponding relationship of address.
First initial server is used to handle main TCP request, so that treated, main TCP request carries first
The address of initial server.
First initial server is used to send treated main TCP request to first object server.
First object server is used to send the instruction letter of the first initial server to client in first object server
Before breath, for obtaining the address for the first initial server that main TCP request carries.
First object server for address and multiple initial servers based on the first initial server mark and
The corresponding relationship of address determines the mark of the first initial server.
Optionally, instruction information includes the mark of the first initial server, and multiple initial servers are each equipped with multiple first
The mark of beginning server and the corresponding relationship of address.
Second initial server is used to obtain the mark for the first initial server that time TCP request carries.
Second initial server for mark and multiple initial servers based on the first initial server mark and
The corresponding relationship of address determines the address of the first initial server.
Second initial server is used for the address based on the first initial server, and it is initial that secondary TCP request is sent to first
Server.
Optionally, the address of initial server 130 includes internet protocol address.
Optionally, secondary TCP request includes address label character learning section, and address identification field carries the finger of the first initial server
Show information.
Optionally, main TCP request carries the key of MPTCP, and secondary TCP request carries the token letter for being used to indicate key
Breath.
First initial server is used before main TCP request is forwarded to first object server by the first initial server
In the corresponding relationship for establishing key and first object server.
First initial server be used for the first initial server by secondary TCP request be forwarded to first object server it
Before, in the corresponding relationship of key and first object server, search the first mesh corresponding to key indicated by token information
Mark server.
Optionally, data transmission system further include: relay device.
Client is used to send main TCP request to the first initial server by relay device.
Client is used to according to instruction information send time TCP request to the second initial server by relay device.
The embodiment of the invention also provides a kind of computer readable storage medium, stored in the computer readable storage medium
There is instruction, when the instruction is run on computers, so that computer executes data transmission method provided in an embodiment of the present invention
The step of middle client executing.For example, step 101 and step 108 in embodiment shown in Fig. 3.
It is executed alternatively, computer is made to execute the first initial server in data transmission method provided in an embodiment of the present invention
The step of.For example, step 102 in embodiment shown in Fig. 3 is to step 104 and step 110.
It is executed alternatively, computer is made to execute the second initial server in data transmission method provided in an embodiment of the present invention
The step of.For example, the step 109 in embodiment shown in Fig. 3.
It is executed alternatively, computer is made to execute first object server in data transmission method provided in an embodiment of the present invention
The step of.For example, step 105 in embodiment shown in Fig. 3 is to step 107 and step 111.
The embodiment of the invention also provides a kind of computer program products comprising instruction, when the computer program product exists
When being run on computer, so that the step of computer executes client executing in above method embodiment.For example, step 101 and
Step 108.
It is executed alternatively, computer is made to execute the first initial server in data transmission method provided in an embodiment of the present invention
The step of.For example, step 102 in embodiment shown in Fig. 3 is to step 104 and step 110.
It is executed alternatively, computer is made to execute the second initial server in data transmission method provided in an embodiment of the present invention
The step of.For example, the step 109 in embodiment shown in Fig. 3.
It is executed alternatively, computer is made to execute first object server in data transmission method provided in an embodiment of the present invention
The step of.For example, step 105 in embodiment shown in Fig. 3 is to step 107 and step 111.
The embodiment of the present application provides a kind of chip, which includes programmable logic circuit and/or program instruction, works as chip
For realizing in above method embodiment the step of client executing when operation.For example, step 101 and step 108.
It is executed alternatively, computer is made to execute the first initial server in data transmission method provided in an embodiment of the present invention
The step of.For example, step 102 in embodiment shown in Fig. 3 is to step 104 and step 110.
It is executed alternatively, computer is made to execute the second initial server in data transmission method provided in an embodiment of the present invention
The step of.For example, the step 109 in embodiment shown in Fig. 3.
It is executed alternatively, computer is made to execute first object server in data transmission method provided in an embodiment of the present invention
The step of.For example, step 105 in embodiment shown in Fig. 3 is to step 107 and step 111.
Those of ordinary skill in the art will appreciate that realizing that all or part of the steps of above-described embodiment can pass through hardware
It completes, relevant hardware can also be instructed to complete by program, the program can store in a kind of computer-readable
In storage medium, storage medium mentioned above can be read-only memory, disk or CD etc..
In this application, term " first " and " second " are used for description purposes only, and are not understood to indicate or imply phase
To importance.Term " multiple " refers to two or more, unless otherwise restricted clearly.
Those of ordinary skill in the art may be aware that each method in conjunction with described in the embodiments described herein walks
Rapid and unit, can be realized with electronic hardware, computer software, or a combination of the two, in order to clearly demonstrate hardware and soft
The interchangeability of part, the step of according to function having generally described each embodiment in the above description and composition.These
Function is implemented in hardware or software actually, the specific application and design constraint depending on technical solution.Ability
Domain those of ordinary skill can use different methods to achieve the described function each specific application, but this reality
Now it is not considered that exceeding scope of the present application.
It is apparent to those skilled in the art that for convenience of description and succinctly, foregoing description is
The specific work process of system, device and module, may refer to the corresponding process in preceding method embodiment, details are not described herein.
In several embodiments provided herein, it should be understood that disclosed server, device and method, it can
To realize by another way.For example, the apparatus embodiments described above are merely exemplary, for example, the module
Division, only a kind of logical function partition, there may be another division manner in actual implementation, such as multiple modules or group
Part can be combined or can be integrated into another system, or some features can be ignored or not executed.In addition, it is shown or
The mutual coupling or direct-coupling or network connection discussed can be through some interfaces, the indirect coupling of device or unit
It closes or is connected to the network, be also possible to electricity, mechanical or other forms connections.
It, can also be in addition, can integrate in a processing module in each functional module in each embodiment of the application
It is that modules physically exist alone, is also possible to two or more modules and is integrated in a module.It is above-mentioned integrated
Module both can take the form of hardware realization, can also be realized in the form of software function module.
If the integrated module is realized in the form of software function module and sells or use as independent product
When, it can store in a computer readable storage medium.Based on this understanding, the technical solution of the application is substantially
The all or part of the part that contributes to existing technology or the technical solution can be in the form of software products in other words
It embodies, which is stored in a storage medium, including some instructions are used so that a computer
Equipment (can be personal computer, server or the network equipment etc.) executes the complete of each embodiment the method for the application
Portion or part steps.And storage medium above-mentioned include: USB flash disk, mobile hard disk, read-only memory (read-only memory,
ROM), random access memory (random access memory, RAM), magnetic or disk etc. are various can store program
The medium of code.
The above, the only specific embodiment of the application, but the protection scope of the application is not limited thereto, it is any
Those familiar with the art within the technical scope of the present application, can readily occur in various equivalent modifications or replace
It changes, these modifications or substitutions should all cover within the scope of protection of this application.Therefore, the protection scope of the application should be with right
It is required that protection scope subject to.
Claims (25)
1. a kind of data transmission method, which is characterized in that be applied to data transmission system, the data transmission system includes client
End, multiple initial servers and multiple destination servers, which comprises
First object server sends the instruction information of the first initial server to the client, wherein described first is initial
Server and the first object server are respectively positioned on the main transmission control protocol TCP chain road that the client is established, described
First initial server is any initial server in the multiple initial server;
The client sends the secondary TCP request for establishing time TCP link according to the instruction information to the second initial server,
In, second initial server is any initial server in the multiple initial server, the secondary TCP link and master
TCP link belongs to same multi-path transmission control protocol MPTCP link, carries the instruction information in the secondary TCP request;
Second initial server, will be described when with the first initial server difference indicated by the instruction information
Secondary TCP request is forwarded to first initial server;
The secondary TCP request is forwarded to the first object server by first initial server;
The first object server sends the secondary TCP request based on the secondary TCP request received, Xiang Suoshu client
Response.
2. the method according to claim 1, wherein the method also includes:
Second initial server, will be described when identical as first initial server indicated by the instruction information
Secondary TCP request is forwarded to the first object server.
3. method according to claim 1 or 2, which is characterized in that in the first object server to the client
Before sending the instruction information of the first initial server, the method also includes:
The client sends the main TCP request for establishing the main TCP link to first initial server;
The main TCP request is forwarded to the first object server by first initial server;
The first object server sends the instruction information of the first initial server to the client, comprising:
The first object server sends the response that the main TCP is requested, the response of the main TCP request to the client
Carry the instruction information.
4. according to the method described in claim 3, it is characterized in that, the instruction information includes first initial server
Mark, the multiple destination server are each equipped with the mark of the multiple initial server and the corresponding relationship of address;
The main TCP request is forwarded to the first object server by first initial server, comprising:
First initial server handles the main TCP request, so that treated, the main TCP request is carried
The address of first initial server;
First initial server is to the first object server main TCP request that sends that treated;
Before the first object server sends the instruction information of the first initial server to the client, the method
Further include:
The first object server obtains the address for first initial server that the main TCP request carries;
The mark of address and the multiple initial server of the first object server based on first initial server
Know the corresponding relationship with address, determines the mark of first initial server.
5. the method according to claim 3 or 4, which is characterized in that the instruction information includes first initial service
The mark of device, the multiple initial server are each equipped with the mark of the multiple initial server and the corresponding relationship of address;
Second initial server, will be described when with the first initial server difference indicated by the instruction information
Secondary TCP request is forwarded to first initial server, comprising:
Second initial server obtains the mark for first initial server that the secondary TCP request carries;
The mark of mark and the multiple initial server of second initial server based on first initial server
Know the corresponding relationship with address, determines the address of first initial server;
The secondary TCP request is sent to described by address of second initial server based on first initial server
First initial server.
6. method according to claim 4 or 5, which is characterized in that the address of the initial server includes internet protocol
Discuss IP address.
7. according to any method of claim 3 to 6, which is characterized in that the main TCP request carries the MPTCP
Key, the secondary TCP request carries the token information for being used to indicate the key, the method also includes:
Before the main TCP request is forwarded to the first object server by first initial server, described first
Initial server establishes the corresponding relationship of the key and the first object server;
Before the secondary TCP request is forwarded to the first object server by first initial server, described first
Initial server is searched indicated by the token information in the corresponding relationship of the key and the first object server
The first object server corresponding to the key.
8. according to any method of claim 3 to 7, which is characterized in that the data transmission system further includes that transfer is set
It is standby;
The client sends main TCP request to first initial server, comprising: the client is set by the transfer
It is standby to send the main TCP request to first initial server;
The client sends time TCP request to the second initial server according to the instruction information, comprising: the client root
According to the instruction information by the relay device, time TCP request is sent to the second initial server.
9. method according to any one of claims 1 to 8, which is characterized in that the secondary TCP request includes that address label is become literate
Section, the address identification field carry the instruction information of first initial server.
10. a kind of data transmission method, which is characterized in that for the client in data transmission system, the data transmission system
System further include: multiple initial servers and multiple destination servers, which comprises
Client receives at the beginning of first in multiple initial servers that first object server is sent in the multiple destination server
The instruction information of beginning server, wherein the first object server and first initial server are respectively positioned on the client
Hold the main transmission control protocol TCP chain road established;
The client sends the secondary TCP request for establishing time TCP link according to the instruction information to the second initial server,
In, second initial server is any initial server in the multiple initial server, the secondary TCP link and master
TCP link belongs to same multi-path transmission control protocol MPTCP link, carries the instruction information in the secondary TCP request;
The client receives the response for the secondary TCP request that the first object server is sent.
11. a kind of data transmission method, which is characterized in that for the third initial server in data transmission system, the number
It include client, multiple initial servers and multiple destination servers according to Transmission system, the third initial server is described
Any initial server in multiple initial servers, which comprises
Secondary TCP that the third initial server receives the foundation time TCP link that other equipment are sent is requested, wherein it is described its
His equipment includes: any service in the client or the multiple initial server in addition to the third initial server
Device carries instruction information in the secondary TCP request, and the instruction information is used to indicate position in the multiple initial server
Initial server in the main TCP chain road that the client is established, the secondary TCP link and the main TCP link belong to together
One multi-path transmission control protocol MPTCP link;
The third initial server asks the secondary TCP when with initial server difference indicated by the instruction information
It asks and is forwarded to initial server indicated by the instruction information.
12. a kind of data transmission method, which is characterized in that for the first object server in data transmission system, the number
It include client, multiple initial servers and multiple destination servers according to Transmission system, the first object server is described
It is located at the server for the main TCP chain road that the client is established in multiple destination servers, which comprises
The first object server sends the instruction information of the first initial server to the client, wherein described first
Initial server are as follows: be located at the initial server of the main TCP chain road in multiple initial servers;
The first object server receives the secondary TCP request for the foundation time TCP link that first initial server is sent, institute
It states time TCP link and main TCP link belongs to same multi-path transmission control protocol MPTCP link;
The first object server is based on the secondary TCP request, and Xiang Suoshu client sends the response of the secondary TCP request.
13. a kind of data transmission system, which is characterized in that the data transmission system includes client, multiple initial servers
With multiple destination servers,
First object server is used to send the instruction information of the first initial server to the client, wherein described first
Initial server and the first object server are respectively positioned on the main transmission control protocol TCP chain road that the client is established,
First initial server is any initial server in the multiple initial server;
The client is used to send the secondary TCP for establishing secondary TCP link to the second initial server according to the instruction information and asks
It asks, wherein second initial server is any initial server in the multiple initial server, the secondary TCP chain
Lu Yuzhu TCP link belongs to same multi-path transmission control protocol MPTCP link, carries the finger in the secondary TCP request
Show information;
Second initial server is used for described first indicated by second initial server and the instruction information
When initial server difference, the secondary TCP request is forwarded to first initial server;
First initial server is used to the secondary TCP request being forwarded to the first object server;
The first object server is used for based on the secondary TCP request is received, and Xiang Suoshu client sends the secondary TCP and asks
The response asked.
14. system according to claim 13, which is characterized in that second initial server be used for the instruction
When first initial server indicated by information is identical, the secondary TCP request is forwarded to the first object server.
15. system described in 3 or 14 according to claim 1, which is characterized in that the client is used to take in the first object
Before business device sends the instruction information of the first initial server to the client, the first initial server of Xiang Suoshu, which is sent, to be established
The main TCP of the main TCP link is requested;
First initial server is used to the main TCP request being forwarded to the first object server;
The first object server is used to send the response that the main TCP is requested to the client, the main TCP request
Response carries the instruction information.
16. system according to claim 15, which is characterized in that the instruction information includes first initial server
Mark, the multiple destination server is each equipped with the mark of the multiple initial server and the corresponding relationship of address;
First initial server is used to handle the main TCP request, so that treated, the main TCP request is taken
Address with first initial server;
First initial server is used to send treated the main TCP request to the first object server;
The first object server is used to be used to send first to the client in the first object server and initially take
It is engaged in front of the instruction information of device, obtains the address for first initial server that the main TCP request carries;
The first object server is used for address and the multiple initial server based on first initial server
Mark and address corresponding relationship, determine the mark of first initial server.
17. system according to claim 15 or 16, which is characterized in that the instruction information includes the described first initial clothes
The mark of business device, the multiple initial server is each equipped with the mark of the multiple initial server and the corresponding of address is closed
System;
Second initial server is used to obtain the mark for first initial server that the secondary TCP request carries;
Second initial server is used for mark and the multiple initial server based on first initial server
Mark and address corresponding relationship, determine the address of first initial server;
Second initial server is used for the address based on first initial server, and the secondary TCP request is sent to
First initial server.
18. system according to claim 16 or 17, which is characterized in that the address of the initial server includes internet
Protocol IP address.
19. 3 to 18 any system according to claim 1, which is characterized in that the secondary TCP request includes that address label is known
Field, the address identification field carry the instruction information of first initial server.
20. 5 to 19 any system according to claim 1, which is characterized in that the main TCP request carries described
The key of MPTCP, the secondary TCP request carry the token information for being used to indicate the key,
First initial server is used to that the main TCP request to be forwarded to first mesh in first initial server
Before marking server, the corresponding relationship of the key and the first object server is established;
First initial server is used to that the secondary TCP request to be forwarded to first mesh in first initial server
Before marking server, in the corresponding relationship of the key and the first object server, it is signified to search the token information
The first object server corresponding to the key shown.
21. 5 to 20 any system according to claim 1, which is characterized in that the data transmission system further includes transfer
Equipment;
The client is used to send the main TCP to first initial server by the relay device and request;
The client is used to according to the instruction information send time TCP to the second initial server by the relay device
Request.
22. a kind of data transmission device, which is characterized in that for the client in data transmission system, the data transmission system
System further include: multiple initial servers and multiple destination servers, described device include:
First receiving module, for receiving multiple initial services that first object server is sent in the multiple destination server
The instruction information of first initial server in device, wherein the first object server and the equal position of the first initial server
In the main transmission control protocol TCP chain road that the client is established;
Sending module, for being asked according to the instruction information to the secondary TCP that the second initial server sends foundation time TCP link
It asks, wherein second initial server is any initial server in the multiple initial server, the secondary TCP chain
Lu Yuzhu TCP link belongs to same multi-path transmission control protocol MPTCP link, carries the finger in the secondary TCP request
Show information;
Second receiving module, for receiving the response for the secondary TCP request that the first object server is sent.
23. a kind of data transmission device, which is characterized in that for the third initial server in data transmission system, the number
It include client, multiple initial servers and multiple destination servers according to Transmission system, the third initial server is described
Any initial server in multiple initial servers, described device include:
Receiving module, the secondary TCP request of the foundation time TCP link for receiving other equipment transmission, wherein the other equipment
It include: any server in the client or the multiple initial server in addition to the third initial server, institute
It states and carries instruction information in time TCP request, and the instruction information is used to indicate in the multiple initial server and is located at institute
The initial server of the main TCP chain road of client foundation is stated, the secondary TCP link and the main TCP link belong to same more
Path transmission control protocol MPTCP link;
Forwarding module, when for the initial server difference indicated by the third initial server and the instruction information,
The secondary TCP request is forwarded to initial server indicated by the instruction information.
24. a kind of data transmission device, which is characterized in that for the first object server in data transmission system, the number
It include client, multiple initial servers and multiple destination servers according to Transmission system, the first object server is described
It is located at the server for the main TCP chain road that the client is established in multiple destination servers, described device includes:
First sending module, for sending the instruction information of the first initial server to the client, wherein at the beginning of described first
Beginning server are as follows: be located at the initial server of the main TCP chain road in multiple initial servers;
Receiving module, it is described secondary for receiving the secondary TCP request for the foundation time TCP link that first initial server is sent
TCP link and main TCP link belong to same multi-path transmission control protocol MPTCP link;
Second sending module, for based on the secondary TCP request, Xiang Suoshu client to send the response of the secondary TCP request.
25. a kind of computer readable storage medium, which is characterized in that instruction is stored in the computer readable storage medium,
When described instruction is run on computers, so that the computer executes the data as described in claim 10 to 12 is any and passes
Transmission method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639170.7A CN110460641A (en) | 2019-07-16 | 2019-07-16 | Data transmission method, apparatus and system |
PCT/CN2020/102479 WO2021008591A1 (en) | 2019-07-16 | 2020-07-16 | Data transmission method, device, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639170.7A CN110460641A (en) | 2019-07-16 | 2019-07-16 | Data transmission method, apparatus and system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110460641A true CN110460641A (en) | 2019-11-15 |
Family
ID=68481295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910639170.7A Pending CN110460641A (en) | 2019-07-16 | 2019-07-16 | Data transmission method, apparatus and system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110460641A (en) |
WO (1) | WO2021008591A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021008591A1 (en) * | 2019-07-16 | 2021-01-21 | 华为技术有限公司 | Data transmission method, device, and system |
WO2021134860A1 (en) * | 2019-12-30 | 2021-07-08 | 网宿科技股份有限公司 | Load balancing method, device and system |
WO2022042370A1 (en) * | 2020-08-28 | 2022-03-03 | 华为技术有限公司 | Mptcp load balancing method, medium and device |
WO2022089245A1 (en) * | 2020-11-02 | 2022-05-05 | 中兴通讯股份有限公司 | Service transmission method, communication device and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120321008A1 (en) * | 2011-06-17 | 2012-12-20 | Qualcomm Incorporated | Cooperative data transport |
CN106533937A (en) * | 2016-11-01 | 2017-03-22 | 佛山科学技术学院 | Multipath distributed message forwarding method and base station |
CN107396396A (en) * | 2017-05-31 | 2017-11-24 | 北京交通大学 | Support the data transfer management method of multi-source multipath |
CN108667880A (en) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | A kind of SiteServer LBS, method and device |
CN109088892A (en) * | 2018-10-19 | 2018-12-25 | 网宿科技股份有限公司 | Data transmission method, system and proxy server |
CN109905849A (en) * | 2014-08-19 | 2019-06-18 | 高通股份有限公司 | Multicast is carried out to business using multi-connection |
WO2019125483A1 (en) * | 2017-12-22 | 2019-06-27 | Nokia Technologies Oy | Designs of an mptcp-aware load balancer and load balancer using the designs |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3278526B1 (en) * | 2015-04-01 | 2020-06-24 | Telefonaktiebolaget LM Ericsson (publ) | System, apparatus and method for load balancing |
CN107846364A (en) * | 2016-09-19 | 2018-03-27 | 阿里巴巴集团控股有限公司 | A kind for the treatment of method and apparatus of message |
CN108696557B (en) * | 2017-04-11 | 2021-08-10 | 北京京东尚科信息技术有限公司 | Information processing system, method and device |
CN108768878A (en) * | 2018-06-06 | 2018-11-06 | 北京奇艺世纪科技有限公司 | A kind of SiteServer LBS, method, apparatus and load-balancing device |
CN109510770B (en) * | 2018-12-07 | 2021-05-04 | 北京金山云网络技术有限公司 | Information synchronization method and device among load balancing nodes and processing equipment |
CN110460641A (en) * | 2019-07-16 | 2019-11-15 | 华为技术有限公司 | Data transmission method, apparatus and system |
-
2019
- 2019-07-16 CN CN201910639170.7A patent/CN110460641A/en active Pending
-
2020
- 2020-07-16 WO PCT/CN2020/102479 patent/WO2021008591A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120321008A1 (en) * | 2011-06-17 | 2012-12-20 | Qualcomm Incorporated | Cooperative data transport |
CN109905849A (en) * | 2014-08-19 | 2019-06-18 | 高通股份有限公司 | Multicast is carried out to business using multi-connection |
CN106533937A (en) * | 2016-11-01 | 2017-03-22 | 佛山科学技术学院 | Multipath distributed message forwarding method and base station |
CN108667880A (en) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | A kind of SiteServer LBS, method and device |
CN107396396A (en) * | 2017-05-31 | 2017-11-24 | 北京交通大学 | Support the data transfer management method of multi-source multipath |
WO2019125483A1 (en) * | 2017-12-22 | 2019-06-27 | Nokia Technologies Oy | Designs of an mptcp-aware load balancer and load balancer using the designs |
CN109088892A (en) * | 2018-10-19 | 2018-12-25 | 网宿科技股份有限公司 | Data transmission method, system and proxy server |
Non-Patent Citations (3)
Title |
---|
MING LI1, ANDREY LUKYANENKO1, SASU TARKOMA2, ANTTI YLÄ-JÄÄSKI1: "MPTCP Incast in Data Center Networks", 《CHINA COMMUNICATIONS》 * |
REIDO HORIGOME,NAOYA KITAGAWA: "Alternating Primary Subflow in MPTCP by External Program without Kernel Modification", 《IEEE INTERNATIONAL CONFERENCE ON COMPUTER SOFTWARE & APPLICATIONS》 * |
YANBING LIU, XIAOWEI QIN ∗, TING ZHU, XIAOHUI CHEN, GUOWEI: "Improve MPTCP with SDN: From the perspective of resource pooling", 《JOURNAL OF NETWORK AND COMPUTER APPLICATIONS》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021008591A1 (en) * | 2019-07-16 | 2021-01-21 | 华为技术有限公司 | Data transmission method, device, and system |
WO2021134860A1 (en) * | 2019-12-30 | 2021-07-08 | 网宿科技股份有限公司 | Load balancing method, device and system |
WO2022042370A1 (en) * | 2020-08-28 | 2022-03-03 | 华为技术有限公司 | Mptcp load balancing method, medium and device |
CN114205301A (en) * | 2020-08-28 | 2022-03-18 | 华为技术有限公司 | MPTCP load balancing method, medium and equipment |
WO2022089245A1 (en) * | 2020-11-02 | 2022-05-05 | 中兴通讯股份有限公司 | Service transmission method, communication device and storage medium |
CN114531475A (en) * | 2020-11-02 | 2022-05-24 | 中兴通讯股份有限公司 | Service transmission method, communication equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2021008591A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460641A (en) | Data transmission method, apparatus and system | |
CN101385315B (en) | Communication using private ip addresses of local networks | |
EP2206052B1 (en) | Methods and apparatus for managing addresses related to virtual partitions of a session exchange device | |
KR101467726B1 (en) | Concept for providing information on a data packet association and for forwarding a data packet | |
CN104243302B (en) | Business route message processing method, device and network system | |
KR101995145B1 (en) | Method operating in a fixed access network and ues | |
CN104618243B (en) | Method for routing, apparatus and system, Scheduling of Gateway method and device | |
CN102739541B (en) | The method, apparatus and system of a kind of routing function startup and transfer of data | |
JP4961368B2 (en) | Terminal device, NAT traversal method, and program | |
CN104518939A (en) | Method for connecting hosts within a communication network, and corresponding relay module | |
CN107534643A (en) | Mobile service is changed between IP VPN and transport layer VPN | |
CN101707569B (en) | Method and device for processing NAT service message | |
JP4766976B2 (en) | Node connection method and apparatus | |
US10924533B2 (en) | System, apparatus and method for load balancing | |
CN109196842B (en) | Session keeping method, device and storage medium | |
CN104980528A (en) | Method, system and apparatus for realizing communication between nodes | |
CN108881018A (en) | For routing the method, system and device of DIAMETER message at DIAMETER signalling route device | |
CN106550058A (en) | Network address translation penetration method and system using same | |
CN106878434A (en) | A kind of method and device of redirection | |
US10904202B2 (en) | Packet routing using a network device | |
CN103581361A (en) | Domain name resolution proxy method, device and system | |
CN108566345A (en) | Flow scheduling processing method, user side translater and core interpreter | |
US9413653B2 (en) | Communication system and server | |
CN102656942B (en) | The method passed through for the address translator in 3GPP networks | |
CN104518959B (en) | A kind of method and device of communication between devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191115 |