A multi-path data transmission method and device

Through the proxy of the multi-path proxy client and the proxy gateway, the IP address information of the terminal is used to transmit MPTCP multi-path data, which solves the problems of low security and difficult traffic control caused by the proxy server not using the terminal IP address in the prior art, and realizes high security and effective traffic management.

CN112995050BActive Publication Date: 2025-05-30HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011285458.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2016-11-17
Publication Date
2025-05-30
Estimated Expiration
2036-11-17

AI Technical Summary

Technical Problem

When the prior art realizes multi-path data transmission based on MPTCP, the TCP data transmission between the proxy server and the server does not use the IP address of the terminal, resulting in low security and the network side cannot count and control terminal traffic.

Method used

Through the multi-path proxy client and multi-path proxy gateway proxy gateway proxy client, the IP address information of the multi-path proxy client is used for MPTCP multi-path data transmission, ensuring that the TCP transmission between the multi-path proxy gateway and the application server does not use the IP address of the proxy gateway, improves security, and allows the application server to obtain the IP address of the terminal for traffic statistics and control.

Benefits of technology

It realizes MPTCP multi-path data transmission based on the terminal's IP address, improves the security of the multi-path proxy gateway, and facilitates statistics and control of terminal traffic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112995050B_ABST
    Figure CN112995050B_ABST
Patent Text Reader

Abstract

The present invention discloses a multi-path data transmission method and device. Among them, at least two multi-path data sub-streams are established between a multi-path proxy client and a multi-path proxy gateway through a first Internet Protocol (IP) address, and multi-path data sub-stream data transmission is performed. Between the multi-path proxy gateway and an application server to be accessed by the multi-path proxy client, a TCP connection is established and TCP data transmission is performed according to the first IP address for establishing at least two multi-path data sub-streams between the multi-path proxy client and the multi-path proxy gateway. Through the proxy of the multi-path proxy client and the multi-path proxy gateway, MPTCP multi-path data transmission is realized based on the IP address information of the multi-path proxy client.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technologies, and in particular, to a multipath data transmission method and device. Background Art

[0002] With the development of communication technologies, multipath data transmission services based on the Multipath Transmission Control Protocol (MPTCP) have emerged as the times require.

[0003] Currently, for a terminal to implement a multipath data transmission service based on MPTCP, it mainly establishes an MPTCP link with a proxy server by using proxy software such as sockts5. The proxy server then performs data transmission based on the Transmission Control Protocol (TCP) with the server that the terminal actually wants to access. However, when the proxy server performs TCP data transmission with the server, it does not use the Internet Protocol (IP) address of the terminal, but uses its own IP address to establish a TCP connection with the server side. When the proxy server uses its own IP address for data transmission, on the one hand, the IP address of the proxy server is visible to both the user side and the network side, and it is vulnerable to security attacks, resulting in low security. On the other hand, the network side cannot obtain the IP address of the terminal, making it impossible for the network side to implement traffic statistics and control of the terminal.

[0004] Therefore, there is an urgent need to solve the problem of how to provide a multipath data transmission method to avoid the above problems. Summary of the Invention

[0005] Embodiments of the present invention provide a multipath transmission method and device to implement MPTCP multipath data transmission services based on the IP address of a terminal.

[0006] In a first aspect, a multipath data transmission method is provided. In this transmission method, through the proxy of a multipath proxy client and a multipath proxy gateway, MPTCP multipath data transmission is realized based on the IP address information of the multipath proxy client. Among them, at least two multipath data subflows are established between the multipath proxy client and the multipath proxy gateway, and multipath data subflow data transmission is performed. Between the multipath proxy gateway and the application server to be accessed by the multipath proxy client, a TCP connection is established and TCP data transmission is performed according to the IP address information of at least two multipath data subflows established between the multipath proxy client and the multipath proxy gateway.

[0007] Among them, the multi-path proxy client can be an MPTCP application installed on the terminal. The IP address information of the multi-path proxy client can be understood as the IP address information of the terminal, thereby realizing the MPTCP multi-path data transmission service based on the IP address of the terminal. Moreover, the TCP transmission established between the multi-path proxy gateway and the application server does not use the IP address of the multi-path proxy gateway, improving the security of the multi-path proxy gateway. The application server can obtain the IP address of the multi-path proxy client based on the MPTCP connection establishment request, facilitating the statistics and control of the traffic of the multi-path proxy client.

[0008] In a possible design, the multi-path proxy gateway can establish a TCP connection and perform TCP data transmission with the application server to be accessed by the multi-path proxy client through the first IP address. The first IP address is the IP address for establishing at least two multi-path data sub-streams between the multi-path proxy client and the multi-path proxy gateway.

[0009] In another possible design, the multi-path proxy gateway can allocate a second IP address for the multi-path proxy client according to the first IP address, and establish a TCP connection with the application server to be accessed by the multi-path proxy client according to the second IP address. The second IP address has a mapping relationship with the first IP address and is used to identify multi-path data transmission. The application server sends data to the multi-path proxy gateway with the second IP address as the destination address. The multi-path proxy gateway and the multi-path proxy client establish multi-path data sub-streams using the first IP address and perform MPTCP data transmission. The multi-path proxy client can determine the data with the destination address of the second IP address that needs to be received according to the mapping relationship, thereby enabling the IP layer data to be directly routed from the application server to the multi-path proxy gateway and the rapid addressing of the multi-path proxy client, realizing the fast transmission of MPTCP data.

[0010] In yet another possible design, the multi-path proxy client sends the IP address of the application server to be accessed by the multi-path proxy client to the multi-path proxy gateway. The multi-path proxy gateway obtains the IP address of the application server to be accessed by the multi-path proxy client, and based on the IP address of the application server and the IP address information for establishing at least two multi-path data sub-streams between the multi-path proxy client and the multi-path proxy gateway, establishes a TCP connection with the application server and performs TCP data transmission.

[0011] In another possible design, the multipath proxy gateway may allocate a port dedicated to multipath data transmission to the multipath proxy client according to the first IP address, so as to accelerate MPTCP data transmission. The multipath proxy client determines the port dedicated to multipath data transmission, obtains the IP address of the multipath proxy gateway, and establishes at least two multipath data subflows with the multipath proxy gateway through the port according to the first IP address and the IP address of the multipath proxy gateway, and performs data transmission through the multipath data subflows.

[0012] In another possible design, if the multipath proxy gateway and the multipath proxy client determine that each of the at least two established multipath data subflows has not transmitted data within a set time period or determine that the multipath proxy client has gone offline in at least two networks where the at least two multipath data subflows are established, the multipath proxy gateway releases the at least two established multipath data subflows and the TCP connection, and the multipath proxy client releases the at least two established multipath data subflows.

[0013] In another possible design, when the multipath proxy gateway determines that the multipath proxy client supports multipath services, it may establish a TCP connection with the application server to be accessed by the multipath proxy client according to the first IP address. When the multipath proxy client determines that it supports multipath services, it establishes at least two multipath data subflows with the multipath proxy gateway.

[0014] In the embodiments of the present invention, a multipath management device for performing MPTCP user authentication (whether the multipath proxy client indicates multipath services) and management and allocation of the multipath proxy gateway can be deployed, so as to facilitate the flexible deployment and management of multiple multipath proxy gateways.

[0015] Among them, the multipath management device can determine the multipath proxy clients and services for MPTCP services through the black and white list method, for example, listing the multipath proxy clients and services capable of MPTCP services in the white list. The multipath management device adopting mechanisms such as the black and white list strategy helps to implement traffic diversion control and differential billing for terminal services.

[0016] Among them, the multi-path proxy client sends a multi-path policy request to the multi-path management device, and the multi-path policy request includes the identification information of the multi-path proxy client. The multi-path management device obtains the multi-path policy request sent by the multi-path proxy client, determines that the multi-path proxy client supports multi-path services based on the identification information of the multi-path proxy client, and sends a multi-path policy request response to the multi-path proxy client. The multi-path proxy client receives the multi-path policy request response fed back by the multi-path management device and determines that it supports multi-path services.

[0017] The multi-path management device allocates a multi-path proxy gateway for the multi-path proxy client that supports multi-path services and sends indication information for indicating that the multi-path proxy gateway is allocated to the multi-path proxy client for multi-path data transmission. The multi-path proxy gateway determines that the multi-path proxy client supports multi-path services based on the indication information sent by the multi-path management device for indicating that the multi-path proxy gateway is allocated to the multi-path proxy client for multi-path data transmission. The multi-path proxy client can determine the IP address of the multi-path proxy gateway by receiving the IP address of the multi-path proxy gateway allocated for the multi-path proxy client by the multi-path management device based on the identification information of the multi-path proxy client.

[0018] Among them, the multi-path management device allocates a multi-path proxy gateway for the multi-path proxy client based on the identification information of the multi-path proxy client, and the following method can be adopted:

[0019] The multi-path management device determines the access gateways accessed by the multi-path proxy client in at least two different networks based on the identification information of the multi-path proxy client. The multi-path management device allocates multi-path proxy gateways for the multi-path proxy client in the at least two different networks respectively according to the corresponding relationship between the access gateway and the multi-path proxy gateway or according to the multi-path proxy gateway IP address sent by the access gateway.

[0020] In another possible design, the multi-path management device can interact with the multi-path proxy gateway, obtain the second IP address and port information dedicated to establishing a multi-path data sub-flow allocated by the multi-path proxy gateway for the multi-path proxy client, and send the second IP address and port information dedicated to establishing a multi-path data sub-flow to the multi-path proxy client.

[0021] In another possible design, if the multi-path management device determines that each of at least two established multi-path data sub-streams has not transmitted data within a set time period or determines that the multi-path proxy client has gone offline in at least two networks where the at least two multi-path data sub-streams are established, the multi-path management device sends first indication information to the multi-path proxy client and the multi-path proxy gateway. The first indication information is used to indicate that each of the at least two multi-path data sub-streams has not transmitted data within a set time period or is used to indicate that the multi-path proxy client has gone offline in at least two networks where the at least two multi-path data sub-streams are established. After receiving the first indication information, the multi-path proxy gateway and the multi-path proxy client release the at least two multi-path data sub-streams and the TCP connection.

[0022] Among them, in an embodiment of the present invention, a network element in a communication network may push a notification message to the multi-path management device about that each of the multi-path data sub-streams has not transmitted data within a set time period and that the multi-path proxy client has gone offline in the at least two networks. The network element that pushes the notification message is a network element capable of determining whether the multi-path proxy client has gone offline, such as a PGW or a PCRF in an LTE network. In an embodiment of the present invention, the PGW in the LTE network is preferably used.

[0023] In an embodiment of the present invention, the multi-path management device may also query the data transmission situation of each of the at least two multi-path data sub-streams and the situation of whether the multi-path proxy client has gone offline. If it is queried that each of the at least two multi-path data sub-streams has not transmitted data within a set time period or it is queried that the multi-path proxy client has gone offline in the at least two networks, the corresponding link resources may be released.

[0024] In an embodiment of the present invention, the multi-path management device may query the data transmission situation of each of the at least two multi-path data sub-streams and the situation of whether the multi-path proxy client has gone offline according to a set period, or may query the data transmission situation of the multi-path data sub-streams that have not received the notification message or query the situation of whether the multi-path proxy client has gone offline in other unspecified networks after receiving a notification message that a set number of the at least two multi-path data sub-streams have not transmitted data or the multi-path proxy client has gone offline in a specified network.

[0025] In a second aspect, a multi-path proxy gateway is provided. The multi-path proxy gateway has the functions of the multi-path proxy gateway involved in the first aspect above. The functions may be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The module may be software and / or hardware.

[0026] In a possible design, the multi-path proxy gateway includes a transceiver unit and a processing unit. The functions of the transceiver unit and the processing unit can correspond to the respective method steps and will not be elaborated herein.

[0027] In a third aspect, a multi-path proxy client is provided. The multi-path proxy client has the functions of the multi-path proxy client involved in the first aspect described above. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The module can be software and / or hardware.

[0028] In a possible design, the multi-path proxy client includes an acquisition unit and a processing unit.

[0029] In another possible design, the multi-path proxy client further includes a sending unit.

[0030] Among them, the functions of the acquisition unit, the processing unit, and the sending unit can correspond to the respective method steps and will not be elaborated herein.

[0031] In a fourth aspect, a multi-path management device is provided. The multi-path management device has the functions of the multi-path management device involved in the first aspect described above. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions. The module can be software and / or hardware.

[0032] In a possible design, the multi-path management device includes a communication unit and a processing unit.

[0033] Among them, the functions of the communication unit and the processing unit can correspond to the respective method steps and will not be elaborated herein.

[0034] In a fifth aspect, a multi-path proxy gateway is provided. The multi-path proxy gateway includes a processor, a memory, and a transceiver.

[0035] The memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive and send signals. When the processor executes the instructions stored in the memory, the multi-path proxy gateway is used to complete any one of the methods related to the multi-path proxy gateway described in the first aspect.

[0036] In a sixth aspect, a multi-path proxy client is provided. The multi-path proxy client includes a processor, a memory, a receiver, and a transmitter.

[0037] The memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the receiver and transmitter to receive and send signals. When the processor executes the instructions stored in the memory, the multi-path proxy client is used to complete any one of the methods involved in the multi-path proxy client as described in the first aspect.

[0038] In a seventh aspect, a multi-path management device is provided. The multi-path management device includes a processor, a memory, and a communication interface.

[0039] The memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to communicate with other network element devices through the communication interface. When the processor executes the instructions stored in the memory, the multi-path management device is used to complete any one of the methods involved in the multi-path management device as described in the first aspect.

[0040] In an eighth aspect, a computer storage medium is provided for storing some instructions, which when executed can complete any one of the methods involved in the foregoing multi-path proxy gateway, multi-path proxy client, or multi-path management device.

[0041] In a ninth aspect, a communication system is provided, including a multi-path proxy gateway, a multi-path proxy client, and a multi-path management device. The multi-path proxy gateway is the multi-path proxy gateway involved in the foregoing second aspect or fifth aspect, the multi-path proxy client is the multi-path proxy client involved in the foregoing third aspect or sixth aspect, and the multi-path management device is the multi-path management device involved in the foregoing fourth aspect or seventh aspect.

[0042] The multi-path data transmission method provided by the embodiments of the present invention. The multi-path proxy client and the multi-path proxy gateway implement the proxy of TCP data transmission, and the TCP transmission established between the multi-path proxy gateway and the application server does not use the IP address of the multi-path proxy gateway, improving the security of the multi-path proxy gateway. The application server can obtain the IP address information of the multi-path proxy client, facilitating the statistics and control of the traffic of the multi-path proxy client. And the multi-path management device adopting multi-path policy mechanisms such as black and white lists helps to implement traffic diversion control and differential charging for services. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 It is the system architecture applied to the multi-path data transmission method provided by the embodiments of the present invention;

[0044] Figure 2 It is the architecture diagram of the data transmission system for multi-network deployment in the embodiments of the present invention;

[0045] Figure 3Schematic diagram of expanding TCP protocol stack to MPTCP protocol stack in an embodiment of the present invention;

[0046] Figure 4A and Figure 4B Schematic diagram showing the implementation process of MPTCP in RFC6824;

[0047] Figure 5 Flowchart of the implementation of the multi-path data transmission method provided by an embodiment of the present invention;

[0048] Figure 6 Schematic diagram of the principle of an MPTCP Client obtaining an MPTCP connection establishment request sent by a terminal provided by an embodiment of the present invention;

[0049] Figure 7 Flowchart of the implementation of an MPTCP Client and an MPTCP GW establishing a multi-path data sub-flow provided by an embodiment of the present invention;

[0050] Figure 8 Flowchart of the implementation of an MPTCP GW allocating an IP address and a port for an MPTCP Client provided by an embodiment of the present invention;

[0051] Figure 9 Schematic diagram of multi-path data transmission between an LTE network and a WIFI network provided by an embodiment of the present invention;

[0052] Figure 10 Schematic diagram of a structure of a multi-path proxy client provided by an embodiment of the present invention;

[0053] Figure 11 Another schematic diagram of the structure of a multi-path proxy client provided by an embodiment of the present invention;

[0054] Figure 12 Schematic diagram of a structure of a multi-path proxy gateway provided by an embodiment of the present invention;

[0055] Figure 13 Another schematic diagram of the structure of a multi-path proxy gateway provided by an embodiment of the present invention;

[0056] Figure 14 Schematic diagram of a structure of a multi-path management device provided by an embodiment of the present invention;

[0057] Figure 15 Another schematic diagram of the structure of a multi-path management device provided by an embodiment of the present invention. Detailed implementation manners

[0058] The technical solutions in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments.

[0059] The multi-path data transmission method provided by the embodiments of the present invention can be applied to data transmission in a wireless communication system. Among them, the data receiving end and the data sending end perform data interaction through a Radio Access Network (RAN) and a core network. A TCP connection can also be established between the data receiving end and the data sending end, and the TCP protocol is used for data transmission. For example Figure 1 As shown, in a wireless communication system, data is exchanged between a terminal and an application server. The terminal accesses the RAN through the air interface and is connected to the application server via the core network. Among them, the network between the terminal and the RAN can be called a wireless network, and the network between the RAN and the application server can be called a wired network. A TCP connection is established between the application server and the terminal for data transmission.

[0060] With the development of communication technologies, the communication system has evolved into a communication architecture with multiple communication networks deployed together. A terminal can access more than one communication network for communication. For example Figure 2 In a communication system deployed with a Wireless Fidelity (WIFI) network and a Long Term Evolution (LTE) network, a terminal can access the WIFI network and perform data transmission with the application server through an Evolved Packet Data Gateway (ePDG) or a trusted gateway (TGW), or can also access the LTE network and perform data transmission with the application server through a Serving Gateway (SGW) or a Packet Data Network Gateway (PGW).

[0061] With the deployment of multiple networks, the development of the Multipath TCP (MPTCP) multi-path data transmission service has been promoted. Currently, the TCP protocol can be extended so that a service can use multi-path network resources for data transmission. For example, using Figure 2 the WIFI network resources and LTE network resources involved in the figure for data transmission. Figure 3 The figure shows a schematic diagram of the expansion of the TCP protocol stack to the MPTCP protocol stack. In the TCP protocol stack, a TCP flow at the Application layer is sent through one TCP flow. In the MPTCP protocol stack, a TCP flow at the Application layer is decomposed into two TCP sub-flows at the MPTCP layer for independent transmission.

[0062] Figure 4A and Figure 4B shows a schematic diagram of the usage scenario of MPTCP in RFC6824. Figure 4A Between Host A and Host B in [the scenario], at the MPTCP layer of the sender, the TCP stream is decomposed into two independent TCP sub-streams for transmission, and at the receiver, the two sub-streams are merged and then sent to the application layer. Figure 4B Between Host A and Host B in [the scenario], at the MPTCP layer of the sender, the TCP stream is decomposed into two independent TCP sub-streams for transmission, and at the receiver, it is still sent to the application layer in the form of two sub-streams.

[0063] However, the support for the MPTCP protocol stack by terminals and application servers is not high, and it is not possible to use the IP address of the terminal to perform MPTCP multi-path data transmission with the application server. The embodiments of the present invention provide a method for implementing MPTCP multi-path data transmission between a terminal and an application server based on the IP address of the terminal.

[0064] In the embodiments of the present invention, to implement MPTCP multi-path data transmission between a terminal and an application server, a multi-path proxy client (MPTCP Client) and a multi-path proxy gateway (MPTCP GW) can be introduced. At least two multi-path data sub-streams are established between the MPTCP Client and the MPTCP GW, and multi-path data sub-stream data transmission is performed. Between the MPTCP GW and the application server to be accessed by the MPTCP Client, based on the IP address information of at least two multi-path data sub-streams established between the MPTCP Client and the MPTCP GW, a TCP connection is established and TCP data transmission is performed. Through the proxy of the MPTCP Client and the MPTCP GW, MPTCP multi-path data transmission is implemented based on the IP address information of the MPTCP Client.

[0065] It should be noted that the terminal involved in the embodiments of the present invention is a multi-access supported terminal, and the multi-access means that it can be accessed to at least two different networks. The terminal may include various handheld devices, vehicle-mounted devices, wearable devices, computing devices or other processing devices connected to a wireless modem with wireless communication functions, as well as various forms of user equipment (User Equipment, UE), mobile station (Mobile station, MS), terminal equipment (Terminal Equipment), etc. The network accessed by the terminal may be the WIFI network and LTE network involved above, or other wireless communication networks using various wireless access technologies, such as communication networks using access technologies such as code division multiple access, frequency division multiple access, time division multiple access, orthogonal frequency division multiple access, single carrier frequency division multiple access, etc. In addition, it can also be applied to the evolved systems following the LTE system, such as the fifth generation 5G system, etc. For the convenience of description in the embodiments of the present invention, the case where the terminal accesses the WIFI network and the LTE network is taken as an example for description.

[0066] The MPTCP Client involved in the embodiments of the present invention may be a network element component newly deployed in the communication network, or a functional unit newly added to the original network element component. For example, an MPTCP application (APP) can be installed on the terminal as the MPTCP Client. In the embodiments of the present invention, the terminal installed with the MPTCP Client is taken as an example of the MPTCP Client for description below, that is, the MPTCP Client involved in the following embodiments can be understood as the terminal.

[0067] The MPTCP GW involved in the embodiments of the present invention is a network element component newly deployed in the communication network, and multiple MPTCP GWs can be deployed in the communication network.

[0068] Optionally, in order to facilitate the flexible deployment and management of multiple MPTCP GWs, a multi-path management device may be introduced in the embodiments of the present invention. The multi-path management device is used for MPTCP user authentication and the management and allocation of MPTCP GWs. For example, it can obtain the multi-path policy request sent by the MPTCP Client, and determine the supported multi-path services according to the multi-path policy request and allocate the MPTCP GWs supporting the multi-path services.

[0069] The multi-path management device involved in the embodiments of the present invention may be a network element component newly deployed in the communication network, or a functional unit newly added to the original network element component. For example, it can be the original PGW in the communication network, or the newly deployed MPTCP manager (Manger) in the communication network. For the convenience of description in the embodiments of the present invention, the newly deployed MPTCP Manger is taken as an example of the multi-path management device for description.

[0070] It can be understood that in the embodiments of the present invention, the MPTCP Manger may not be deployed, and functions such as receiving multi-path policy requests and determining support for multi-path services of the MPTCP Manger may be implemented by the MPTCP GW.

[0071] In the embodiments of the present invention, the multi-path data transmission method related to the embodiments of the present invention will be described in detail below.

[0072] Figure 5 Fig. shows an implementation flowchart of a multi-path data transmission method provided by an embodiment of the present invention. As Figure 5 shown, the method includes:

[0073] S101: The MPTCP Client accesses at least two different networks and sends MPTCP connection establishment requests in the at least two different networks.

[0074] In the embodiments of the present invention, the MPTCP Client sends MPTCP connection establishment requests in at least two different networks to request data transmission through multi-path data sub-streams. The MPTCP connection establishment requests include the IP address information of the MPTCP Client, which can be used to establish at least two multi-path data sub-streams between the MPTCP Client and the MPTCP GW. In the embodiments of the present invention, the IP address information of the MPTCP Client may be the IP address obtained by the MPTCP Client for communication in the at least two different networks after accessing the network.

[0075] For convenience of description in the embodiments of the present invention, the IP address used to establish at least two multi-path data sub-streams between the MPTCP Client and the MPTCP GW is referred to as the first IP address.

[0076] In the embodiments of the present invention, the MPTCP Client sends the MPTCP connection establishment request based on Figure 6 the data processing principle in the virtual private network (VPN) service framework of the virtual network device (such as a virtual network card) shown. Figure 6In this process, the application program calls a port (socket) to send the corresponding data packet (MPTCP connection establishment request) to the real network device (application server). The VPN service system uses the IP packet filtering tool (iptables) and network address translation (NAT) to forward all data packets to the virtual network device. The MPTCP Client can obtain all the IP data packets forwarded to the virtual network device by reading the data of the virtual network device, and after processing the obtained IP data packets, send them out through the real network device (application server).

[0077] S102: The MPTCP Client obtains the IP address of the MPTCP GW.

[0078] The MPTCP Client can query the IP address of the MPTCP GW from the Domain Name Server (DNS).

[0079] S103: The MPTCP Client modifies the destination IP address of the MPTCP connection establishment request to the IP address of the MPTCP GW, and forwards the MPTCP connection establishment request to the MPTCP GW.

[0080] In the embodiment of the present invention, the destination IP address of the MPTCP connection establishment request may be the IP address of the application server to be accessed by the MPTCP Client. The application server to be accessed by the MPTCP Client refers to the application server that establishes a TCP connection with the terminal acting as the MPTCP Client and performs TCP data transmission.

[0081] S104: The MPTCP Client establishes at least two multipath data subflows with the MPTCP GW, and performs data transmission through the established multipath data subflows.

[0082] In the embodiment of the present invention, the MPTCP Client and the MPTCP GW can establish at least two multipath data subflows based on the first IP address information of the MPTCP Client and the address information of the MPTCP GW included in the MPTCP connection establishment request.

[0083] S105: The MPTCP GW establishes a TCP connection between the first IP address information of the MPTCP Client and the application server to be accessed by the MPTCP Client, and performs TCP data transmission through the TCP connection.

[0084] In the embodiment of the present invention, the MPTCP connection establishment requests sent by the MPTCP Client in at least two different networks are used to establish multipath data subflows between the MPTCP Client and the MPTCP GW based on the IP address information of the MPTCP Client included in the MPTCP connection establishment requests, and data transmission of the multipath data subflows is performed. A TCP connection is established between the MPTCP GW and the application server based on the IP address information of the MPTCP Client, and TCP data transmission is performed. The MPTCP Client and the MPTCP GW implement proxy for the MPTCP Client to perform TCP data transmission, and the TCP transmission established between the MPTCP GW and the application server does not use the IP address of the MPTCP GW, which improves the security of the MPTCP GW. The application server can obtain the IP address of the MPTCP Client based on the MPTCP connection establishment request, which is convenient for statistics and control of the MPTCP Client traffic.

[0085] Optionally, in the embodiment of the present invention, the MPTCP Client can interact with the MPTCP Manger to complete MPTCP proxy. The MPTCP Manger is used for user authentication of MPTCP, for example, to determine the MPTCP Client and services for MPTCP services. The MPTCP Manger can determine the MPTCP Client and services for MPTCP services through black and white list methods. For example, the MPTCP Client and services capable of performing MPTCP services are included in the white list. The MPTCP Manger adopting mechanisms such as black and white list strategies helps to implement traffic diversion control and differential charging for terminal services. The MPTCP Manger is also used for management and allocation of the MPTCP GW. The MPTCP Manger can maintain multiple MPTCP GWs. When the MPTCP Client needs to perform MPTCP multipath data transmission, the MPTCP Client sends a multipath policy request to the MPTCP Manger, and the multipath policy request includes MPTCP Client identification information. The MPTCP Manger determines that the MPTCP Client supports multipath services based on the MPTCP Client identification information included in the multipath policy request, and allocates a multipath proxy gateway that supports the multipath services to the MPTCP Client.

[0086] In the embodiment of the present invention, when multiple MPTCP GWs are deployed in the communication network, the MPTCP Client needs to select an MPTCP GW and then establish a multipath data subflow with the selected MPTCP GW.

[0087] In the embodiments of the present invention, the process of the MPTCP Client selecting the MPTCP GW and the process of the MPTCP Client establishing a multi-path data sub-flow with the MPTCP GW will be described below in combination with actual applications.

[0088] In the embodiments of the present invention, the following takes the MPTCP Client accessing the WIFI network and the LTE network and the MPTCP Manger allocating the MPTCP GW as an example for description.

[0089] Figure 7 The figure shows an implementation flowchart of the MPTCP Client establishing a multi-path data sub-flow with the MPTCP GW provided by the embodiments of the present invention.

[0090] S201: The MPTCP Client supporting multi-access normally accesses the LTE network and the WIFI network, and obtains the IPs of the MPTCP Client in the LTE network and the WIFI network. Figure 7 Here, taking the access to the LTE network as an example.

[0091] S202: The MPTCP Client initiates a multi-path policy request, which includes the identification information of the MPTCP Client. The identification information of the MPTCP Client can be an Access Point Name (APN) or an International Mobile Subscriber Identity (IMSI). The multi-path policy request also includes the IPs of the MPTCP Client in the LTE network and the WIFI network.

[0092] In the embodiments of the present invention, the MPTCP Client can send a query request for querying the IP address of the MPTCP Manger to the DNS, and the DNS responds to the query request and feeds back the IP address of the MPTCP Manger.

[0093] The MPTCP Client initiates a multipath policy request to the MPTCP Manger. The MPTCP Manger determines whether the MPTCP Client that initiates the multipath policy request can perform MPTCP services based on the multipath policy request. For example, the MPTCP Manger determines that the MPTCP Client is online in the LTE network and obtains a multipath policy that can perform MPTCP services by querying the Policy and Charging Rules Function (PCRF). After determining that the MPTCP Client is online in the WIFI network and obtains a multipath policy that can perform MPTCP services by querying the Authentication, Authorization and Accounting (AAA), it is determined that the MPTCP Client can perform MPTCP services, and sends a multipath policy request response message to the MPTCP Client. In the embodiment of the present invention, if the MPTCP Manger determines that the MPTCP Client cannot perform MPTCP services, the traditional TCP data transmission method can be used for data transmission between the MPTCP Client and the application server.

[0094] S203: The MPTCP Client receives the multipath strategy request response message to determine that the MPTCP service is supported, and sends an MPTCP link establishment request. The MPTCP Client interacts with the MPTCP Manger to complete the MPTCP proxy.

[0095] S204: The MPTCP Manger obtains the addresses of access gateways of at least two different networks accessed by the MPTCP Client, for example, the IP address of the PGW accessed by the MPTCP Client in the LTE network.

[0096] In an embodiment of the present invention, the MPTCP Manger may send an access authorization request to the AAA server, the Home Subscriber Server (HSS) or the PCRF according to the MPTCP Client identification information included in the multipath policy request, and obtain the mapping information between the MPTCP Client identification and the PGW according to the authorization response, and determine the addresses of the access gateways of at least two different networks to which the MPTCP Client accesses.

[0097] S205: The MPTCP Manger determines a multipath strategy and allocates an available MPTCP GW to an MPTCP Client that can perform MPTCP services according to the access gateway address.

[0098] Optionally, the MPTCP Manger can be statically configured to support multipath policies or obtain dynamically configured multipath policies from other network devices such as AAA servers or PCRFs. The multipath policies include MPTCP Clients that support multipath data transmission, services, etc.

[0099] In an embodiment of the present invention, the MPTCP Manger can allocate an MPTCP GW for the MPTCP Client according to the corresponding relationship between the MPTCP GW and the PGW. When multiple MPTCP GWs are deployed, a priority order can be set for different MPTCP GWs, and the MPTCP GW allocates the MPTCP GW for the MPTCP Client according to the priority order. In an embodiment of the present invention, the PGWs in at least two different networks accessed by the MPTCP Client can also send the address of the MPTCP GW to the MPTCP Manger respectively.

[0100] Preferably, the MPTCP Manger can allocate an MPTCP GW that shares the same IP with the PGW and is in the same network segment for the MPTCP Client.

[0101] S206: The MPTCP Client obtains the IP address of the MPTCP GW, and respectively establishes multipath data subflows with the MPTCP GW according to the IP of the MPTCP Client in the LTE network and the IP in the WIFI network (the first IP address), as well as the IP address of the MPTCP GW, and uses the established multipath data subflows for data transmission.

[0102] Specifically, the MPTCP Client can determine whether to start the proxy for MPTCP multipath data transmission according to the multipath policy. For example, if the MPTCP Client identifier included in the multipath policy request is an authorized MPTCP Client identifier, after the MPTCP Client corresponding to the MPTCP Client identifier sends an MPTCP connection establishment request, modify the destination address of the MPTCP connection establishment request to the MPTCP GW address and forward the MPTCP connection establishment request to the MPTCP GW.

[0103] Optionally, in an embodiment of the present invention, to reduce the change to the communication process in the existing network and accelerate MPTCP data transmission, the MPTCP GW can allocate a port dedicated to establishing multipath data subflows for the MPTCP Client, and the MPTCP Client establishes at least two multipath data subflows with the MPTCP GW according to the port allocated by the MPTCP GW, the first IP address, and the IP address of the MPTCP GW.

[0104] Optionally, in the embodiments of the present invention, the MPTCP GW may allocate a second IP address having a mapping relationship with the first IP address for the MPTCP Client according to the IP address of the MPTCP Client in the LTE network and the IP address in the WIFI network (the first IP address), and the second IP address is used to identify multipath data transmission.

[0105] Optionally, the MPTCP Client may record the mapping relationship between the IP addresses in each multipath data subflow and the MPTCP Client identifier to maintain the MPTCP connection establishment request sent by the MPTCP Client. Among them, the IP addresses in the mapping relationship include the IP addresses of the MPTCP Client in the LTE network and the WIFI network (the first IP address), and the second IP address dedicated to establishing the multipath data subflow allocated by the MPTCP GW for the MPTCP Client. A TCP connection is established between the MPTCP GW and the application server to be accessed by the MPTCP Client using the second IP address for TCP data transmission. The application server sends data to the MPTCP GW with the second IP address as the destination address. A multipath data subflow is established between the MPTCP GW and the MPTCP Client using the first IP address for MPTCP data transmission. According to the mapping relationship, the MPTCP Client can determine the data that needs to receive the destination address as the second IP address, thereby enabling the IP layer data to be directly routed from the application server to the MPTCP GW and the MPTCP Client for rapid addressing, realizing the fast transmission of MPTCP data.

[0106] Figure 8 The flowchart of the embodiment in which the MPTCP GW provided by the embodiments of the present invention allocates a second IP address dedicated to establishing a multipath data subflow for the MPTCP Client is shown. Figure 8 The execution processes of S301, S302, S303, S304, and S305 are the same as those of S201, S202, S203, S204, and S205 respectively, and will not be elaborated here. Only the differences will be described below.

[0107] S306: The MPTCP GW allocates an IP address and a port number dedicated to establishing a multipath data subflow for the MPTCP Client and sends them to the MPTCP Manger.

[0108] In an embodiment of the present invention, the MPTCP Manger sends the MPTCP Client identification information included in the multi-path policy request and the IPs of the MPTCP Client in the LTE network and the WIFI network to the MPTCP GW that has been allocated for MPTCP services.

[0109] The MPTCP GW allocates an IP address and a port number dedicated to establishing a multi-path data sub-flow for the MPTCP Client, where the allocated IP address and port number dedicated to establishing the multi-path data sub-flow have a corresponding relationship with the MPTCP Client identification information and the IPs of the MPTCP Client in the LTE network and the WIFI network.

[0110] S307: The MPTCP Manger obtains the second IP address and port information (such as the port number) allocated by the MPTCP GW for the MPTCP Client to establish a multi-path data sub-flow, determines a multi-path policy including the MPTCP Client identification, the IP address and port number allocated by the MPTCP GW, and feeds back a multi-path policy request response to the MPTCP Client that can perform MPTCP services.

[0111] In an embodiment of the present invention, the multi-path policy request response sent by the MPTCP Manger to the MPTCP Client includes the second IP address and port information allocated by the MPTCP GW for the MPTCP Client to establish a multi-path data sub-flow, the MPTCP Client identification, and a whitelist list of the MPTCP Client and services that support multi-path data transmission.

[0112] Figure 9 The figure shows a flowchart of the implementation of the MPTCP Client establishing a multi-path data sub-flow with the MPTCP GW and performing MPTCP multi-path data transmission provided by an embodiment of the present invention.

[0113] In an embodiment of the present invention, first, Figure 9 and various IPs involved in the following embodiments are explained.

[0114] UE IP: The IP allocated by the PGW for the MPTCP Client accessing the LTE network.

[0115] IP1: The IP of HostA1 in the MPTCP multi-path data transmission. In this solution, the UEIP is reused.

[0116] IP2: The IP of HostA2 in the MPTCP multi-path data transmission.

[0117] IP3: The IP of HostB in the MPTCP multipath data transmission MPTCP GW.

[0118] Server IP: The IP of the application server to be accessed by the MPTCP Client.

[0119] As Figure 9 shown, the implementation process of establishing a multipath data subflow and performing MPTCP multipath data transmission involved in the embodiments of the present invention includes:

[0120] S401: The MPTCP Client sends an MPTCP connection establishment request.

[0121] In the embodiments of the present invention, the TCP connection establishment request initiated by the MPTCP Client can trigger the MPTCP Client to send an MPTCP connection establishment request, where the source address of the TCP connection establishment request is the UE IP and the destination address is the Server IP. The MPTCP Client establishes the mapping relationship between UEIP (IP1) and IP3, and between IP2 and IP3, and sends an MPTCP connection establishment request as the MPTCP Client to request to establish an MPTCP multipath data subflow with the MPTCP GW.

[0122] S402: The MPTCP Client and the MPTCP GW establish the first multipath data subflow.

[0123] HostA1 of the MPTCP Client and HostB of the MPTCP GW establish the first MPTCP multipath data subflow, for example, establish a multipath data subflow in the LTE network. The source address of HostA1 is IP1, and the address of HostB of the MPTCP GW is IP3. The message interaction process of HostA1 of the MPTCP Client and HostB of the MPTCP GW establishing the first MPTCP multipath data subflow is similar to the traditional TCP handshake, except that it is necessary to carry the multipath capability (MP_CAPABLE) option and exchange the 64-bit key (Key) value.

[0124] Preferably, in the embodiments of the present invention, the MPTCP Client and the MPTCP GW can establish a multipath data subflow through the port dedicated to establishing a multipath data subflow allocated by the MPTCP GW for the MPTCP Client to accelerate the MPTCP data transmission.

[0125] It can be understood that if the MPTCP GW in the embodiment of the present invention allocates a port dedicated to establishing a multipath data subflow for the MPTCP Client, the port information of the port dedicated to establishing the multipath data subflow allocated by the MPTCP GW for the MPTCP Client needs to be included in the MP_CAPABLE option here, so that the MPTCP Client and the MPTCP GW can establish a multipath data subflow in the LTE network through the port dedicated to establishing the multipath data subflow allocated by the MPTCP GW for the MPTCP Client.

[0126] S403: The MPTCP Client sends the IP address of the application server to be accessed by the MPTCP Client to the MPTCP GW: Server IP.

[0127] After the first MPTCP multipath data subflow is established, the MPTCP Client sends Server IP to the MPTCP GW to notify the MPTCP GW of Server IP.

[0128] Optionally, in the embodiment of the present invention, the MPTCP Client may send the Server IP through a TCP message. The TCP message refers to the TCP message for sending the Server IP, which is hereinafter referred to as the MPTCP message for convenience. The IP port information of this MPTCP message needs to be the same as the IP port information of the MPTCP connection establishment request sent by the MPTCP Client. Therefore, the MPTCP message may also be an MPTCP connection establishment request, but the MPTCP connection establishment request for sending Server IP is different from the MPTCP connection establishment request sent by the MPTCP Client. In the embodiment of the present invention, it can be implemented through a private extension field, such as through messages such as the MPTCP_ADD option. The extended private field in the embodiment of the present invention preferably carries a type of TCP message of the MPTCP option. For example, a field for enabling the MPTCP GW to identify the Server IP is added to the MPTCP connection establishment request for sending Server IP. After the MPTCP GW obtains the MPTCP connection establishment request for sending Server IP and determines that the IP address carried in the MPTCP connection establishment request is not in the local HostB address list, it determines that the IP address carried in the MPTCP connection establishment request is the IP address of the application server to be accessed by the MPTCP Client, and forwards the MPTCP connection establishment request to the application server to be accessed by the MPTCP Client according to the application server IP address.

[0129] Optionally, after the MPTCP GW obtains the Server IP, it can send a response message to the MPTCP Client to enable the MPTCP Client to determine whether the MPTCP GW has received the Server IP. After the MPTCP GW obtains the Server IP, it can also ignore the MPTCP message that sends the Server IP to simplify the message processing flow. For example, if it is determined that the Server IP is sent through the MPTCP connection establishment request, the MPTCP connection establishment request that sends the Server IP is ignored.

[0130] S404: The MPTCP Client and the MPTCP GW establish other multipath data subflows.

[0131] The HostA2 of the MPTCP Client and the HostB of the MPTCP GW establish an MPTCP multipath data subflow, such as establishing a multipath data subflow in the LTE network. The source address of HostA2 is IP2, and the address of HostB of the MPTCP GW is IP3. The message interaction process for the HostA2 of the MPTCP Client and the HostB of the MPTCP GW to establish an MPTCP multipath data subflow is similar to the traditional TCP handshake. The difference is that it is necessary to carry a multipath addition (MP_JOIN) option and a 32-bit random number (token). Among them, the value of the 32-bit token is the hash of the Key carried in the establishment of the first multipath data subflow. This method can verify the newly established multipath data subflow and prevent a connection establishment attack on Host B.

[0132] S405: The MPTCP GW and the application server to be accessed by the MPTCP Client establish a TCP connection for TCP data transmission.

[0133] In an embodiment of the present invention, in one implementation manner, the MPTCP GW and the application server to be accessed by the MPTCP Client establish a TCP connection by using the first IP address of the MPTCP Client to establish a multipath data subflow and the IP address of the application server to complete the TCP connection establishment. In another implementation manner, the MPTCP GW and the application server to be accessed by the MPTCP Client establish a TCP connection by using the second IP address allocated by the MPTCP GW for the MPTCP Client and having a corresponding relationship with the first IP address and the IP address of the application server to complete the TCP connection establishment.

[0134] Figure 9 The example of establishing a TCP connection based on the second IP address allocated by the MPTCP GW for the MPTCP Client is described below.

[0135] Through the above embodiments, MPTCP multi-path data transmission can be performed between the MPTCP Client and the MPTCP GW, and TCP transmission is performed between the MPTCP GW and the application server.

[0136] It should be noted that in the embodiments of the present invention, the timing of establishing the MPTCP multi-path data sub-flow and the TCP connection is not limited. For example, in the embodiments of the present invention, the MPTCP multi-path data sub-flow and the TCP connection can be established when it is determined that MPTCP multi-path data sub-flow data transmission is required. In the embodiments of the present invention, the MPTCP multi-path data sub-flow and the TCP connection can also be established in advance, and when it is determined that MPTCP multi-path data sub-flow data transmission is required, the pre-established MPTCP multi-path data sub-flow and the TCP connection are used for data transmission. Among them, the pre-established MPTCP multi-path data sub-flow can be an MPTCP long connection, and the MPTCP long connection means that the MPTCP multi-path data sub-flow is in a connected state in the at least two communication networks until the MPTCP Client goes offline in each communication network of the at least two communication networks.

[0137] Optionally, in the embodiments of the present invention, if it is determined that there is no need to perform MPTCP multi-path data transmission and TCP transmission, the corresponding link resources can be released to save resources. For example, if the MPTCP GW determines that each multi-path data sub-flow in the at least two multi-path data sub-flows has not transmitted data within a set time period or determines that the MPTCP Client has gone offline in the at least two networks, the at least two multi-path data sub-flows and the TCP connection are released. If the MPTCP Client determines that it has gone offline in the at least two networks or determines that each multi-path data sub-flow in the at least two multi-path data sub-flows has not transmitted data within a set time period, the at least two multi-path data sub-flows are released. In the embodiments of the present invention, the MPTCP Client going offline means that the MPTCP Client has performed operations such as detachment.

[0138] Optionally, in an embodiment of the present invention, the MPTCP Manger may determine whether each of the at least two multi-path data sub-streams has not transmitted data. If the MPTCP Manger determines that each of the at least two multi-path data sub-streams has not transmitted data within a set time period or determines that the MPTCP Client has gone offline in both of the at least two networks, a first indication message is sent to the MPTCP GW and the MPTCP Client. The first indication message is used to indicate that each of the at least two multi-path data sub-streams has not transmitted data within a set time period or is used to indicate that the MPTCP Client has gone offline in both of the at least two networks. After receiving the first indication message, the MPTCP GW and the MPTCP Client release the at least two multi-path data sub-streams and the TCP connection.

[0139] In an embodiment of the present invention, a network element in a communication network may push a notification message to the MPTCP Manger about the multi-path data sub-streams that have not transmitted data within a set time period and the MPTCP Client that has gone offline in both of the at least two networks. The network element that pushes the notification message is a network element capable of determining whether the MPTCP Client has gone offline, such as a PGW or a PCRF in an LTE network. In an embodiment of the present invention, the PGW in the LTE network is preferably used.

[0140] In an embodiment of the present invention, the MPTCP Manger may also query the data transmission situation of each of the at least two multi-path data sub-streams and the situation of whether the MPTCP Client has gone offline. If it is queried that each of the at least two multi-path data sub-streams has not transmitted data within a set time period or it is queried that the MPTCP Client has gone offline in both of the at least two networks, the corresponding link resources may be released.

[0141] In the embodiment of the present invention, the MPTCP Manger can query the data transmission status of each of the at least two multi-path data sub-streams and whether the MPTCP Client is offline according to a set period, or can query the data transmission status of the multi-path data sub-streams that have not received notification messages or whether the MPTCP Client is offline in other unspecified networks after receiving notification messages that a set number of multi-path data sub-streams among the at least two multi-path data sub-streams have not transmitted data or the MPTCP Client is offline in a specified network. For example, after receiving a notification message that the MPTCP Client is offline in the LTE network, the MPTCP Manger queries whether the MPTCP Client is offline in the WIFI network. If it is determined that the MPTCP Client is offline in both the LTE network and the WIFI network, the corresponding link resources can be released.

[0142] In the multi-path data transmission method provided by the embodiment of the present invention, the MPTCP Client and the MPTCP GW implement the proxy of TCP data transmission, and the TCP transmission established between the MPTCP GW and the application server does not use the IP address of the MPTCP GW, which improves the security of the MPTCP GW. The application server can obtain the IP address information of the MPTCP Client, which is convenient for the statistics and control of the MPTCP Client traffic. And the MPTCP Manger adopting multi-path policy mechanisms such as black and white lists helps to implement traffic diversion control and differential billing for services.

[0143] It should be noted that the terms "first", "second", etc. involved in the specification, claims and drawings of the embodiment of the present invention are used to distinguish similar objects and do not have to be used to describe a specific order or sequence. For example, the first IP address and the second IP address mentioned above in the embodiment of the present invention are only used for convenient description and to distinguish different IP addresses, and do not constitute a limitation on the IP address. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described here can be implemented in an order other than those illustrated or described here.

[0144] The above mainly introduces the solution provided by the embodiments of the present invention from the perspective of the interaction among the multi-path proxy gateway, the multi-path proxy client, and the multi-path management device. It can be understood that, in order to implement the above functions, the multi-path proxy gateway, the multi-path proxy client, and the multi-path management device include the corresponding hardware structures and / or software modules for executing each function. Combining the units and algorithm steps of each example described in the embodiments disclosed in the present invention, the embodiments of the present invention can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the technical solution of the embodiments of the present invention.

[0145] The embodiments of the present invention can perform the division of functional units on the multi-path proxy gateway, the multi-path proxy client, and the multi-path management device according to the above method examples. For example, each functional unit can be divided corresponding to each function, or two or more functions can be integrated into one processing unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of units in the embodiments of the present invention is illustrative, only a logical functional division, and there can be other division methods in actual implementation.

[0146] In the case of adopting an integrated unit, Figure 10 shows a schematic structural diagram of a multi-path proxy gateway 100. The multi-path proxy gateway 100 includes a transceiver unit 101 and a processing unit 102. The transceiver unit 101 is used to obtain the first IP address of the multi-path proxy client, and the first IP address is used to establish at least two multi-path data sub-streams between the multi-path proxy gateway and the multi-path proxy client. The processing unit 102 is used to establish a TCP connection with the application server to be accessed by the multi-path proxy client according to the first IP address obtained by the transceiver unit 101, and perform TCP data transmission through the TCP connection.

[0147] Among them, the processing unit 102 can allocate a second IP address having a mapping relationship with the first IP address for the multi-path proxy client according to the first IP address, and the second IP address is used to identify multi-path data transmission. Establish a TCP connection with the application server to be accessed by the multi-path proxy client according to the second IP address.

[0148] Among them, the transceiver unit 101 is further configured to: before establishing a TCP connection between the multi-path proxy gateway and the application server to be accessed by the multi-path proxy client, obtain the IP address of the application server to be accessed by the multi-path proxy client, where the IP address of the application server is sent by the multi-path proxy client.

[0149] Among them, the processing unit 102 is further configured to: after the transceiver unit 101 obtains the IP address of the application server, ignore the TCP message used to send the IP address of the application server.

[0150] Among them, the processing unit 102 is further configured to: after the transceiver unit 101 obtains the first IP address of the multi-path proxy client, allocate a port dedicated to multi-path data transmission for the multi-path proxy client according to the first IP address. Through the port, at least two multi-path data sub-streams are established with the multi-path proxy client.

[0151] Among them, the processing unit 102 is further configured to: after establishing a TCP connection between the multi-path proxy gateway and the application server to be accessed by the multi-path proxy client, if it is determined that each of the at least two multi-path data sub-streams that have been established has not transmitted data within a set time period or it is determined that the multi-path proxy client has gone offline in at least two networks where the at least two multi-path data sub-streams are established, release the at least two multi-path data sub-streams and the TCP connection that have been established.

[0152] Among them, the processing unit 102 is further configured to: before establishing a TCP connection with the application server to be accessed by the multi-path proxy client according to the first IP address, determine that the multi-path proxy client supports multi-path services.

[0153] Among them, the processing unit 102 can determine that the multi-path proxy client supports multi-path services according to the indication information sent by the multi-path management device for indicating that the multi-path proxy gateway is assigned to the multi-path proxy client for multi-path data transmission.

[0154] When implemented in hardware form, in the embodiments of the present invention, the processing unit 102 may be a processor or a controller. The transceiver unit 101 may be a communication interface, a transceiver, a transceiver circuit, etc. Among them, the communication interface is a general term and may include one or more interfaces.

[0155] When the transceiver unit 101 is a transceiver and the processing unit 102 is a processor, the multi-path proxy gateway 100 involved in the embodiments of the present invention may be Figure 11 the multi-path proxy gateway 1000 shown.

[0156] Figure 11 shows a schematic structural diagram of a multi-path proxy gateway 1000 provided by an embodiment of the present invention. Refer to Figure 11 As shown, the multi-path proxy gateway 1000 includes a processor 1001, a memory 1002, and a transceiver 1003. The memory 1002 is used to store instructions, and the processor 1001 is used to execute the instructions stored in the memory to control the transceiver 1003 to obtain the first IP address of the multi-path proxy client. And according to the first IP address obtained by the transceiver 1003, establish a TCP connection with the application server to be accessed by the multi-path proxy client, and perform TCP data transmission through the TCP connection.

[0157] In the embodiments of the present invention, for the concepts, explanations, detailed descriptions, and other steps related to the multi-path proxy gateway 100 and the multi-path proxy gateway 1000 in the technical solutions provided by the embodiments of the present invention, please refer to the descriptions of these contents in the foregoing method or other embodiments, and will not be elaborated here.

[0158] In the case of adopting an integrated unit, Figure 12 shows a schematic structural diagram of a multi-path proxy client 200. Refer to Figure 12 As shown, the multi-path proxy client 200 includes an acquisition unit 201 and a processing unit 202. The acquisition unit 201 is used to acquire the IP address of the multi-path proxy gateway and determine a port dedicated to multi-path data transmission. The port is allocated by the multi-path proxy gateway for the multi-path proxy client according to the first Internet protocol IP address of the multi-path proxy client. The first IP address is used to establish at least two multi-path data sub-streams between the multi-path proxy client and the multi-path proxy gateway. The processing unit 202 is used to establish at least two multi-path data sub-streams with the multi-path proxy gateway through the port determined by the acquisition unit 201 according to the first IP address and the IP address of the multi-path proxy gateway acquired by the acquisition unit 201, and perform data transmission through the multi-path data sub-streams.

[0159] Among them, the multi-path proxy client further includes a sending unit 203, and the sending unit 203 is used to send a multi-path policy request to the multi-path management device. The multi-path policy request includes the identification information of the multi-path proxy client. The acquisition unit 201 receives the IP address of the multi-path proxy gateway allocated by the multi-path management device for the multi-path proxy client according to the identification information of the multi-path proxy client.

[0160] Wherein, the sending unit 203 is configured to send the IP address of the application server to be accessed by the multipath proxy client to the multipath proxy gateway after the obtaining unit 201 obtains the IP address of the multipath proxy gateway.

[0161] Wherein, the processing unit 202 is further configured to: after establishing at least two multipath data subflows between the multipath proxy client and the multipath proxy gateway, if it is determined that each of the at least two multipath data subflows has not transmitted data within a set time period or it is determined that all of the at least two networks in which the at least two multipath data subflows are established are offline, release the at least two multipath data subflows.

[0162] The processing unit 202 is further configured to: before establishing at least two multipath data subflows between the multipath proxy client and the multipath proxy gateway, determine that the multipath proxy client supports multipath services.

[0163] When implemented in hardware form, in the embodiments of the present invention, the processing unit 202 may be a processor or a controller. The obtaining unit 201 may be a receiver, etc. The sending unit 203 may be a transmitter, etc.

[0164] When the processing unit 202 is a processor, the obtaining unit 201 is a receiver, and the sending unit 203 is a transmitter, the multipath proxy client 200 involved in the embodiments of the present invention may be Figure 13 the structure shown.

[0165] Figure 13 Fig. shows a schematic structural diagram of a multipath proxy client 2000 provided by an embodiment of the present invention. The multipath proxy client 2000 may be a terminal. Refer to Figure 13 As shown, the multipath proxy client 2000 includes a receiver 2001 and a processor 2002. Wherein, the receiver 2001 is configured to support the multipath proxy client to obtain the IP address of the multipath proxy gateway and determine a port dedicated to multipath data transmission. The processor 2002 is configured to support the multipath proxy client to execute the functions of the multipath proxy client in the above method embodiments. The multipath proxy client may further include a memory 2003 and a transmitter 2004. The memory 2003 is used to be coupled with the processor 2002 and stores necessary program instructions and data of the multipath proxy client. The transmitter 2004 is configured to send the IP address of the application server to be accessed by the multipath proxy client to the multipath proxy gateway.

[0166] In the embodiments of the present invention, for the concepts, explanations, detailed descriptions, and other steps related to the multi-path proxy client 200 and the multi-path proxy client 2000 that are relevant to the technical solutions provided by the embodiments of the present invention, please refer to the descriptions of these contents in the foregoing method or other embodiments, and will not be elaborated here.

[0167] In the case of adopting an integrated unit, Figure 14 A schematic structural diagram of a multi-path management device 300 is shown. Refer to Figure 14 As shown, the multi-path management device 300 includes a communication unit 301 and a processing unit 302. Among them, the communication unit 301 is used to obtain a multi-path policy request sent by the multi-path proxy client, and the multi-path policy request includes the multi-path proxy client identification information. The processing unit 302 is used to determine, according to the multi-path proxy client identification information, that the multi-path proxy client supports multi-path services and allocate a multi-path proxy gateway for the multi-path proxy client.

[0168] Among them, the processing unit 302 can determine, according to the multi-path proxy client identification information, the access gateways accessed by the multi-path proxy client in at least two different networks; and allocate multi-path proxy gateways for the multi-path proxy client in the at least two different networks respectively according to the corresponding relationship between the access gateways and the multi-path proxy gateways or according to the multi-path proxy gateway IP addresses sent by the access gateways.

[0169] Among them, the communication unit 301 is further used for: after obtaining the multi-path policy request sent by the multi-path proxy client, obtaining the second IP address and port information dedicated to establishing a multi-path data sub-flow allocated by the multi-path proxy gateway for the multi-path proxy client, and sending the obtained second IP address and port information dedicated to establishing a multi-path data sub-flow to the multi-path proxy client.

[0170] Among them, the processing unit 302 is further used for, after allocating a multi-path proxy gateway for the multi-path proxy client, if it is determined that each of the at least two established multi-path data sub-flows has not transmitted data within a set duration or it is determined that the multi-path proxy client has gone offline in at least two networks where the at least two multi-path data sub-flows are established, sending a first indication message to the multi-path proxy client and the multi-path proxy gateway, where the first indication message is used to indicate that each of the at least two multi-path data sub-flows has not transmitted data within a set duration or is used to indicate that the multi-path proxy client has gone offline in at least two networks where the at least two multi-path data sub-flows are established.

[0171] When implemented in hardware, in the embodiments of the present invention, the processing unit 302 may be a processor or a controller. The communication unit 301 may be a communication interface, a transceiver, a transceiver circuit, etc. Among them, the communication interface is a general term and may include one or more interfaces.

[0172] When the communication unit 301 is a communication interface and the processing unit 302 is a processor, the multi-path proxy gateway involved in the embodiments of the present invention may be Figure 15 the multi-path management device 3000 shown as follows.

[0173] Figure 15 FIG. shows a schematic structural diagram of the multi-path management device 3000 provided by the embodiments of the present invention. Refer to Figure 15 as shown. The multi-path management device 3000 includes a processor 3001, a memory 3002, and a communication interface 3003. The memory 3002 is used to store instructions. The processor 3001 is configured to support the functions of the multi-path management device involved in the above method embodiments by executing the instructions stored in the memory 3002. The communication interface 3003 is configured to support the communication between the multi-path management device and other network elements such as the multi-path proxy gateway and the multi-path proxy client under the control of the processor 3001.

[0174] It can be understood that the drawings in the embodiments of the present invention only show a simplified design of the multi-path proxy gateway, the multi-path proxy client, and the multi-path management device. In actual applications, the multi-path proxy gateway, the multi-path proxy client, and the multi-path management device are not limited to the above structures. For example, a terminal serving as the multi-path proxy client may further include a display device, an input / output interface, etc. And all terminals that can implement the embodiments of the present invention are within the protection scope of the embodiments of the present invention. The multi-path proxy gateway and the multi-path management device may further include any number of transmitters, receivers, processors, controllers, memories, communication units, etc. And all network devices that can implement the embodiments of the present invention are within the protection scope of the embodiments of the present invention.

[0175] Furthermore, among the above, the processor, the memory, the communication interface, and the transceiver may be connected through a bus. The bus architecture may include any number of interconnected buses and bridges. Specifically, various circuits represented by one or more processors represented by the processor and the memory represented by the memory are linked together. The bus architecture may also link various other circuits such as peripheral devices, voltage regulators, and power management circuits. These are well known in the art, and therefore, they will not be further described herein. In the drawings herein, Figure 15The multi-path management device shown uses the bus interface 3004 that provides an interface as an example for illustration. The processor is responsible for managing the bus architecture and general processing, and the memory can store the data used by the processor when executing operations.

[0176] It should be noted that the processor involved in the embodiments of the present invention may be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in connection with the disclosure of the present invention. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.

[0177] Among them, the memory may be integrated in the processor or may be provided separately from the processor.

[0178] As an implementation manner, the functions of the receiver and the transmitter can be considered to be implemented by a transceiver circuit or a dedicated transceiver chip. The processor can be considered to be implemented by a dedicated processing chip, a processing circuit, a processor, or a general-purpose chip.

[0179] As another implementation manner, the program codes for implementing the functions of the processor, the receiver, and the transmitter are stored in the memory, and the general-purpose processor realizes the functions of the processor, the receiver, and the transmitter by executing the codes in the memory.

[0180] According to the method provided by the embodiments of the present invention, the embodiments of the present invention also provide a communication system, which includes one or more of the foregoing multi-path proxy gateways, multi-path proxy clients, and multi-path management devices.

[0181] The embodiments of the present invention also provide a computer storage medium for storing some instructions, which when executed, can complete any one of the methods related to the foregoing multi-path proxy gateway, multi-path proxy client, or multi-path management device.

[0182] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these changes and modifications.

Claims

1. A multi-path data transmission method, characterized in that, it includes: The multi-path proxy gateway receives indication information sent by the multi-path management device for indicating that the multi-path proxy gateway is assigned to a multi-path proxy client for multi-path data transmission; The multi-path proxy gateway determines that the multi-path proxy client supports multi-path services; At least two multi-path data sub-streams are established between the multi-path proxy gateway and the multi-path proxy client, and multi-path data sub-stream data transmission is performed; the at least two multi-path data sub-streams are established by the multi-path proxy client according to the IP address of the multi-path proxy client and the IP address of the multi-path proxy gateway; The multi-path proxy gateway and the application server to be accessed by the multi-path proxy client establish a Transmission Control Protocol (TCP) connection according to the at least two multi-path data sub-streams, and perform TCP data transmission through the TCP connection.

2. The method according to claim 1, characterized in that, The multi-path proxy gateway uses the IP address of the multi-path proxy client to establish the TCP connection with the application server.

3. The method according to claim 1 or 2, characterized in that, Before the multi-path proxy gateway establishes a TCP connection with the application server to be accessed by the multi-path proxy client, the method further includes: The multi-path proxy gateway obtains the IP address of the application server to be accessed by the multi-path proxy client, and the IP address of the application server is sent by the multi-path proxy client.

4. The method according to claim 2, characterized in that, The IP address of the multi-path proxy client is assigned by the multi-path proxy gateway.

5. A multi-path data transmission method, characterized in that, it includes: The multi-path proxy client sends a multi-path policy request to the multi-path management device to request multi-path services; The multi-path proxy client receives the IP address of the multi-path proxy gateway assigned by the multi-path management device for the multi-path proxy client; The multi-path proxy client establishes at least two multi-path data sub-streams with the multi-path proxy gateway according to the IP address of the multi-path proxy client and the IP address of the multi-path proxy gateway, and performs multi-path data sub-stream data transmission with the multi-path proxy gateway.

6. The method according to claim 5, characterized in that, After the multi-path proxy client obtains the IP address of the multi-path proxy gateway, the method further includes: The multi-path proxy client sends the IP address of the application server to be accessed by the multi-path proxy client to the multi-path proxy gateway.

7. The method according to claim 5 or 6, characterized in that, Before the multi-path proxy client establishes at least two multi-path data sub-streams with the multi-path proxy gateway, the method further includes: The multi-path proxy client determines that it supports multi-path services.

8. The method according to claim 5 or 6, characterized in that, It further includes: The multi-path proxy client receives the multi-path policy request response sent by the multi-path management device, and determines that it supports multi-path services.

9. The method according to claim 8, wherein, the multi-path policy request response includes the identifier of the multi-path proxy client.

10. A multi-path data transmission method, wherein, comprising: The multi-path management device receives a multi-path policy request sent by the multi-path proxy client, and determines that the multi-path proxy client supports multi-path services according to the multi-path policy request; The multi-path management device allocates a multi-path proxy gateway to the multi-path proxy client, and sends indication information for indicating that the multi-path proxy gateway is allocated to the multi-path proxy client for multi-path data transmission to the multi-path proxy gateway; wherein, at least two multi-path data sub-streams are established between the multi-path proxy gateway and the multi-path proxy client, and multi-path data sub-stream data transmission is performed; the at least two multi-path data sub-streams are established by the multi-path proxy client according to the IP address of the multi-path proxy client and the IP address of the multi-path proxy gateway.

11. The method according to claim 10, wherein, the multi-path policy request includes multi-path proxy client identification information, and the multi-path management device allocating a multi-path proxy gateway to the multi-path proxy client includes: The multi-path management device determines the access gateways accessed by the multi-path proxy client in at least two different networks according to the multi-path proxy client identification information; The multi-path management device allocates multi-path proxy gateways to the multi-path proxy client in the at least two different networks respectively according to the corresponding relationship between the access gateway and the multi-path proxy gateway or according to the multi-path proxy gateway IP address sent by the access gateway.

12. The method according to claim 10, wherein, further comprising: The multi-path management device sends the IP address of the multi-path proxy gateway allocated to the multi-path proxy client to the multi-path proxy client.

13. A multi-path proxy gateway, wherein, comprising: A processor and a memory, the memory is used for storing instructions, and when the processor executes the instructions stored in the memory, the multi-path proxy gateway is used to implement the method according to any one of claims 1-4.

14. A multi-path proxy client, wherein, comprising: A processor and a memory, the memory is used for storing instructions, and when the processor executes the instructions stored in the memory, the multi-path proxy client is used to implement the method according to any one of claims 5-9.

15. A multi-path management device, wherein, comprising: A processor and a memory, the memory is used for storing instructions, and when the processor executes the instructions stored in the memory, the multi-path management device is used to implement the method according to any one of claims 10-12.

16. A computer storage medium, wherein, On which computer instructions are stored, and when the computer instructions are run on a computer, the multi-path data transmission method according to any one of claims 1-4 is executed, or the multi-path data transmission method according to any one of claims 5-9 is executed, or the multi-path data transmission method according to any one of claims 10-12 is executed.

17. A communication system Characterized in that The communication system includes a multi-path proxy gateway and a multi-path management device, wherein the multi-path proxy gateway is used to execute the multi-path data transmission method according to any one of claims 1-4, and the multi-path management device is used to execute the multi-path data transmission method according to any one of claims 10-12.

18. The system according to claim 17 Characterized in that It further includes: A multi-path proxy client is used to execute the multi-path data transmission method according to any one of claims 5-9.

19. A multi-path data transmission method Characterized in that It includes: The multi-path management device receives a multi-path policy request sent by the multi-path proxy client, and determines that the multi-path proxy client supports multi-path services according to the multi-path policy request; The multi-path management device allocates a multi-path proxy gateway for the multi-path proxy client, and sends indication information for indicating that the multi-path proxy gateway is allocated to the multi-path proxy client for multi-path data transmission to the multi-path proxy gateway; The multi-path proxy gateway receives the indication information sent by the multi-path management device; The multi-path proxy gateway determines that the multi-path proxy client supports multi-path services; At least two multi-path data sub-streams are established between the multi-path proxy gateway and the multi-path proxy client, and multi-path data sub-stream data transmission is performed; the at least two multi-path data sub-streams are established by the multi-path proxy client according to the IP address of the multi-path proxy client and the IP address of the multi-path proxy gateway; The multi-path proxy gateway and the application server to be accessed by the multi-path proxy client establish a Transmission Control Protocol (TCP) connection according to the at least two multi-path data sub-streams, and perform TCP data transmission through the TCP connection.

20. The method according to claim 19 Characterized in that It further includes: The multi-path proxy client sends the multi-path policy request to the multi-path management device; The multi-path proxy client receives the IP address of the multi-path proxy gateway allocated by the multi-path management device for the multi-path proxy client.

21. A multi-path data transmission device Characterized in that It includes: One or more functional modules for executing the method according to any one of claims 1-4, 5-9, 10-12.

Citation Information

Patent Citations

  • A multipath data transmission method and device

    CN108075987B