CN110460641A - Data transmission method, apparatus and system - Google Patents

Data transmission method, apparatus and system Download PDF

Info

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
Application number
CN201910639170.7A
Other languages
Chinese (zh)
Inventor
李俊武
申思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910639170.7A priority Critical patent/CN110460641A/en
Publication of CN110460641A publication Critical patent/CN110460641A/en
Priority to PCT/CN2020/102479 priority patent/WO2021008591A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation 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

Data transmission method, apparatus and system
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.
CN201910639170.7A 2019-07-16 2019-07-16 Data transmission method, apparatus and system Pending CN110460641A (en)

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)

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

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

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

Patent Citations (7)

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

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

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