WO2016169050A1 - Method and device for establishing mptcp sub-stream - Google Patents

Method and device for establishing mptcp sub-stream Download PDF

Info

Publication number
WO2016169050A1
WO2016169050A1 PCT/CN2015/077396 CN2015077396W WO2016169050A1 WO 2016169050 A1 WO2016169050 A1 WO 2016169050A1 CN 2015077396 W CN2015077396 W CN 2015077396W WO 2016169050 A1 WO2016169050 A1 WO 2016169050A1
Authority
WO
WIPO (PCT)
Prior art keywords
mptcp
terminal
sub
flow
substream
Prior art date
Application number
PCT/CN2015/077396
Other languages
French (fr)
Chinese (zh)
Inventor
魏鑫鹏
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2015/077396 priority Critical patent/WO2016169050A1/en
Priority to CN201580059342.3A priority patent/CN107113285B/en
Publication of WO2016169050A1 publication Critical patent/WO2016169050A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present invention relates to the field of wireless communications, and in particular, to a method and a device for establishing a multipath Transmission Control Protocol (MPTCP) MPTCP substream.
  • MPTCP Multipath Transmission Control Protocol
  • TCP Transmission Control Protocol
  • WiFi Wireless Fidelity
  • cellular network interfaces there are multiple available paths between two mutually communicating terminals. If only one path is still used according to the standard TCP protocol, other path resources are wasted.
  • more and more applications on the current terminal require Internet access. If these applications can simultaneously access multiple paths through different interfaces, a higher level of user experience can be guaranteed, and the wireless network can be reduced due to link changes. The characteristics of high bit error rate are affected.
  • IETF Internet Engineering Task Force
  • the core idea of MPTCP is to add an MPTCP layer supporting multipath transmission between the application layer and the transport layer, and divide the traditional TCP data into multiple TCPMPTCP substreams, and different TCPMPTCP substreams are transmitted along different paths. Aggregate at the terminal.
  • the original TCP layer only works on the MPTCP substream, so that MPTCP is compatible with the original TCP, transparent to other layers of the network, and the network does not have to be changed too much.
  • MPTCP Although MPTCP technology can enable terminals to communicate using multiple interfaces at the same time, MPTCP requires both parties participating in the communication to support MPTCP at the same time. When one of the communicating parties does not support MPTCP, MPTCP cannot be used for communication.
  • MPTCP proxy In order to enable a terminal having MPTCP capability to communicate with a terminal having no MPTCP capability, the concept of an MPTCP proxy has been proposed in the prior art. The ultimate goal of the MPTCP proxy is to end the MPTCP terminal with TCP. The mapping between the MPTCP session and the TCP session is implemented between the terminals.
  • the MPTCP proxy when the MPTCP proxy is deployed by the operator, when the MPTCP terminal has established an MPTCP session through the MPTCP proxy, then usually the MPTCP proxy only allows the MPTCP terminal to use the wireless access point deployed by the operator to establish the MPTCP substream. Or for some other reasons, such as the current load of the MPTCP proxy is too heavy, etc. to reject the establishment of a new substream of MPTCP. At this time, if the MPTCP terminal establishes a new MPTCP substream with the MPTCP proxy, the MPTCP subflow may be established. failure.
  • the embodiment of the present invention provides a method for establishing an MPTCP sub-flow and related devices, so as to at least solve the problem that if the MPTCP sub-flow fails to be established in the prior art, the MPTCP terminal initiates a sub-flow establishment request to the same destination address + port number, and the MPTCP sub- The flow cannot be established successfully, which causes the MPTCP terminal to no longer fully utilize the multipath function of MPTCP.
  • a method for establishing a multi-path transmission control protocol MPTCP sub-flow includes:
  • the first terminal sends a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established;
  • the first terminal receives a sub-flow establishment reject response, and the sub-flow establishment reject response carries a reason for not allowing the MPTCP new sub-flow to be established;
  • the first terminal sends a second sub-flow establishment request according to the cause and the preset policy, where the second sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established.
  • the first terminal sends a first sub-flow establishment request, including:
  • the first terminal sends a sub-flow establishment request to the MPTCP proxy, where the first sub-flow setup request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
  • the reason for not allowing the MPTCP new substream to be established includes:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the preset policy includes:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP subflow
  • the first terminal stops at the current access point to the The MPTCP proxy sends a substream setup request until the first terminal accesses the new access point and sends the second substream setup request to the MPTCP proxy;
  • the first terminal sends the first to the MPTCP proxy after a first preset time.
  • the first terminal is The second substream setup request is sent to the MPTCP proxy after the end of at least one other MPTCP substream.
  • the first terminal sends the first sub-flow establishment request, including:
  • the first terminal sends a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  • the reason for not allowing the MPTCP new subflow to be established includes:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  • the preset policy includes:
  • the first terminal sends the second terminal to the second terminal after the second preset time. Describe a second substream establishment request
  • the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the first terminal The second substream setup request is sent to the second terminal after the end of at least one other MPTCP substream.
  • a method for establishing a multi-path transmission control protocol MPTCP sub-flow includes:
  • the sub-flow establishment reject response is sent to the first terminal, and the sub-flow establishment reject response carries the reason that the MPTCP new sub-flow is not allowed to be established.
  • the receiving, by the first terminal, the sub-flow establishment request includes:
  • the MPTCP proxy receives the substream setup request sent by the first terminal, and the substream setup request is used to instruct the MPTCP proxy to establish an MPTCP new substream.
  • the reason for not allowing the MPTCP new subflow to be established includes:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the receiving A sub-flow establishment request sent by a terminal including:
  • the second terminal receives the sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  • the reason for not allowing the new sub-flow of the MPTCP to be established includes:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  • a first terminal in a third aspect, includes a sending unit and a receiving unit;
  • the sending unit is configured to send a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that a multi-path transmission control protocol MPTCP new sub-flow is established;
  • the receiving unit is configured to receive a sub-flow establishment rejection response, where the sub-flow establishment rejection response carries a reason that the MPTCP new sub-flow is not allowed to be established;
  • the sending unit is further configured to send a second sub-flow establishment request according to the cause and a preset policy.
  • the sending unit is specifically configured to:
  • the reason for not allowing the MPTCP new substream to be established includes:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the preset policy includes:
  • the sending unit stops at the current access point to the MPTCP.
  • the proxy sends a sub-flow establishment request, and the second sub-flow establishment request is sent to the MPTCP proxy after the first terminal accesses the new access point;
  • the sending unit sends the second to the MPTCP proxy after a first preset time.
  • the sending unit is at least After the other MPTCP substream ends, the second substream setup request is sent to the MPTCP proxy.
  • the sending unit is specifically configured to:
  • the reason that the MPTCP new substream is not allowed to be established includes:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  • the preset policy includes:
  • the sending unit sends the second terminal to the second terminal after the second preset time.
  • the sending unit is After the at least one other MPTCP substream ends, the second substream setup request is resent to the second terminal.
  • a fourth aspect provides a device for establishing a multi-path transmission control protocol, an MPTCP sub-flow, where the apparatus for establishing an MPTCP sub-flow includes: a receiving unit, a determining unit, and a sending unit;
  • the receiving unit is configured to receive a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established;
  • the determining unit is configured to determine, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established;
  • the sending unit is configured to: if the determining unit determines that the MPTCP new sub-flow is not allowed to be established, send a sub-flow establishment reject response to the first terminal, where the sub-flow establishment reject response carries the MPTCP new sub-flow not allowed The reason for the establishment.
  • the apparatus for establishing the MPTCP sub-flow is an MPTCP proxy, and the receiving unit is specifically configured to:
  • the reason for not allowing the MPTCP new substream to be established includes:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the device for establishing the MPTCP sub-flow is a second terminal, and the receiving unit is specifically configured to:
  • the reason that the MPTCP new substream is not allowed to be established includes:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  • a fifth aspect provides a first terminal of a multipath transmission control protocol, where the first terminal includes a processor, a memory, a bus, and a communication interface;
  • the memory is configured to store a computer execution instruction
  • the processor is connected to the memory through the bus, and when the first terminal is running, the processor executes the computer execution instruction stored in the memory to
  • the first terminal is configured to perform the method of establishing an MPTCP substream according to any one of the first aspects.
  • a sixth aspect provides a device for establishing a multi-path transmission control protocol MPTCP sub-flow, where the apparatus for establishing an MPTCP sub-flow includes a processor, a memory, a bus, and a communication interface;
  • the memory is configured to store a computer execution instruction
  • the processor is connected to the memory through the bus, and when the establishing device of the MPTCP substream is running, the processor executes the computer execution of the memory storage And an instruction to cause the establishing means of the MPTCP substream to perform the method of establishing the MPTCP substream according to any one of the second aspects.
  • the first terminal receives the sub-flow establishment rejection response, and the sub-flow establishes a rejection response, according to the method and the related device for establishing the MPTCP sub-flow according to the embodiment of the present invention.
  • the reason for not allowing the new sub-flow of the MPTCP to be established is carried.
  • the first terminal may re-send the sub-flow establishment request according to the preset policy.
  • the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy.
  • the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP.
  • the problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
  • FIG. 1 is a schematic diagram of an MPTCP protocol stack according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a typical application scenario of an MPTCP according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of an existing mobile network core network
  • FIG. 4 is a schematic flowchart 1 of a method for establishing an MPTCP substream according to an embodiment of the present invention
  • FIG. 5 is a second schematic flowchart of a method for establishing an MPTCP subflow according to an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram of a scenario in which an MPTCP subflow establishment failure is provided according to an embodiment of the present invention.
  • FIG. 7 is a schematic flowchart 3 of a method for establishing an MPTCP subflow according to an embodiment of the present disclosure
  • FIG. 8 is a schematic flowchart 4 of a method for establishing an MPTCP sub-flow according to an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart 5 of a method for establishing an MPTCP substream according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic flowchart 6 of a method for establishing an MPTCP substream according to an embodiment of the present invention
  • FIG. 11 is a schematic diagram 1 of an interaction method for establishing an MPTCP sub-flow according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram 2 of an interaction method for establishing an MPTCP sub-flow according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram 1 of a first terminal according to an embodiment of the present disclosure.
  • FIG. 14 is a schematic structural diagram 1 of an apparatus for establishing an MPTCP substream according to an embodiment of the present invention.
  • FIG. 15 is a second schematic structural diagram of a first terminal according to an embodiment of the present disclosure.
  • FIG. 16 is a schematic structural diagram 2 of an apparatus for establishing an MPTCP substream according to an embodiment of the present invention.
  • FIG. 2 shows a typical application scenario of MPTCP.
  • Terminal A and terminal B are two multi-interfaces (including one WiFi interface and one cellular network interface) that communicate with each other.
  • the IP addresses of the interfaces on the two terminals are A1, A2, and B1, B2.
  • terminal A wants to use MPTCP to communicate with terminal B
  • terminal A can simultaneously communicate with terminal B by using the WiFi interface and the cellular network interface, that is, establishing a TCP MPTCP substream on the WiFi interface and the cellular network interface, respectively, so the terminal A and terminal B can simultaneously communicate using two interfaces, thereby increasing communication bandwidth.
  • FIG. 3 shows the architecture of the mobile network core network.
  • the mobile network includes a terminal, an evolved Universal Mobile Telecommunications System (UMTS), an Evolved UMTS Terrestrial Radio Access Network (E-UTRAN), and a Mobility Management Entity (Mobility Management Entity, Abbreviation: MME), General Packet Radio Service (GPRS) Service Support Node (Serving GPRS Support Node, SGSN for short), Home Subscriber Server (Home) Subscriber Server (referred to as: HSS), Serving Gateway (SGW), Packet Data Network Gateway (PGW), and Policy and Charging Rules Function (PCRF) Protocols for interconnection between networks (Internet Protocol, IP for short).
  • MME Mobility Management Entity
  • GPRS General Packet Radio Service
  • SGW Serving Gateway
  • PGW Packet Data Network Gateway
  • PCRF Policy and Charging Rules Function
  • the core network involved in the embodiment of the present invention may also be a core network in another network or a core network in a fixed network.
  • the embodiment of the present invention is only an example of the existing mobile network core network, and the existing mobile The core network outside the network core network is not specifically limited.
  • the embodiment of the present invention provides a method for establishing an MPTCP sub-flow, which is applicable not only when the first terminal knows that it is interacting with the MPTCP proxy, but also when the first terminal does not know that it is interacting with the MPTCP proxy, such as As shown in Figure 4, the method includes:
  • the first terminal sends a first sub-flow setup request, where the first sub-flow setup request is used to indicate that an MPTCP new sub-flow is established.
  • the first terminal is a terminal that supports MPTCP, for example, a smart phone supporting MPTCP, a tablet supporting MPTCP, and the like.
  • the first terminal receives a subflow setup reject response, and the subflow setup reject response carries a reason that does not allow the MPTCP new subflow to be established.
  • the first terminal sends a second sub-flow establishment request according to the cause and a preset policy, where the second sub-flow establishment request is used to indicate that an MPTCP new sub-flow is established.
  • the communication peer end (ie, the second terminal) of the first terminal does not support MPTCP, for example, the second terminal is a TCP terminal.
  • the second terminal is a TCP terminal.
  • an MPTCP proxy needs to be added between the first terminal and the TCP terminal to enable mapping between the MPTCP session and the TCP session between the MPTCP terminal and the TCP terminal.
  • step S401 specifically includes:
  • the first terminal sends a first substream setup request to the MPTCP proxy, where the first subflow setup request is used to instruct the MPTCP proxy to establish an MPTCP new subflow.
  • step S403 specifically includes:
  • the first terminal sends a second subflow setup request to the MPTCP proxy according to the cause and the preset policy, where the second subflow setup request is used to instruct the MPTCP proxy to establish an MPTCP new subflow.
  • the MPTCP proxy in the embodiment of the present invention may be deployed independently, or may be deployed on the network device of the existing mobile network core network as shown in FIG. 3, such as a network deployed on the PGW or deployed behind the uplink PGW.
  • the device in this embodiment of the present invention does not specifically limit this.
  • the reason that the MPTCP new substream is not allowed to be established may include:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the reason that the MPTCP proxy does not allow the establishment of the MPTCP new substream may be other.
  • the foregoing is merely an example of providing several possible MPTCP agents that do not allow the establishment of the MPTCP new substream.
  • the embodiment of the present invention does not allow the MPTCP proxy.
  • Other reasons for the establishment of the MPTCP new substream are not specifically limited.
  • the preset policy may include:
  • the first terminal stops at The current access point sends a sub-flow establishment request to the MPTCP proxy, and the second sub-flow establishment request is sent to the MPTCP proxy after the first terminal accesses the new access point;
  • the first terminal sends the first to the MPTCP proxy after a first preset time.
  • the first terminal is The second substream setup request is sent to the MPTCP proxy after the end of at least one other MPTCP substream.
  • the first terminal A uses the MPTCP proxy of the operator A, and has established the MPTCP substream 1 through the Long Term Evolution (LTE) interface, and then passes the The WiFi interface requests to establish the MPTCP substream 2. Then, since the WiFi access point used at this time is other operators (for example, belonging to the operator B), the establishment request of the MPTCP substream 2 is rejected.
  • LTE Long Term Evolution
  • the MPTCP new substream may not be established using the WiFi interface, even if the first terminal A moves to the operator A.
  • the WiFi interface is no longer used to establish a new MPTCP substream within the coverage of the deployed WiFi network. This will cause the first terminal A to no longer fully utilize the multipath function of MPTCP.
  • the first terminal A receives the sub-flow establishment rejection response returned by the MPTCP proxy, and the sub-flow establishment rejection response carries the reason that the MPTCP proxy does not allow the establishment of the MPTCP new sub-flow, for example, the reason is that the MPTCP proxy prohibits
  • the first terminal A initiates an MPTCP subflow using the current access point.
  • the first terminal A stops sending a sub-flow establishment request to the MPTCP proxy at the current access point, and sends a second to the MPTCP proxy after the first terminal A accesses the new access point.
  • Subflow setup request That is, if the first terminal A moves to the coverage of the WiFi network deployed by the operator A, the first terminal A can establish a new MPTCP sub-flow using the WiFi interface, thereby fully utilizing the multi-path function of the MPTCP.
  • the communication peer end (ie, the second terminal) of the first terminal supports MPTCP.
  • the first terminal can communicate with the second terminal.
  • the step S401 specifically includes:
  • S401b The first terminal sends a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  • step S403 specifically includes:
  • S403b The first terminal sends a second sub-flow establishment request to the second terminal according to the cause and the preset policy, where the second sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  • the second terminal in the embodiment of the present invention may be a smart phone supporting MPTCP, a tablet computer supporting MPTCP, and the like, and may also be an MPTCP server, which is not specifically limited in this embodiment of the present invention.
  • the reason that the MPTCP new substream is not allowed to be established may include:
  • the current load of the second terminal is not less than a first threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a second threshold.
  • the reason why the second terminal does not allow the establishment of the new sub-stream of the MPTCP may be other.
  • the foregoing is merely an example of the reason that the two possible second terminals are not allowed to establish the new sub-flow of the MPTCP.
  • Other reasons why the terminal does not allow MPTCP new substream establishment are not specifically limited.
  • the preset policy may include:
  • the first terminal sends the second terminal to the second terminal after the second preset time. Describe a second substream establishment request
  • the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the first terminal The second substream setup request is sent to the second terminal after the end of at least one other MPTCP substream.
  • the number of MPTCP sub-flows on the MPTCP connection established by the first terminal by the second terminal is no more than three, and the first terminal A currently uses the MPTCP established by the second terminal.
  • the number of MPTCP sub-flows on the connection is already three. If the second terminal is to be configured to establish a new MPTCP sub-flow, the MPTCP sub-flow on the MPTCP connection established by the first terminal A through the second terminal at this time is The number is not less than the fourth threshold (the fourth threshold in this example is 3), and the establishment request of the MPTCP substream is rejected.
  • the MPTCP new sub-flow may not be established through the second terminal, even if some subsequent MPTCP sub-flows end, the first The number of MPTCP sub-streams on the MPTCP connection established by the terminal A is less than the fourth threshold, and the new MPTCP sub-flow is no longer established by the second terminal. This will result in the first terminal A not being able to fully utilize the MPTCP. Path function.
  • the first terminal A receives the sub-flow establishment rejection response returned by the second terminal, and the sub-flow establishment rejection response carries the reason that the second terminal does not allow the establishment of the MPTCP new sub-flow, the reason is the first
  • the number of MPTCP sub-streams on the MPTCP connection established by the terminal A through the second terminal is not less than a fourth threshold.
  • the first terminal A sends a second sub-flow establishment request to the second terminal after the end of the other MPTCP sub-flows.
  • the first terminal A can establish a new MPTCP substream through the second terminal, thereby fully utilizing the MPTCP. Multipathing.
  • the method for establishing an MPTCP sub-flow in the embodiment of the present invention, if the MPTCP new sub-flow is not allowed to be established, the first terminal receives the sub-flow establishment rejection response, and the sub-flow establishment rejection response does not allow
  • the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy.
  • the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP.
  • An embodiment of the present invention provides a method for establishing an MPTCP subflow. As shown in FIG. 8, the method includes:
  • the first terminal is a terminal that supports MPTCP, for example, a smart phone supporting MPTCP, a tablet supporting MPTCP, and the like.
  • the executor of the method for establishing the MPTCP sub-flow provided by the embodiment of the present invention may be the second terminal or the MPTCP proxy described in the foregoing method embodiment, which is not specifically limited in this embodiment of the present invention.
  • step S801 may specifically include:
  • the MPTCP proxy receives the subflow setup request sent by the first terminal, where the subflow setup request is used to instruct the MPTCP proxy to establish an MPTCP new subflow.
  • the MPTCP proxy in the embodiment of the present invention may be deployed independently, or may be deployed on the network device of the existing mobile network core network as shown in FIG. 3, such as a network deployed on the PGW or deployed behind the uplink PGW.
  • the device in this embodiment of the present invention does not specifically limit this.
  • step S802 the reason that the MPTCP new substream is not allowed to be established may include:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the reason that the MPTCP proxy does not allow the establishment of the MPTCP new substream may be other.
  • the foregoing is merely an example of providing several possible MPTCP agents that do not allow the establishment of the MPTCP new substream.
  • the embodiment of the present invention does not allow the MPTCP proxy.
  • Other reasons for the establishment of the MPTCP new substream are not specifically limited.
  • step S801 may specifically include:
  • S801b The second terminal receives the sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  • the second terminal in the embodiment of the present invention may support a smart phone of the MPTCP, a tablet computer that supports the MPTCP, and the like, and may also be an MPTCP server, which is not specifically limited in the embodiment of the present invention.
  • step S802 the reason that the MPTCP new substream is not allowed to be established may include:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  • the reason why the second terminal does not allow the establishment of the new sub-stream of the MPTCP may be other.
  • the foregoing is merely an example of the reason that the two possible second terminals are not allowed to establish the new sub-flow of the MPTCP.
  • Other reasons why the terminal does not allow MPTCP new substream establishment are not specifically limited.
  • the sub-flow establishment request may be sent according to the preset policy.
  • the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send substream establishment to the MPTCP proxy. request.
  • the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP.
  • the problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
  • An embodiment of the present invention provides a method for establishing an MPTCP sub-flow.
  • the interaction between the first terminal and the MPTCP proxy is taken as an example. As shown in FIG. 11, the method includes:
  • the first terminal sends a first sub-flow establishment request to the MPTCP proxy, where the first sub-flow setup request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
  • the MPTCP proxy receives the substream setup request, and determines whether to allow the MPTCP new subflow to be established according to the subflow setup request.
  • the MPTCP proxy determines that the MPTCP new substream is not allowed to be established, and sends a subflow setup rejection to the first terminal, the subflow setup reject response carries the reason that the MPTCP proxy does not allow the MPTCP new subflow to be established.
  • S1104 The first terminal receives the subflow setup rejection response.
  • S1105 The first terminal sends a second subflow setup request to the MPTCP proxy according to the reason that the MPTCP proxy does not allow the MPTCP new subflow to be established and the preset policy, where the second subflow setup request is used to instruct the MPTCP proxy to establish the MPTCP new subroutine. flow.
  • the embodiment of the present invention provides a method for establishing an MPTCP sub-flow, which is specifically described by using the interaction between the first terminal and the second terminal. As shown in FIG. 12, the method includes:
  • S1201 The first terminal sends a sub-flow establishment request to the second terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  • the second terminal receives the sub-flow establishment request, and determines, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established.
  • the sub-flow establishment reject response is sent to the first terminal, and the sub-flow establishment reject response carries the reason that the second terminal does not allow the MPTCP new sub-flow to be established.
  • the first terminal receives the subflow setup rejection response.
  • S1205 The first terminal sends a second sub-flow establishment request to the second terminal according to the reason that the second terminal does not allow the MPTCP new sub-flow to be established and the preset policy, where the second sub-flow establishment request is used to indicate that the second terminal is established. MPTCP new subflow.
  • FIG. 11 and FIG. 12 is a detailed description of the foregoing embodiment, and the technical effects that can be achieved can also be referred to the above description, and details are not described herein again.
  • the embodiment of the present invention provides a first terminal 130.
  • the first terminal 130 includes a sending unit 1301 and a receiving unit 1302.
  • the sending unit 1301 is configured to send a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that a multi-path transmission control protocol (MPTCP) new sub-flow is established.
  • MPTCP multi-path transmission control protocol
  • the receiving unit 1302 is configured to receive a sub-flow establishment rejection response, where the sub-flow establishment rejection response carries a reason that the MPTCP new sub-flow is not allowed to be established.
  • the sending unit 1301 is further configured to send a second sub-flow establishment request according to the cause and a preset policy, where the second sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established.
  • the sending unit 1301 is specifically configured to:
  • the reason that the MPTCP new substream is not allowed to be established may include:
  • the MPTCP proxy prohibits the first terminal 130 from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the first terminal 130 is currently connected to the MPTCP connection established by the MPTCP proxy.
  • the number of MPTCP substreams is not less than the second threshold.
  • the preset policy may include:
  • the sending unit 1301 stops at the current access point.
  • the MPTCP proxy sends a substream setup request until the first terminal 130 accesses the new access point and sends the second substream setup request to the MPTCP proxy.
  • the sending unit 1301 resends the foregoing to the MPTCP proxy after the first preset time. a second substream setup request;
  • the sending unit 1301 If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal 130 by the MPTCP proxy is not less than a second threshold, the sending unit 1301 The second substream setup request is resent to the MPTCP proxy after the end of at least one other MPTCP substream.
  • the sending unit 1301 is specifically configured to:
  • the reason that the MPTCP new substream is not allowed to be established may include:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal 130 by the second terminal is not less than a fourth threshold.
  • the preset policy may include:
  • the sending unit 1301 may send the second terminal to the second terminal after the second preset time.
  • the sending unit 1301 resends the second substream setup request to the second terminal after the end of at least one other MPTCP substream.
  • the foregoing sending unit 1301 may be implemented by using a transmitter, and the receiving unit 1302 may be implemented by using a receiver.
  • the transmitter and the receiver may be integrated to form a transceiver, which is not limited in this embodiment of the present invention.
  • the method for performing the establishment of the MPTCP sub-flow by the first terminal 130 may refer to the description of the foregoing method embodiment, and details are not described herein again.
  • the first terminal in the embodiment of the present invention, if the MPTCP new substream is not allowed to be established, the first terminal receives the subflow establishment reject response, and the subflow establishment reject response carries the MPTCP new subroutine. After the flow is established, the first terminal may resend the sub-flow establishment request according to the preset policy after learning that the MPTCP sub-flow is not allowed to be established.
  • the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy.
  • the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP.
  • the problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
  • the embodiment of the present invention provides an apparatus for establishing an MPTCP sub-flow.
  • the apparatus for establishing an MPTCP sub-flow includes: a receiving unit 1401, a determining unit 1402, and a sending unit 1403.
  • the receiving unit 1401 is configured to receive a sub-flow setup request sent by the first terminal, where the sub-flow setup request is used to indicate that the MPTCP new sub-flow is established.
  • the determining unit 1402 is configured to determine, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established.
  • the sending unit 1403 is configured to: if the determining unit 1402 determines that the MPTCP new sub-flow is not allowed to be established, send a sub-flow establishment reject response to the first terminal, where the sub-flow establishment reject response carries the MPTCP new The reason the subflow is established.
  • the establishing unit 140 of the MPTCP sub-flow is an MPTCP proxy; the receiving unit 1401 is specifically configured to:
  • the reason that the MPTCP new substream is not allowed to be established includes:
  • the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream
  • the current load of the MPTCP proxy is not less than a first threshold; or,
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  • the establishing unit 140 of the MPTCP sub-flow is a second terminal, and the receiving unit 1401 is specifically configured to:
  • the reason that the MPTCP new substream is not allowed to be established includes:
  • the current load of the second terminal is not less than a third threshold
  • the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  • the sending unit 1403 may be implemented by using a transmitter
  • the receiving unit 1401 may be implemented by using a receiver
  • the determining unit 1402 may be implemented by using a processor.
  • the transmitter and the receiver may be integrated to form a transceiver, which is not limited in this embodiment of the present invention.
  • the method for establishing the MPTCP sub-flow by the apparatus for establishing the MPTCP sub-flow may refer to the description of the foregoing method embodiment, and details are not described herein again.
  • the device for establishing an MPTCP sub-flow in the embodiment of the present invention, if the device for establishing the MPTCP sub-flow does not allow the establishment of the new sub-stream of the MPTCP, the reason for not allowing the establishment of the new sub-stream of the MPTCP is sent to the A terminal, so that after the first terminal learns the reason that the MPTCP substream is not allowed to be established, the sub-flow establishment request may be sent according to the preset policy.
  • the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy.
  • the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP.
  • the problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
  • the embodiment of the present invention provides a first terminal 150.
  • the first terminal 150 includes a processor 1501, a memory 1502, a bus 1503, and a communication interface 1504.
  • the processor 1501, the memory 1502, and the communication interface 1504 are connected by a bus 1503 and complete mutual communication.
  • Processor 1501 may be a single core or multi-core central processing unit, or a particular integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 1502 may be a high speed random access memory 1502 (Random Access Memory, RAM for short) memory 1502 or a non-volatile memory 1502 such as at least one disk memory 1502.
  • RAM Random Access Memory
  • Memory 1502 is for storing computer execution instructions 15021. Specifically, the program code may be included in the computer execution instruction 15021.
  • the processor 1501 runs the computer execution instruction 15021.
  • the flow of the method for establishing the MPTCP subflow according to any one of the method embodiments of FIG. 4, FIG. 5 and FIG. 7 may be performed.
  • the first terminal 150 provided in this embodiment can be used to perform the foregoing method. Therefore, the technical effects that can be obtained can also be referred to the description of the foregoing method embodiments, and details are not described herein again.
  • An embodiment of the present invention provides an apparatus for establishing an MPTCP substream, as shown in FIG.
  • the MPTCP substream establishing means 160 includes a processor 1601, a memory 1602, a bus 1603, and a communication interface 1604.
  • the processor 1601, the memory 1602, and the communication interface 1604 are connected by a bus 1603 and complete mutual communication.
  • Processor 1601 may be a single core or multi-core central processing unit, or a particular integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 1602 may be a RAM memory 1602 or a non-volatile memory 1602, such as at least one disk storage 1602.
  • the memory 1602 is for storing computer execution instructions 16021. Specifically, the program code may be included in the computer execution instruction 16021.
  • the MPTCP sub-flow establishing device 160 is an MPTCP proxy; when performing the MPTCP sub-flow establishing method flow as described in the method embodiment corresponding to FIG. In the process of establishing the MPTCP sub-flow, the device for establishing the MPTCP sub-flow is the second terminal.
  • the apparatus for establishing an MPTCP sub-flow provided by this embodiment can be used to perform the foregoing method. Therefore, the technical effects that can be obtained can also be referred to the description of the foregoing method embodiments, and details are not described herein again.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the software functional units described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform portions of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a RAM, a magnetic disk, or an optical disk, and the like, which can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Provided are a method and device for establishing an MPTCP sub-stream, which are used for solving the problem existing in the prior art that when an MPTCP terminal initiates a sub-stream establishment request to the same destination address + port number again in the case where the establishment of an MPTCP sub-stream fails, the MPTCP sub-stream cannot be established successfully, thus resulting in the situation that the MPTCP terminal can no longer make full use of multipath functions of an MPTCP. The method comprises: a first terminal sending a first sub-stream establishment request, the first sub-stream establishment request being used for indicating the establishment of a new MPTCP sub-stream; the first terminal receiving a sub-stream establishment refusal response, the sub-stream establishment refusal response carrying a reason why the new MPTCP sub-stream is not allowed to be established; the first terminal sending a second sub-stream establishment request according to the reason and a pre-set strategy, the second sub-stream establishment request being used for indicating the establishment of a new MPTCP sub-stream. The present invention is applied to the field of wireless communications.

Description

MPTCP子流的建立方法及设备Method and device for establishing MPTCP substream 技术领域Technical field
本发明涉及无线通信领域,尤其涉及多路径传输控制协议(Multipath Transmission Control Protocol,简称:MPTCP)MPTCP子流的建立方法及设备。The present invention relates to the field of wireless communications, and in particular, to a method and a device for establishing a multipath Transmission Control Protocol (MPTCP) MPTCP substream.
背景技术Background technique
在标准传输控制协议(Transmission Control Protocol,简称:TCP)协议中,每个连接只使用一条路径进行传输。然而在新的移动互联网环境中,不同的无线接入技术相互融合,终端具有多种网络接口,例如无线保真(Wireless Fidelity,简称:WiFi)和蜂窝网络(cellular network)接口。这时两个互相通信的终端之间存在多条可用路径,如果依然按照标准TCP协议只同时使用一条路径,就会浪费其它路径资源。另一方面,当前终端上越来越多的应用程序需要互联网接入,如果这些应用程序能够通过不同接口的多路径同时接入,就可以保证更高水平的用户体验,减少无线网络因链路变化、高误码率等特点受到的影响。互联网工程任务组(Internet Engineering Task Force,简称:IETF)正是基于此目的成立MPTCP工作组对MPTCP进行研究。In the standard Transmission Control Protocol (TCP) protocol, each connection uses only one path for transmission. However, in the new mobile Internet environment, different wireless access technologies are integrated, and the terminal has multiple network interfaces, such as Wireless Fidelity (WiFi) and cellular network interfaces. At this time, there are multiple available paths between two mutually communicating terminals. If only one path is still used according to the standard TCP protocol, other path resources are wasted. On the other hand, more and more applications on the current terminal require Internet access. If these applications can simultaneously access multiple paths through different interfaces, a higher level of user experience can be guaranteed, and the wireless network can be reduced due to link changes. The characteristics of high bit error rate are affected. The Internet Engineering Task Force (IETF) is based on this purpose to establish an MPTCP working group to study MPTCP.
如图1所示,MPTCP的核心思想是在应用层和传输层中间加入支持多路径传输的MPTCP层,将传统的TCP数据分为多个TCPMPTCP子流,不同TCPMPTCP子流沿不同路径传输,并在终端处聚合。原有的TCP层只对MPTCP子流起作用,从而使MPTCP与原TCP可以兼容,对网络其他层次透明,网络不必做太大的变化。As shown in Figure 1, the core idea of MPTCP is to add an MPTCP layer supporting multipath transmission between the application layer and the transport layer, and divide the traditional TCP data into multiple TCPMPTCP substreams, and different TCPMPTCP substreams are transmitted along different paths. Aggregate at the terminal. The original TCP layer only works on the MPTCP substream, so that MPTCP is compatible with the original TCP, transparent to other layers of the network, and the network does not have to be changed too much.
虽然MPTCP技术可以使得终端同时利用多个接口进行通信,但是MPTCP要求参与通信的双方要同时支持MPTCP,当其中某一个通信方不支持MPTCP时就无法使用MPTCP进行通信。为了使得具有MPTCP能力的终端能够与不具有MPTCP能力的终端之间进行通信,现有技术中提出了MPTCP代理(proxy)的概念。MPTCP代理的最终目的是在MPTCP终端与TCP终 端之间实现MPTCP会话与TCP会话之间的映射。Although MPTCP technology can enable terminals to communicate using multiple interfaces at the same time, MPTCP requires both parties participating in the communication to support MPTCP at the same time. When one of the communicating parties does not support MPTCP, MPTCP cannot be used for communication. In order to enable a terminal having MPTCP capability to communicate with a terminal having no MPTCP capability, the concept of an MPTCP proxy has been proposed in the prior art. The ultimate goal of the MPTCP proxy is to end the MPTCP terminal with TCP. The mapping between the MPTCP session and the TCP session is implemented between the terminals.
然而,当MPTCP代理由运营商部署时,当MPTCP终端已经通过MPTCP代理建立了MPTCP会话,那么,通常该MPTCP代理只允许MPTCP终端使用运营商自己所部署的无线接入点来建立MPTCP子流,或者由于某些其他原因,例如MPTCP代理当前负载过重等原因要拒绝MPTCP新子流的建立,此时如果MPTCP终端要与MPTCP代理之间建立MPTCP新子流,那么可能会导致MPTCP子流建立失败。However, when the MPTCP proxy is deployed by the operator, when the MPTCP terminal has established an MPTCP session through the MPTCP proxy, then usually the MPTCP proxy only allows the MPTCP terminal to use the wireless access point deployed by the operator to establish the MPTCP substream. Or for some other reasons, such as the current load of the MPTCP proxy is too heavy, etc. to reject the establishment of a new substream of MPTCP. At this time, if the MPTCP terminal establishes a new MPTCP substream with the MPTCP proxy, the MPTCP subflow may be established. failure.
现有机制中[RFC6824]规定,出于安全考虑如果MPTCP代理建立MPTCP子流失败,那么MPTCP终端就不应该再向同一个目的地址+端口号发起子流建立请求,这将导致MPTCP终端无法再充分的利用MPTCP的多路径功能。In the existing mechanism [RFC6824], if the MPTCP proxy fails to establish the MPTCP subflow for security reasons, the MPTCP terminal should not initiate a subflow setup request to the same destination address + port number, which will result in the MPTCP terminal being no longer available. Fully utilize the multipathing capabilities of MPTCP.
发明内容Summary of the invention
本发明实施例提供MPTCP子流的建立方法及相关设备,以至少解决现有技术中如果MPTCP子流建立失败,则MPTCP终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流无法建立成功,导致MPTCP终端无法再充分的利用MPTCP的多路径功能的问题。The embodiment of the present invention provides a method for establishing an MPTCP sub-flow and related devices, so as to at least solve the problem that if the MPTCP sub-flow fails to be established in the prior art, the MPTCP terminal initiates a sub-flow establishment request to the same destination address + port number, and the MPTCP sub- The flow cannot be established successfully, which causes the MPTCP terminal to no longer fully utilize the multipath function of MPTCP.
为达到上述目的,本发明实施例提供以下技术方案:To achieve the above objective, the embodiments of the present invention provide the following technical solutions:
第一方面,提供一种多路径传输控制协议MPTCP子流的建立方法,所述方法包括:In a first aspect, a method for establishing a multi-path transmission control protocol MPTCP sub-flow is provided, where the method includes:
第一终端发送第一子流建立请求,所述第一子流建立请求用于指示建立MPTCP新子流;The first terminal sends a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established;
所述第一终端接收子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因;The first terminal receives a sub-flow establishment reject response, and the sub-flow establishment reject response carries a reason for not allowing the MPTCP new sub-flow to be established;
所述第一终端根据所述原因及预设策略,发送第二子流建立请求,所述第二子流建立请求用于指示建立MPTCP新子流。The first terminal sends a second sub-flow establishment request according to the cause and the preset policy, where the second sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established.
在第一方面第一种可能的实现方式中,结合第一方面,所述第一终端发送第一子流建立请求,包括:In a first possible implementation manner of the first aspect, in combination with the first aspect, the first terminal sends a first sub-flow establishment request, including:
所述第一终端向MPTCP代理发送子流建立请求,所述第一子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。 The first terminal sends a sub-flow establishment request to the MPTCP proxy, where the first sub-flow setup request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
在第一方面第二种可能的实现方式中,结合第一方面第一种可能的实现方式,所述不允许MPTCP新子流建立的原因,包括:In a second possible implementation manner of the first aspect, in combination with the first possible implementation manner of the first aspect, the reason for not allowing the MPTCP new substream to be established includes:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
在第一方面第三种可能的实现方式中,结合第一方面第二种可能的实现方式,所述预设策略包括:In a third possible implementation manner of the first aspect, in combination with the second possible implementation manner of the first aspect, the preset policy includes:
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流,则所述第一终端停止在当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端接入到新的接入点后向所述MPTCP代理发送所述第二子流建立请求;If the reason why the MPTCP new substream is not allowed to be established is that the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP subflow, the first terminal stops at the current access point to the The MPTCP proxy sends a substream setup request until the first terminal accesses the new access point and sends the second substream setup request to the MPTCP proxy;
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理当前的负载不小于第一阈值,则所述第一终端在第一预设时间之后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the current load of the MPTCP proxy is not less than a first threshold, the first terminal sends the first to the MPTCP proxy after a first preset time. Two substream establishment requests;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值,则所述第一终端在至少一个其它MPTCP子流结束后向所述MPTCP代理发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold, the first terminal is The second substream setup request is sent to the MPTCP proxy after the end of at least one other MPTCP substream.
在第一方面第四种可能的实现方式中,结合第一方面,所述第一终端发送第一子流建立请求,包括:In a fourth possible implementation manner of the first aspect, in combination with the first aspect, the first terminal sends the first sub-flow establishment request, including:
所述第一终端向第二终端发送第一子流建立请求,所述第一子流建立请求用于指示所述第二终端建立MPTCP新子流。The first terminal sends a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
在第一方面第五种可能的实现方式中,结合第一方面第四种可能的实现方式,所述不允许所述MPTCP新子流建立的原因,包括:In a fifth possible implementation manner of the first aspect, in combination with the fourth possible implementation manner of the first aspect, the reason for not allowing the MPTCP new subflow to be established includes:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。 The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
在第一方面第六种可能的实现方式中,结合第一方面第五种可能的实现方式,所述预设策略包括:In a sixth possible implementation manner of the first aspect, in combination with the fifth possible implementation manner of the first aspect, the preset policy includes:
若所述不允许所述MPTCP新子流建立的原因为所述第二终端当前的负载不小于第三阈值,则所述第一终端在第二预设时间之后向所述第二终端发送所述第二子流建立请求;If the reason that the new sub-flow of the MPTCP is not allowed to be established is that the current load of the second terminal is not less than a third threshold, the first terminal sends the second terminal to the second terminal after the second preset time. Describe a second substream establishment request;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值,则所述第一终端在至少一个其它MPTCP子流结束后向所述第二终端发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the first terminal The second substream setup request is sent to the second terminal after the end of at least one other MPTCP substream.
第二方面,提供一种多路径传输控制协议MPTCP子流的建立方法,所述方法包括:In a second aspect, a method for establishing a multi-path transmission control protocol MPTCP sub-flow is provided, where the method includes:
接收第一终端发送的子流建立请求,所述子流建立请求用于指示建立MPTCP新子流;Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to indicate that an MPTCP new sub-flow is established;
根据所述子流建立请求,确定是否允许MPTCP新子流建立;Determining whether to allow the MPTCP new substream to be established according to the substream establishment request;
若确定不允许MPTCP新子流建立,向所述第一终端发送子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。If it is determined that the MPTCP new sub-flow is not allowed to be established, the sub-flow establishment reject response is sent to the first terminal, and the sub-flow establishment reject response carries the reason that the MPTCP new sub-flow is not allowed to be established.
在第二方面第一种可能的实现方式中,结合第二方面,所述接收第一终端发送的子流建立请求,包括:In a first possible implementation manner of the second aspect, in combination with the second aspect, the receiving, by the first terminal, the sub-flow establishment request, includes:
MPTCP代理接收第一终端发送的子流建立请求,所述子流建立请求用于指示MPTCP代理建立MPTCP新子流。The MPTCP proxy receives the substream setup request sent by the first terminal, and the substream setup request is used to instruct the MPTCP proxy to establish an MPTCP new substream.
在第二方面第二种可能的实现方式中,结合第二方面第一种可能的实现方式,所述不允许所述MPTCP新子流建立的原因,包括:In a second possible implementation manner of the second aspect, in combination with the first possible implementation manner of the second aspect, the reason for not allowing the MPTCP new subflow to be established includes:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
在第二方面第三种可能的实现方式中,结合第二方面,所述接收第 一终端发送的子流建立请求,包括:In a third possible implementation manner of the second aspect, in combination with the second aspect, the receiving A sub-flow establishment request sent by a terminal, including:
第二终端接收第一终端发送的子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。The second terminal receives the sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
在第二方面第四种可能的实现方式中,结合第二方面第三种可能的实现方式,所述不允许MPTCP新子流建立的原因,包括:In a fourth possible implementation manner of the second aspect, in combination with the third possible implementation manner of the second aspect, the reason for not allowing the new sub-flow of the MPTCP to be established includes:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
第三方面,提供一种第一终端,所述第一终端包括发送单元、接收单元;In a third aspect, a first terminal is provided, where the first terminal includes a sending unit and a receiving unit;
所述发送单元,用于发送第一子流建立请求,所述第一子流建立请求用于指示建立多路径传输控制协议MPTCP新子流;The sending unit is configured to send a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that a multi-path transmission control protocol MPTCP new sub-flow is established;
所述接收单元,用于接收子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因;The receiving unit is configured to receive a sub-flow establishment rejection response, where the sub-flow establishment rejection response carries a reason that the MPTCP new sub-flow is not allowed to be established;
所述发送单元,还用于根据所述原因及预设策略,发送第二子流建立请求。The sending unit is further configured to send a second sub-flow establishment request according to the cause and a preset policy.
在第三方面第一种可能的实现方式中,结合第三方面,所述发送单元具体用于:In a first possible implementation manner of the third aspect, in combination with the third aspect, the sending unit is specifically configured to:
向MPTCP代理发送第一子流建立请求,所述第一子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。Sending a first subflow setup request to the MPTCP proxy, the first subflow setup request being used to instruct the MPTCP proxy to establish an MPTCP new subflow.
在第三方面第二种可能的实现方式中,结合第三方面第一种可能的实现方式,所述不允许所述MPTCP新子流建立的原因,包括:In a second possible implementation manner of the third aspect, in combination with the first possible implementation manner of the third aspect, the reason for not allowing the MPTCP new substream to be established includes:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
在第三方面第三种可能的实现方式中,结合第三方面第而种可能的实现方式,所述预设策略包括: In a third possible implementation manner of the third aspect, in combination with the third possible implementation manner of the third aspect, the preset policy includes:
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流,则所述发送单元停止在当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端接入到新的接入点后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP subflow, the sending unit stops at the current access point to the MPTCP. The proxy sends a sub-flow establishment request, and the second sub-flow establishment request is sent to the MPTCP proxy after the first terminal accesses the new access point;
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理当前的负载不小于第一阈值,则所述发送单元在第一预设时间之后向所述MPTCP代理发送所述第二子流建立请求;And if the reason that the MPTCP new substream is not allowed to be established is that the current load of the MPTCP proxy is not less than a first threshold, the sending unit sends the second to the MPTCP proxy after a first preset time. Subflow establishment request;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值,则所述发送单元在至少一个其它MPTCP子流结束后向所述MPTCP代理发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold, the sending unit is at least After the other MPTCP substream ends, the second substream setup request is sent to the MPTCP proxy.
在第三方面第四种可能的实现方式中,结合第三方面,所述发送单元具体用于:In a fourth possible implementation manner of the third aspect, in combination with the third aspect, the sending unit is specifically configured to:
向第二终端发送第一子流建立请求,所述第一子流建立请求用于指示所述第二终端建立MPTCP新子流。Sending a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
在第三方面第五种可能的实现方式中,结合第三方面第四种可能的实现方式,所述不允许所述MPTCP新子流建立的原因,包括:In a fifth possible implementation manner of the third aspect, in combination with the fourth possible implementation manner of the third aspect, the reason that the MPTCP new substream is not allowed to be established includes:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
在第三方面第六种可能的实现方式中,结合第三方面第五种可能的实现方式,所述预设策略包括:In a sixth possible implementation manner of the third aspect, in combination with the fifth possible implementation manner of the third aspect, the preset policy includes:
若所述不允许所述MPTCP新子流建立的原因为所述第二终端当前的负载不小于第三阈值,则所述发送单元在第二预设时间之后向所述第二终端发送所述第二子流建立请求;If the reason that the new sub-flow of the MPTCP is not allowed to be established is that the current load of the second terminal is not less than a third threshold, the sending unit sends the second terminal to the second terminal after the second preset time. a second substream setup request;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值,则所述发送单元在至少一个其它MPTCP子流结束后重新向所述第二终端发送所述第二子流建立请求。 If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the sending unit is After the at least one other MPTCP substream ends, the second substream setup request is resent to the second terminal.
第四方面,提供一种多路径传输控制协议MPTCP子流的建立装置,所述MPTCP子流的建立装置包括:接收单元、确定单元、以及发送单元;A fourth aspect provides a device for establishing a multi-path transmission control protocol, an MPTCP sub-flow, where the apparatus for establishing an MPTCP sub-flow includes: a receiving unit, a determining unit, and a sending unit;
所述接收单元,用于接收第一终端发送的子流建立请求,所述子流建立请求用于指示建立MPTCP新子流;The receiving unit is configured to receive a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established;
所述确定单元,用于根据所述子流建立请求,确定是否允许MPTCP新子流建立;The determining unit is configured to determine, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established;
所述发送单元,用于若所述确定单元确定不允许MPTCP新子流建立,向所述第一终端发送子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。The sending unit is configured to: if the determining unit determines that the MPTCP new sub-flow is not allowed to be established, send a sub-flow establishment reject response to the first terminal, where the sub-flow establishment reject response carries the MPTCP new sub-flow not allowed The reason for the establishment.
在第四方面第一种可能的实现方式中,结合第四方面,所述MPTCP子流的建立装置为MPTCP代理;所述接收单元具体用于:In a first possible implementation manner of the fourth aspect, in combination with the fourth aspect, the apparatus for establishing the MPTCP sub-flow is an MPTCP proxy, and the receiving unit is specifically configured to:
接收第一终端发送的子流建立请求,所述子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
在第四方面第二种可能的实现方式中,结合第四方面第一种可能的实现方式,所述不允许所述MPTCP新子流建立的原因,包括:In a second possible implementation manner of the fourth aspect, in combination with the first possible implementation manner of the fourth aspect, the reason for not allowing the MPTCP new substream to be established includes:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
在第四方面第三种可能的实现方式中,结合第四方面,所述MPTCP子流的建立装置为第二终端;所述接收单元具体用于:In a third possible implementation manner of the fourth aspect, in combination with the fourth aspect, the device for establishing the MPTCP sub-flow is a second terminal, and the receiving unit is specifically configured to:
接收第一终端发送的子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
在第四方面第四种可能的实现方式中,结合第四方面第三种可能的实现方式,所述不允许所述MPTCP新子流建立的原因,包括:In a fourth possible implementation manner of the fourth aspect, in combination with the third possible implementation manner of the fourth aspect, the reason that the MPTCP new substream is not allowed to be established includes:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。 The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
第五方面,提供一种多路径传输控制协议第一终端,所述第一终端包括处理器、存储器、总线和通信接口;A fifth aspect provides a first terminal of a multipath transmission control protocol, where the first terminal includes a processor, a memory, a bus, and a communication interface;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述第一终端运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述第一终端执行如第一方面中任一项所述的MPTCP子流的建立方法。The memory is configured to store a computer execution instruction, the processor is connected to the memory through the bus, and when the first terminal is running, the processor executes the computer execution instruction stored in the memory to The first terminal is configured to perform the method of establishing an MPTCP substream according to any one of the first aspects.
第六方面,提供一种多路径传输控制协议MPTCP子流的建立装置,所述MPTCP子流的建立装置包括处理器、存储器、总线和通信接口;A sixth aspect provides a device for establishing a multi-path transmission control protocol MPTCP sub-flow, where the apparatus for establishing an MPTCP sub-flow includes a processor, a memory, a bus, and a communication interface;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述MPTCP子流的建立装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述MPTCP子流的建立装置执行如第二方面中任一项所述的MPTCP子流的建立方法。The memory is configured to store a computer execution instruction, the processor is connected to the memory through the bus, and when the establishing device of the MPTCP substream is running, the processor executes the computer execution of the memory storage And an instruction to cause the establishing means of the MPTCP substream to perform the method of establishing the MPTCP substream according to any one of the second aspects.
基于本发明实施例提供的MPTCP子流的建立方法及相关设备,由于本发明实施例中,若不允许MPTCP新子流建立,第一终端会接收子流建立拒绝响应,该子流建立拒绝响应携带不允许MPTCP新子流建立的原因,进而第一终端在获知不允许MPTCP子流建立的原因之后,可以根据预设策略重新发送子流建立请求。比如,若不允许MPTCP新子流建立的原因为MPTCP代理禁止第一终端使用当前接入点发起MPTCP子流,则第一终端停止在当前接入点向MPTCP代理发送子流建立请求,直至第一终端接入到新的接入点后可以向MPTCP代理发送子流建立请求。避免了现有技术中如果MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流无法建立成功,导致第一终端无法再充分的利用MPTCP的多路径功能的问题,使得即使MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流仍可能建立成功,从而使得第一终端充分的利用MPTCP的多路径功能。In the embodiment of the present invention, if the MPTCP new sub-flow is not allowed to be established, the first terminal receives the sub-flow establishment rejection response, and the sub-flow establishes a rejection response, according to the method and the related device for establishing the MPTCP sub-flow according to the embodiment of the present invention. The reason for not allowing the new sub-flow of the MPTCP to be established is carried. After the first terminal learns that the MPTCP sub-flow is not allowed to be established, the first terminal may re-send the sub-flow establishment request according to the preset policy. For example, if the MPTCP new substream is not allowed to be established because the MPTCP proxy prohibits the first terminal from using the current access point to initiate the MPTCP subflow, the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy. In the prior art, if the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP. The problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
附图说明DRAWINGS
图1为本发明实施例提供的MPTCP协议栈示意图;FIG. 1 is a schematic diagram of an MPTCP protocol stack according to an embodiment of the present invention;
图2为本发明实施例提供的MPTCP的典型应用场景示意图;2 is a schematic diagram of a typical application scenario of an MPTCP according to an embodiment of the present invention;
图3为现有移动网络核心网的架构示意图; 3 is a schematic structural diagram of an existing mobile network core network;
图4为本发明实施例提供的MPTCP子流的建立方法流程示意图一;4 is a schematic flowchart 1 of a method for establishing an MPTCP substream according to an embodiment of the present invention;
图5为本发明实施例提供的MPTCP子流的建立方法流程示意图二;FIG. 5 is a second schematic flowchart of a method for establishing an MPTCP subflow according to an embodiment of the present disclosure;
图6为本发明实施了提供的MPTCP子流建立失败场景示意图;FIG. 6 is a schematic diagram of a scenario in which an MPTCP subflow establishment failure is provided according to an embodiment of the present invention;
图7为本发明实施例提供的MPTCP子流的建立方法流程示意图三;FIG. 7 is a schematic flowchart 3 of a method for establishing an MPTCP subflow according to an embodiment of the present disclosure;
图8为本发明实施例提供的MPTCP子流的建立方法流程示意图四;FIG. 8 is a schematic flowchart 4 of a method for establishing an MPTCP sub-flow according to an embodiment of the present invention;
图9为本发明实施例提供的MPTCP子流的建立方法流程示意图五;FIG. 9 is a schematic flowchart 5 of a method for establishing an MPTCP substream according to an embodiment of the present disclosure;
图10为本发明实施例提供的MPTCP子流的建立方法流程示意图六;10 is a schematic flowchart 6 of a method for establishing an MPTCP substream according to an embodiment of the present invention;
图11为本发明实施例提供的MPTCP子流的建立方法交互示意图一;FIG. 11 is a schematic diagram 1 of an interaction method for establishing an MPTCP sub-flow according to an embodiment of the present invention;
图12为本发明实施例提供的MPTCP子流的建立方法交互示意图二;FIG. 12 is a schematic diagram 2 of an interaction method for establishing an MPTCP sub-flow according to an embodiment of the present invention;
图13为本发明实施例提供的第一终端结构示意图一;FIG. 13 is a schematic structural diagram 1 of a first terminal according to an embodiment of the present disclosure;
图14为本发明实施例提供的MPTCP子流的建立装置结构示意图一;FIG. 14 is a schematic structural diagram 1 of an apparatus for establishing an MPTCP substream according to an embodiment of the present invention;
图15为本发明实施例提供的第一终端结构示意图二;FIG. 15 is a second schematic structural diagram of a first terminal according to an embodiment of the present disclosure;
图16为本发明实施例提供的MPTCP子流的建立装置结构示意图二。FIG. 16 is a schematic structural diagram 2 of an apparatus for establishing an MPTCP substream according to an embodiment of the present invention.
具体实施方式detailed description
图2所示为MPTCP的典型应用场景。终端A和终端B是两个相互通信的多接口(包括一个WiFi接口和一个蜂窝网络接口)终端。两个终端上各个接口的IP地址分别是A1,A2和B1,B2。当终端A要使用MPTCP与终端B进行通信时,终端A可以同时使用WiFi接口和蜂窝网络接口与终端B进行通信,即分别在WiFi接口和蜂窝网络接口上建立一个TCP的MPTCP子流,因此终端A和终端B就可以同时利用两个接口来进行通信,从而提高通信带宽。Figure 2 shows a typical application scenario of MPTCP. Terminal A and terminal B are two multi-interfaces (including one WiFi interface and one cellular network interface) that communicate with each other. The IP addresses of the interfaces on the two terminals are A1, A2, and B1, B2. When terminal A wants to use MPTCP to communicate with terminal B, terminal A can simultaneously communicate with terminal B by using the WiFi interface and the cellular network interface, that is, establishing a TCP MPTCP substream on the WiFi interface and the cellular network interface, respectively, so the terminal A and terminal B can simultaneously communicate using two interfaces, thereby increasing communication bandwidth.
其次,给出本发明所涉及的核心网架构的简要说明:Secondly, a brief description of the core network architecture involved in the present invention is given:
图3所示为移动网络核心网的架构示意图。该移动网络包括终端、演进型通用移动通信系统(Universal Mobile Telecommunications System,简称:UMTS)陆地无线接入网(Evolved UMTS Terrestrial Radio Access Network,简称:E-UTRAN)、移动管理实体(Mobility Management Entity,简称:MME)、通用分组无线服务技术(General Packet Radio Service,简称:GPRS)服务支持节点(Serving GPRS Support Node,简称:SGSN)、归属用户服务器(Home  Subscriber Server,简称:HSS)、服务网关(Serving Gateway,简称:SGW)、分组数据网网关(Public Data Network Gateway,简称:PGW)、策略与计费实体(Policy and Charging Rules Function,简称:PCRF)、网络之间互连的协议(Internet Protocol,简称:IP)服务等。Figure 3 shows the architecture of the mobile network core network. The mobile network includes a terminal, an evolved Universal Mobile Telecommunications System (UMTS), an Evolved UMTS Terrestrial Radio Access Network (E-UTRAN), and a Mobility Management Entity (Mobility Management Entity, Abbreviation: MME), General Packet Radio Service (GPRS) Service Support Node (Serving GPRS Support Node, SGSN for short), Home Subscriber Server (Home) Subscriber Server (referred to as: HSS), Serving Gateway (SGW), Packet Data Network Gateway (PGW), and Policy and Charging Rules Function (PCRF) Protocols for interconnection between networks (Internet Protocol, IP for short).
当然,本发明实施例所涉及的核心网还可能是其它网络中的核心网或者固定网络中的核心网,本发明实施例仅是以现有移动网络核心网为例进行说明,对现有移动网络核心网之外的核心网不作具体限定。Of course, the core network involved in the embodiment of the present invention may also be a core network in another network or a core network in a fixed network. The embodiment of the present invention is only an example of the existing mobile network core network, and the existing mobile The core network outside the network core network is not specifically limited.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。在下文描述中,处于解释而非限定的目的,阐述了一些特定细节以便清楚理解。在一些实施例中,省略了公知的装置、电路和方法的详细描述,以免因不必要的细节使得描述模糊。通篇描述中,相同的引用数字和相同的名称指代相同或相似的元素。The technical solutions in the embodiments of the present invention will be described with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. In the following description, for purposes of explanation and description In some embodiments, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description in unnecessary detail. Throughout the description, the same reference numerals and the same names refer to the same or similar elements.
需要说明的是,为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。It should be noted that, in order to facilitate the clear description of the technical solutions of the embodiments of the present invention, in the embodiments of the present invention, the same items or similar items whose functions and functions are substantially the same are used in the words “first” and “second”. For the sake of distinction, those skilled in the art will understand that the words "first", "second" and the like do not limit the quantity and the order of execution.
本发明实施例提供一种MPTCP子流的建立方法,不仅适用于第一终端知道自己正在与MPTCP代理交互的情况下,同样适用于第一终端不知道自己正在与MPTCP代理交互的情况下,如图4所示,方法包括:The embodiment of the present invention provides a method for establishing an MPTCP sub-flow, which is applicable not only when the first terminal knows that it is interacting with the MPTCP proxy, but also when the first terminal does not know that it is interacting with the MPTCP proxy, such as As shown in Figure 4, the method includes:
S401、第一终端发送第一子流建立请求,所述第一子流建立请求用于指示建立MPTCP新子流。S401. The first terminal sends a first sub-flow setup request, where the first sub-flow setup request is used to indicate that an MPTCP new sub-flow is established.
其中,第一终端为支持MPTCP的终端,例如:支持MPTCP的智能手机、支持MPTCP的平板电脑等。The first terminal is a terminal that supports MPTCP, for example, a smart phone supporting MPTCP, a tablet supporting MPTCP, and the like.
S402、所述第一终端接收子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。S402. The first terminal receives a subflow setup reject response, and the subflow setup reject response carries a reason that does not allow the MPTCP new subflow to be established.
S403、所述第一终端根据所述原因及预设策略,发送第二子流建立请求,所述第二子流建立请求用于指示建立MPTCP新子流。 S403. The first terminal sends a second sub-flow establishment request according to the cause and a preset policy, where the second sub-flow establishment request is used to indicate that an MPTCP new sub-flow is established.
一种可能的实现方式中,第一终端的通信对端(即第二终端)不支持MPTCP,比如第二终端为TCP终端。为了使得第一终端能够与TCP终端之间进行通信,需要在第一终端与TCP终端之间增加MPTCP代理,以使得在MPTCP终端与TCP终端之间实现MPTCP会话与TCP会话之间的映射。该场景下,如图5所示,步骤S401具体包括:In a possible implementation manner, the communication peer end (ie, the second terminal) of the first terminal does not support MPTCP, for example, the second terminal is a TCP terminal. In order to enable communication between the first terminal and the TCP terminal, an MPTCP proxy needs to be added between the first terminal and the TCP terminal to enable mapping between the MPTCP session and the TCP session between the MPTCP terminal and the TCP terminal. In this scenario, as shown in FIG. 5, step S401 specifically includes:
S401a、第一终端向MPTCP代理发送第一子流建立请求,所述第一子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。S401a. The first terminal sends a first substream setup request to the MPTCP proxy, where the first subflow setup request is used to instruct the MPTCP proxy to establish an MPTCP new subflow.
相应的,步骤S403具体包括:Correspondingly, step S403 specifically includes:
S403a、第一终端根据所述原因及预设策略,向MPTCP代理发送第二子流建立请求,所述第二子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。S403. The first terminal sends a second subflow setup request to the MPTCP proxy according to the cause and the preset policy, where the second subflow setup request is used to instruct the MPTCP proxy to establish an MPTCP new subflow.
其中,本发明实施例中的MPTCP代理可以独立部署,也可以部署在如图3所示的现有的移动网络核心网的网络设备上,比如部署在PGW上或者部署在上行方向PGW后面的网络设备上,本发明实施例对此不作具体限定。The MPTCP proxy in the embodiment of the present invention may be deployed independently, or may be deployed on the network device of the existing mobile network core network as shown in FIG. 3, such as a network deployed on the PGW or deployed behind the uplink PGW. The device in this embodiment of the present invention does not specifically limit this.
进一步的,步骤S402中,所述不允许所述MPTCP新子流建立的原因,可以包括:Further, in the step S402, the reason that the MPTCP new substream is not allowed to be established may include:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
当然,MPTCP代理不允许MPTCP新子流建立的原因还可能为其它,上述仅是示例性的提供几种可能的MPTCP代理不允许MPTCP新子流建立的原因,本发明实施例对MPTCP代理不允许MPTCP新子流建立的其它原因不作具体限定。Of course, the reason that the MPTCP proxy does not allow the establishment of the MPTCP new substream may be other. The foregoing is merely an example of providing several possible MPTCP agents that do not allow the establishment of the MPTCP new substream. The embodiment of the present invention does not allow the MPTCP proxy. Other reasons for the establishment of the MPTCP new substream are not specifically limited.
进一步的,步骤S403中,所述预设策略可以包括:Further, in step S403, the preset policy may include:
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流,则所述第一终端停止在 当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端接入到新的接入点后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP subflow, the first terminal stops at The current access point sends a sub-flow establishment request to the MPTCP proxy, and the second sub-flow establishment request is sent to the MPTCP proxy after the first terminal accesses the new access point;
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理当前的负载不小于第一阈值,则所述第一终端在第一预设时间之后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the current load of the MPTCP proxy is not less than a first threshold, the first terminal sends the first to the MPTCP proxy after a first preset time. Two substream establishment requests;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值,则所述第一终端在至少一个其它MPTCP子流结束后向所述MPTCP代理发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold, the first terminal is The second substream setup request is sent to the MPTCP proxy after the end of at least one other MPTCP substream.
示例性的,如图6所示,若第一终端A使用的是运营商A的MPTCP代理,并已经通过长期演进(Long Term Evolution,简称:LTE)接口建立了MPTCP子流1,之后若通过WiFi接口请求建立MPTCP子流2,那么由于此时所采用的WiFi接入点是其他运营商的(例如,属于运营商B),则该MPTCP子流2的建立请求会被拒绝。Exemplarily, as shown in FIG. 6, if the first terminal A uses the MPTCP proxy of the operator A, and has established the MPTCP substream 1 through the Long Term Evolution (LTE) interface, and then passes the The WiFi interface requests to establish the MPTCP substream 2. Then, since the WiFi access point used at this time is other operators (for example, belonging to the operator B), the establishment request of the MPTCP substream 2 is rejected.
该场景下,现有技术中,由于第一终端A不知道为何MPTCP新子流建立被拒绝而可能不再使用WiFi接口建立MPTCP新子流,即便是后来第一终端A移动到运营商A所部署的WiFi网络的覆盖范围内也不再使用WiFi接口建立MPTCP新子流。这将导致第一终端A无法再充分的利用MPTCP的多路径功能。In this scenario, in the prior art, since the first terminal A does not know why the MPTCP new substream establishment is rejected, the MPTCP new substream may not be established using the WiFi interface, even if the first terminal A moves to the operator A. The WiFi interface is no longer used to establish a new MPTCP substream within the coverage of the deployed WiFi network. This will cause the first terminal A to no longer fully utilize the multipath function of MPTCP.
本发明实施例中,第一终端A会接收MPTCP代理返回的子流建立拒绝响应,该子流建立拒绝响应携带MPTCP代理不允许MPTCP新子流建立的原因,例如,原因为所述MPTCP代理禁止所述第一终端A使用当前接入点发起MPTCP子流。进而,所述第一终端A会停止在当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端A接入到新的接入点后向所述MPTCP代理发送第二子流建立请求。即,若后来第一终端A移动到运营商A所部署的WiFi网络的覆盖范围内,则第一终端A可以使用WiFi接口建立MPTCP新子流,从而充分的利用MPTCP的多路径功能。In the embodiment of the present invention, the first terminal A receives the sub-flow establishment rejection response returned by the MPTCP proxy, and the sub-flow establishment rejection response carries the reason that the MPTCP proxy does not allow the establishment of the MPTCP new sub-flow, for example, the reason is that the MPTCP proxy prohibits The first terminal A initiates an MPTCP subflow using the current access point. In addition, the first terminal A stops sending a sub-flow establishment request to the MPTCP proxy at the current access point, and sends a second to the MPTCP proxy after the first terminal A accesses the new access point. Subflow setup request. That is, if the first terminal A moves to the coverage of the WiFi network deployed by the operator A, the first terminal A can establish a new MPTCP sub-flow using the WiFi interface, thereby fully utilizing the multi-path function of the MPTCP.
另一种可能的实现方式中,第一终端的通信对端(即第二终端)支持MPTCP。该场景下,第一终端能够与第二终端之间进行通信。如图7所 示,步骤S401具体包括:In another possible implementation manner, the communication peer end (ie, the second terminal) of the first terminal supports MPTCP. In this scenario, the first terminal can communicate with the second terminal. As shown in Figure 7 The step S401 specifically includes:
S401b、第一终端向第二终端发送第一子流建立请求,所述第一子流建立请求用于指示所述第二终端建立MPTCP新子流。S401b: The first terminal sends a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
相应的,步骤S403具体包括:Correspondingly, step S403 specifically includes:
S403b、第一终端根据所述原因及预设策略,向第二终端发送第二子流建立请求,所述第二子流建立请求用于指示所述第二终端建立MPTCP新子流。S403b: The first terminal sends a second sub-flow establishment request to the second terminal according to the cause and the preset policy, where the second sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
其中,本发明实施例中的第二终端可以是支持MPTCP的智能手机、支持MPTCP的平板电脑等;也可以是MPTCP服务器,本发明实施例对此不作具体限定。The second terminal in the embodiment of the present invention may be a smart phone supporting MPTCP, a tablet computer supporting MPTCP, and the like, and may also be an MPTCP server, which is not specifically limited in this embodiment of the present invention.
进一步的,步骤S402中,所述不允许所述MPTCP新子流建立的原因,可以包括:Further, in the step S402, the reason that the MPTCP new substream is not allowed to be established may include:
所述第二终端当前的负载不小于第一阈值;或者,The current load of the second terminal is not less than a first threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a second threshold.
当然,第二终端不允许MPTCP新子流建立的原因还可能为其它,上述仅是示例性的提供几种可能的第二终端不允许MPTCP新子流建立的原因,本发明实施例对第二终端不允许MPTCP新子流建立的其它原因不作具体限定。Of course, the reason why the second terminal does not allow the establishment of the new sub-stream of the MPTCP may be other. The foregoing is merely an example of the reason that the two possible second terminals are not allowed to establish the new sub-flow of the MPTCP. Other reasons why the terminal does not allow MPTCP new substream establishment are not specifically limited.
进一步的,步骤S403中,所述预设策略可以包括:Further, in step S403, the preset policy may include:
若所述不允许所述MPTCP新子流建立的原因为所述第二终端当前的负载不小于第三阈值,则所述第一终端在第二预设时间之后向所述第二终端发送所述第二子流建立请求;If the reason that the new sub-flow of the MPTCP is not allowed to be established is that the current load of the second terminal is not less than a third threshold, the first terminal sends the second terminal to the second terminal after the second preset time. Describe a second substream establishment request;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值,则所述第一终端在至少一个其它MPTCP子流结束后向所述第二终端发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the first terminal The second substream setup request is sent to the second terminal after the end of at least one other MPTCP substream.
示例性的,假设第一终端通过第二终端建立的MPTCP连接上的MPTCP子流个数最大不超过3个,第一终端A当前通过第二终端建立的MPTCP 连接上的MPTCP子流个数已经为3个,若要请求第二终端建立MPTCP新子流,那么由于此时第一终端A当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值(该示例中第四阈值为3),则该MPTCP子流的建立请求会被拒绝。Exemplarily, it is assumed that the number of MPTCP sub-flows on the MPTCP connection established by the first terminal by the second terminal is no more than three, and the first terminal A currently uses the MPTCP established by the second terminal. The number of MPTCP sub-flows on the connection is already three. If the second terminal is to be configured to establish a new MPTCP sub-flow, the MPTCP sub-flow on the MPTCP connection established by the first terminal A through the second terminal at this time is The number is not less than the fourth threshold (the fourth threshold in this example is 3), and the establishment request of the MPTCP substream is rejected.
该场景下,现有技术中,由于第一终端A不知道为何新的MPTCP子流建立被拒绝而可能不再通过第二终端建立MPTCP新子流,即使后续某些MPTCP子流结束,第一终端A通过第二终端建立的MPTCP连接上的MPTCP子流个数小于第四阈值也不再通过第二终端建立新的MPTCP子流,这将导致第一终端A无法再充分的利用MPTCP的多路径功能。In this scenario, in the prior art, since the first terminal A does not know why the new MPTCP sub-flow establishment is rejected, the MPTCP new sub-flow may not be established through the second terminal, even if some subsequent MPTCP sub-flows end, the first The number of MPTCP sub-streams on the MPTCP connection established by the terminal A is less than the fourth threshold, and the new MPTCP sub-flow is no longer established by the second terminal. This will result in the first terminal A not being able to fully utilize the MPTCP. Path function.
本发明实施例中,第一终端A会接收第二终端返回的子流建立拒绝响应,该子流建立拒绝响应携带第二终端不允许MPTCP新子流建立的原因,该原因为所述第一终端A当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。进而,所述第一终端A会在其它MPTCP子流结束后向所述第二终端发送第二子流建立请求。即,若后来第一终端A通过第二终端建立的MPTCP连接上的MPTCP子流个数小于第四阈值,则第一终端A可以通过第二终端建立MPTCP新子流,从而充分的利用MPTCP的多路径功能。In the embodiment of the present invention, the first terminal A receives the sub-flow establishment rejection response returned by the second terminal, and the sub-flow establishment rejection response carries the reason that the second terminal does not allow the establishment of the MPTCP new sub-flow, the reason is the first The number of MPTCP sub-streams on the MPTCP connection established by the terminal A through the second terminal is not less than a fourth threshold. Furthermore, the first terminal A sends a second sub-flow establishment request to the second terminal after the end of the other MPTCP sub-flows. That is, if the number of MPTCP substreams on the MPTCP connection established by the first terminal A by the second terminal is less than the fourth threshold, the first terminal A can establish a new MPTCP substream through the second terminal, thereby fully utilizing the MPTCP. Multipathing.
基于本发明实施例提供的MPTCP子流的建立方法,由于本发明实施例中,若不允许MPTCP新子流建立,第一终端会接收子流建立拒绝响应,该子流建立拒绝响应携带不允许MPTCP新子流建立的原因,进而第一终端在获知不允许MPTCP新子流建立的原因之后,可以根据预设策略重新发送子流建立请求。比如,若不允许MPTCP新子流建立的原因为MPTCP代理禁止第一终端使用当前接入点发起MPTCP子流,则第一终端停止在当前接入点向MPTCP代理发送子流建立请求,直至第一终端接入到新的接入点后可以向MPTCP代理发送子流建立请求。避免了现有技术中如果MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流无法建立成功,导致第一终端无法再充分的利用MPTCP的多路径功能的问题,使得即使MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流仍 可能建立成功,从而使得第一终端充分的利用MPTCP的多路径功能。The method for establishing an MPTCP sub-flow according to the embodiment of the present invention, in the embodiment of the present invention, if the MPTCP new sub-flow is not allowed to be established, the first terminal receives the sub-flow establishment rejection response, and the sub-flow establishment rejection response does not allow The reason for the establishment of the new sub-stream of the MPTCP, and the first terminal, after learning the reason that the new sub-flow of the MPTCP is not allowed to be established, may re-send the sub-flow establishment request according to the preset policy. For example, if the MPTCP new substream is not allowed to be established because the MPTCP proxy prohibits the first terminal from using the current access point to initiate the MPTCP subflow, the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy. In the prior art, if the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP. The problem of the multipath function, so that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address + port number, and the MPTCP subflow still It is possible to establish success so that the first terminal fully utilizes the multipath function of MPTCP.
本发明实施例提供一种MPTCP子流的建立方法,如图8所示,所述方法包括:An embodiment of the present invention provides a method for establishing an MPTCP subflow. As shown in FIG. 8, the method includes:
S801、接收第一终端发送的子流建立请求,所述子流建立请求用于指示建立MPTCP新子流。S801. Receive a subflow setup request sent by the first terminal, where the subflow setup request is used to indicate that an MPTCP new subflow is established.
如上所述,第一终端为支持MPTCP的终端,例如:支持MPTCP的智能手机、支持MPTCP的平板电脑等。As described above, the first terminal is a terminal that supports MPTCP, for example, a smart phone supporting MPTCP, a tablet supporting MPTCP, and the like.
S802、根据所述子流建立请求,确定是否允许MPTCP新子流建立。S802. Determine, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established.
S803、若确定不允许MPTCP新子流建立,向所述第一终端发送子流建立拒绝响应给所述第一终端,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。S803. If it is determined that the MPTCP new sub-flow is not allowed to be established, send a sub-flow establishment rejection response to the first terminal to the first terminal, where the sub-flow establishment rejection response carries the reason that the MPTCP new sub-flow is not allowed to be established. .
具体的,本发明实施例提供的MPTCP子流的建立方法的执行主体可以为上述方法实施例中所述的第二终端或MPTCP代理,本发明实施例对此不作具体限定。Specifically, the executor of the method for establishing the MPTCP sub-flow provided by the embodiment of the present invention may be the second terminal or the MPTCP proxy described in the foregoing method embodiment, which is not specifically limited in this embodiment of the present invention.
当本发明实施例提供的MPTCP子流的建立方法的执行主体为上述方法实施例中所述的MPTCP代理时,如图9所示,步骤S801具体可以包括:When the executor of the method for establishing the MPTCP sub-flow provided by the embodiment of the present invention is the MPTCP proxy described in the foregoing method embodiment, as shown in FIG. 9, step S801 may specifically include:
S801a、MPTCP代理接收第一终端发送的子流建立请求,所述子流建立请求用于指示MPTCP代理建立MPTCP新子流。S801a. The MPTCP proxy receives the subflow setup request sent by the first terminal, where the subflow setup request is used to instruct the MPTCP proxy to establish an MPTCP new subflow.
其中,本发明实施例中的MPTCP代理可以独立部署,也可以部署在如图3所示的现有的移动网络核心网的网络设备上,比如部署在PGW上或者部署在上行方向PGW后面的网络设备上,本发明实施例对此不作具体限定。The MPTCP proxy in the embodiment of the present invention may be deployed independently, or may be deployed on the network device of the existing mobile network core network as shown in FIG. 3, such as a network deployed on the PGW or deployed behind the uplink PGW. The device in this embodiment of the present invention does not specifically limit this.
进一步的,步骤S802中,所述不允许所述MPTCP新子流建立的原因,可以包括:Further, in step S802, the reason that the MPTCP new substream is not allowed to be established may include:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者, The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
当然,MPTCP代理不允许MPTCP新子流建立的原因还可能为其它,上述仅是示例性的提供几种可能的MPTCP代理不允许MPTCP新子流建立的原因,本发明实施例对MPTCP代理不允许MPTCP新子流建立的其它原因不作具体限定。Of course, the reason that the MPTCP proxy does not allow the establishment of the MPTCP new substream may be other. The foregoing is merely an example of providing several possible MPTCP agents that do not allow the establishment of the MPTCP new substream. The embodiment of the present invention does not allow the MPTCP proxy. Other reasons for the establishment of the MPTCP new substream are not specifically limited.
当本发明实施例提供的MPTCP子流的建立方法的执行主体为上述方法实施例中所述的第二终端时,如图10所示,步骤S801具体可以包括:When the executor of the method for establishing the MPTCP sub-flow provided by the embodiment of the present invention is the second terminal in the foregoing method embodiment, as shown in FIG. 10, step S801 may specifically include:
S801b、第二终端接收第一终端发送的子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。S801b: The second terminal receives the sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
其中,本发明实施例中的第二终端可以支持MPTCP的智能手机、支持MPTCP的平板电脑等;也可以是MPTCP服务器,本发明实施例对此不作具体限定。The second terminal in the embodiment of the present invention may support a smart phone of the MPTCP, a tablet computer that supports the MPTCP, and the like, and may also be an MPTCP server, which is not specifically limited in the embodiment of the present invention.
进一步的,步骤S802中,所述不允许所述MPTCP新子流建立的原因,可以包括:Further, in step S802, the reason that the MPTCP new substream is not allowed to be established may include:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
当然,第二终端不允许MPTCP新子流建立的原因还可能为其它,上述仅是示例性的提供几种可能的第二终端不允许MPTCP新子流建立的原因,本发明实施例对第二终端不允许MPTCP新子流建立的其它原因不作具体限定。Of course, the reason why the second terminal does not allow the establishment of the new sub-stream of the MPTCP may be other. The foregoing is merely an example of the reason that the two possible second terminals are not allowed to establish the new sub-flow of the MPTCP. Other reasons why the terminal does not allow MPTCP new substream establishment are not specifically limited.
基于本发明实施例提供的MPTCP子流的建立方法,由于本发明实施例中,若不允许MPTCP新子流建立,会将不允许MPTCP新子流建立的原因发送给第一终端,从而使得第一终端在获知不允许MPTCP新子流建立的原因之后,可以根据预设策略发送子流建立请求。比如,若不允许MPTCP新子流建立的原因为MPTCP代理禁止第一终端使用当前接入点发起MPTCP子流,则第一终端停止在当前接入点向MPTCP代理发送子流建立请求,直至第一终端接入到新的接入点后可以向MPTCP代理发送子流建立 请求。避免了现有技术中如果MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流无法建立成功,导致第一终端无法再充分的利用MPTCP的多路径功能的问题,使得即使MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流仍可能建立成功,从而使得第一终端充分的利用MPTCP的多路径功能。According to the method for establishing an MPTCP sub-flow provided by the embodiment of the present invention, in the embodiment of the present invention, if the MPTCP new sub-flow is not established, the reason that the MPTCP new sub-flow is not allowed to be established is sent to the first terminal, so that the first After the terminal learns that the new sub-flow of the MPTCP is not allowed to be established, the sub-flow establishment request may be sent according to the preset policy. For example, if the MPTCP new substream is not allowed to be established because the MPTCP proxy prohibits the first terminal from using the current access point to initiate the MPTCP subflow, the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send substream establishment to the MPTCP proxy. request. In the prior art, if the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP. The problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
本发明实施例提供一种MPTCP子流的建立方法,具体以第一终端与MPTCP代理的交互为例进行说明,如图11所示,方法包括:An embodiment of the present invention provides a method for establishing an MPTCP sub-flow. The interaction between the first terminal and the MPTCP proxy is taken as an example. As shown in FIG. 11, the method includes:
S1101、第一终端向MPTCP代理发送第一子流建立请求,所述第一子流建立请求用于指示MPTCP代理建立MPTCP新子流。S1101: The first terminal sends a first sub-flow establishment request to the MPTCP proxy, where the first sub-flow setup request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
S1102、MPTCP代理接收子流建立请求,并根据子流建立请求,确定是否允许MPTCP新子流建立。S1102: The MPTCP proxy receives the substream setup request, and determines whether to allow the MPTCP new subflow to be established according to the subflow setup request.
S1103、若MPTCP代理确定不允许MPTCP新子流建立,向第一终端发送子流建立拒绝,子流建立拒绝响应携带MPTCP代理不允许MPTCP新子流建立的原因。S1103: If the MPTCP proxy determines that the MPTCP new substream is not allowed to be established, and sends a subflow setup rejection to the first terminal, the subflow setup reject response carries the reason that the MPTCP proxy does not allow the MPTCP new subflow to be established.
S1104、第一终端接收子流建立拒绝响应。S1104: The first terminal receives the subflow setup rejection response.
S1105、第一终端根据MPTCP代理不允许MPTCP新子流建立的原因及预设策略,向MPTCP代理发送第二子流建立请求,所述第二子流建立请求用于指示MPTCP代理建立MPTCP新子流。S1105: The first terminal sends a second subflow setup request to the MPTCP proxy according to the reason that the MPTCP proxy does not allow the MPTCP new subflow to be established and the preset policy, where the second subflow setup request is used to instruct the MPTCP proxy to establish the MPTCP new subroutine. flow.
其中,MPTCP代理确定不允许MPTCP新子流建立的原因以及相应的预设策略具体可参考上述方法实施例中的描述,本发明实施例在此不再赘述。For the reason that the MPTCP proxy determines that the MPTCP new substream is not allowed to be established, and the corresponding preset policy, refer to the description in the foregoing method embodiment, which is not repeatedly described herein.
可选的,本发明实施例提供一种MPTCP子流的建立方法,具体以第一终端与第二终端的交互为例进行说明,如图12所示,方法包括:Optionally, the embodiment of the present invention provides a method for establishing an MPTCP sub-flow, which is specifically described by using the interaction between the first terminal and the second terminal. As shown in FIG. 12, the method includes:
S1201、第一终端向第二终端发送子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。S1201: The first terminal sends a sub-flow establishment request to the second terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
S1202、第二终端接收子流建立请求,并根据子流建立请求,确定是否允许MPTCP新子流建立。 S1202: The second terminal receives the sub-flow establishment request, and determines, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established.
S1203、若第二终端确定不允许MPTCP新子流建立,向第一终端发送子流建立拒绝响应,子流建立拒绝响应携带第二终端不允许MPTCP新子流建立的原因。S1203. If the second terminal determines that the MPTCP new sub-flow is not allowed to be established, the sub-flow establishment reject response is sent to the first terminal, and the sub-flow establishment reject response carries the reason that the second terminal does not allow the MPTCP new sub-flow to be established.
S1204、第一终端接收子流建立拒绝响应。S1204. The first terminal receives the subflow setup rejection response.
S1205、第一终端根据第二终端不允许MPTCP新子流建立的原因及预设策略,向第二终端发送第二子流建立请求,所述第二子流建立请求用于指示第二终端建立MPTCP新子流。S1205: The first terminal sends a second sub-flow establishment request to the second terminal according to the reason that the second terminal does not allow the MPTCP new sub-flow to be established and the preset policy, where the second sub-flow establishment request is used to indicate that the second terminal is established. MPTCP new subflow.
其中,第二终端确定不允许MPTCP新子流建立的原因以及相应的预设策略具体可参考上述方法实施例中的描述,本发明实施例在此不再赘述。For the reason that the second terminal determines that the new sub-flow is not allowed to be established, and the corresponding preset policy, refer to the description in the foregoing method embodiment, which is not described herein again.
由于图11与图12对应的实施例是对上述实施例的具体描述,其所能达到的技术效果也可以参照上述描述,此处不再赘述。The embodiment of FIG. 11 and FIG. 12 is a detailed description of the foregoing embodiment, and the technical effects that can be achieved can also be referred to the above description, and details are not described herein again.
本发明实施例提供一种第一终端130,如图13所示,所述第一终端130包括发送单元1301、接收单元1302。The embodiment of the present invention provides a first terminal 130. As shown in FIG. 13, the first terminal 130 includes a sending unit 1301 and a receiving unit 1302.
所述发送单元1301,用于发送第一子流建立请求,所述第一子流建立请求用于指示建立多路径传输控制协议MPTCP新子流。The sending unit 1301 is configured to send a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that a multi-path transmission control protocol (MPTCP) new sub-flow is established.
所述接收单元1302,用于接收子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。The receiving unit 1302 is configured to receive a sub-flow establishment rejection response, where the sub-flow establishment rejection response carries a reason that the MPTCP new sub-flow is not allowed to be established.
所述发送单元1301,还用于根据所述原因及预设策略,发送第二子流建立请求,所述第二子流建立请求用于指示建立MPTCP新子流。The sending unit 1301 is further configured to send a second sub-flow establishment request according to the cause and a preset policy, where the second sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established.
一种可能的实现方式中,所述发送单元1301具体用于:In a possible implementation manner, the sending unit 1301 is specifically configured to:
向MPTCP代理发送第一子流建立请求,所述第一子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。Sending a first subflow setup request to the MPTCP proxy, the first subflow setup request being used to instruct the MPTCP proxy to establish an MPTCP new subflow.
进一步的,所述不允许所述MPTCP新子流建立的原因,可以包括:Further, the reason that the MPTCP new substream is not allowed to be established may include:
所述MPTCP代理禁止所述第一终端130使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal 130 from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端130当前通过所述MPTCP代理建立的MPTCP连接上的 MPTCP子流个数不小于第二阈值。The first terminal 130 is currently connected to the MPTCP connection established by the MPTCP proxy. The number of MPTCP substreams is not less than the second threshold.
相应的,所述预设策略可以包括:Correspondingly, the preset policy may include:
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理禁止所述第一终端130使用当前接入点发起MPTCP子流,则所述发送单元1301停止在当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端130接入到新的接入点后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the MPTCP proxy prohibits the first terminal 130 from using the current access point to initiate an MPTCP substream, the sending unit 1301 stops at the current access point. The MPTCP proxy sends a substream setup request until the first terminal 130 accesses the new access point and sends the second substream setup request to the MPTCP proxy.
若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理当前的负载不小于第一阈值,则所述发送单元1301在第一预设时间之后重新向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the current load of the MPTCP proxy is not less than a first threshold, the sending unit 1301 resends the foregoing to the MPTCP proxy after the first preset time. a second substream setup request;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端130当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值,则所述发送单元1301在至少一个其它MPTCP子流结束后重新向所述MPTCP代理发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal 130 by the MPTCP proxy is not less than a second threshold, the sending unit 1301 The second substream setup request is resent to the MPTCP proxy after the end of at least one other MPTCP substream.
一种可能的实现方式中,所述发送单元1301具体用于:In a possible implementation manner, the sending unit 1301 is specifically configured to:
向第二终端发送第一子流建立请求,所述第一子流建立请求用于指示所述第二终端建立MPTCP新子流。Sending a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
进一步的,所述不允许所述MPTCP新子流建立的原因,可以包括:Further, the reason that the MPTCP new substream is not allowed to be established may include:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端130当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal 130 by the second terminal is not less than a fourth threshold.
相应的,所述预设策略可以包括:Correspondingly, the preset policy may include:
若所述不允许所述MPTCP新子流建立的原因为所述第二终端当前的负载不小于第三阈值,则所述发送单元1301在第二预设时间之后可以向所述第二终端发送所述第二子流建立请求;If the reason that the new sub-flow of the MPTCP is not allowed to be established is that the current load of the second terminal is not less than a third threshold, the sending unit 1301 may send the second terminal to the second terminal after the second preset time. The second substream establishment request;
若所述不允许所述MPTCP新子流建立的原因为所述第一终端130当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值,则所述发送单元1301在至少一个其它MPTCP子流结束后重新向所述第二终端发送所述第二子流建立请求。 If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection that the first terminal 130 currently establishes through the second terminal is not less than a fourth threshold, the sending unit 1301 resends the second substream setup request to the second terminal after the end of at least one other MPTCP substream.
需要说明的是,在硬件实现上,上述发送单元1301可以采用发送器实现,上述接收单元1302可以采用接收器实现。其中,该发送器和接收器可以集成在一起构成收发器,本发明实施例对此不做限制。It should be noted that, in hardware implementation, the foregoing sending unit 1301 may be implemented by using a transmitter, and the receiving unit 1302 may be implemented by using a receiver. The transmitter and the receiver may be integrated to form a transceiver, which is not limited in this embodiment of the present invention.
具体的,通过本发明实施例提供的第一终端130进行MPTCP子流建立的方法可参考上述方法实施例的描述,本发明实施例在此不再赘述。Specifically, the method for performing the establishment of the MPTCP sub-flow by the first terminal 130 provided by the embodiment of the present invention may refer to the description of the foregoing method embodiment, and details are not described herein again.
基于本发明实施例提供的第一终端,由于本发明实施例中,若不允许MPTCP新子流建立,第一终端会接收子流建立拒绝响应,该子流建立拒绝响应携带不允许MPTCP新子流建立的原因,进而第一终端在获知不允许MPTCP子流建立的原因之后,可以根据预设策略重新发送子流建立请求。比如,若不允许MPTCP新子流建立的原因为MPTCP代理禁止第一终端使用当前接入点发起MPTCP子流,则第一终端停止在当前接入点向MPTCP代理发送子流建立请求,直至第一终端接入到新的接入点后可以向MPTCP代理发送子流建立请求。避免了现有技术中如果MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流无法建立成功,导致第一终端无法再充分的利用MPTCP的多路径功能的问题,使得即使MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流仍可能建立成功,从而使得第一终端充分的利用MPTCP的多路径功能。According to the first terminal provided by the embodiment of the present invention, in the embodiment of the present invention, if the MPTCP new substream is not allowed to be established, the first terminal receives the subflow establishment reject response, and the subflow establishment reject response carries the MPTCP new subroutine. After the flow is established, the first terminal may resend the sub-flow establishment request according to the preset policy after learning that the MPTCP sub-flow is not allowed to be established. For example, if the MPTCP new substream is not allowed to be established because the MPTCP proxy prohibits the first terminal from using the current access point to initiate the MPTCP subflow, the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy. In the prior art, if the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP. The problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
本发明实施例提供一种MPTCP子流的建立装置140,如图14所示,所述MPTCP子流的建立装置140包括:接收单元1401、确定单元1402、以及发送单元1403。The embodiment of the present invention provides an apparatus for establishing an MPTCP sub-flow. As shown in FIG. 14, the apparatus for establishing an MPTCP sub-flow includes: a receiving unit 1401, a determining unit 1402, and a sending unit 1403.
所述接收单元1401,用于接收第一终端发送的子流建立请求,所述子流建立请求用于指示建立MPTCP新子流。The receiving unit 1401 is configured to receive a sub-flow setup request sent by the first terminal, where the sub-flow setup request is used to indicate that the MPTCP new sub-flow is established.
所述确定单元1402,用于根据所述子流建立请求,确定是否允许MPTCP新子流建立。The determining unit 1402 is configured to determine, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established.
所述发送单元1403,用于若所述确定单元1402确定不允许MPTCP新子流建立,向所述第一终端发送子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。 The sending unit 1403 is configured to: if the determining unit 1402 determines that the MPTCP new sub-flow is not allowed to be established, send a sub-flow establishment reject response to the first terminal, where the sub-flow establishment reject response carries the MPTCP new The reason the subflow is established.
一种可能的实现方式中,所述MPTCP子流的建立装置140为MPTCP代理;所述接收单元1401具体用于:In a possible implementation manner, the establishing unit 140 of the MPTCP sub-flow is an MPTCP proxy; the receiving unit 1401 is specifically configured to:
接收第一终端发送的子流建立请求,所述子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
进一步的,所述不允许所述MPTCP新子流建立的原因,包括:Further, the reason that the MPTCP new substream is not allowed to be established includes:
所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
一种可能的实现方式中,所述MPTCP子流的建立装置140为第二终端;所述接收单元1401具体用于:In a possible implementation manner, the establishing unit 140 of the MPTCP sub-flow is a second terminal, and the receiving unit 1401 is specifically configured to:
接收第一终端发送的子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
进一步的,所述不允许所述MPTCP新子流建立的原因,包括:Further, the reason that the MPTCP new substream is not allowed to be established includes:
所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
需要说明的是,在硬件实现上,上述发送单元1403可以采用发送器实现,上述接收单元1401可以采用接收器实现,上述确定单元1402可以采用处理器实现。其中,该发送器和接收器可以集成在一起构成收发器,本发明实施例对此不做限制。It should be noted that, in hardware implementation, the sending unit 1403 may be implemented by using a transmitter, the receiving unit 1401 may be implemented by using a receiver, and the determining unit 1402 may be implemented by using a processor. The transmitter and the receiver may be integrated to form a transceiver, which is not limited in this embodiment of the present invention.
具体的,通过本发明实施例提供的MPTCP子流的建立装置140进行MPTCP子流建立的方法可参考上述方法实施例的描述,本发明实施例在此不再赘述。Specifically, the method for establishing the MPTCP sub-flow by the apparatus for establishing the MPTCP sub-flow provided by the embodiment of the present invention may refer to the description of the foregoing method embodiment, and details are not described herein again.
基于本发明实施例提供的MPTCP子流的建立装置,由于本发明实施例中,若MPTCP子流的建立装置不允许MPTCP新子流建立,会将不允许MPTCP新子流建立的原因发送给第一终端,从而使得第一终端在获知不允许MPTCP子流建立的原因之后,可以根据预设策略发送子流建立请求。比 如,若不允许MPTCP新子流建立的原因为MPTCP代理禁止第一终端使用当前接入点发起MPTCP子流,则第一终端停止在当前接入点向MPTCP代理发送子流建立请求,直至第一终端接入到新的接入点后可以向MPTCP代理发送子流建立请求。避免了现有技术中如果MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流无法建立成功,导致第一终端无法再充分的利用MPTCP的多路径功能的问题,使得即使MPTCP子流建立失败,则第一终端再向同一个目的地址+端口号发起子流建立请求时,MPTCP子流仍可能建立成功,从而使得第一终端充分的利用MPTCP的多路径功能。The device for establishing an MPTCP sub-flow according to the embodiment of the present invention, in the embodiment of the present invention, if the device for establishing the MPTCP sub-flow does not allow the establishment of the new sub-stream of the MPTCP, the reason for not allowing the establishment of the new sub-stream of the MPTCP is sent to the A terminal, so that after the first terminal learns the reason that the MPTCP substream is not allowed to be established, the sub-flow establishment request may be sent according to the preset policy. Than For example, if the MPTCP new substream is not allowed to be established because the MPTCP proxy prohibits the first terminal from using the current access point to initiate the MPTCP subflow, the first terminal stops sending the subflow setup request to the MPTCP proxy at the current access point until the After a terminal accesses a new access point, it can send a sub-flow establishment request to the MPTCP proxy. In the prior art, if the MPTCP sub-flow fails to be established, the first terminal initiates a sub-flow setup request to the same destination address+port number, the MPTCP sub-flow cannot be successfully established, and the first terminal cannot fully utilize the MPTCP. The problem of the multipath function is such that even if the MPTCP subflow fails to be established, the first terminal initiates a subflow setup request to the same destination address+port number, and the MPTCP subflow may still be established successfully, thereby making the first terminal sufficient. Take advantage of the multipathing capabilities of MPTCP.
本发明实施例提供一种第一终端150,如图15所示,所述第一终端150包括处理器1501、存储器1502、总线1503和通信接口1504。其中,处理器1501、存储器1502和通信接口1504之间通过总线1503连接并完成相互问的通信。The embodiment of the present invention provides a first terminal 150. As shown in FIG. 15, the first terminal 150 includes a processor 1501, a memory 1502, a bus 1503, and a communication interface 1504. The processor 1501, the memory 1502, and the communication interface 1504 are connected by a bus 1503 and complete mutual communication.
处理器1501可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。 Processor 1501 may be a single core or multi-core central processing unit, or a particular integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
存储器1502可以为高速随机存取存储器1502(Random Access Memory,简称:RAM)存储器1502,也可以为非易失性存储器1502(non-volatile memory),例如至少一个磁盘存储器1502。The memory 1502 may be a high speed random access memory 1502 (Random Access Memory, RAM for short) memory 1502 or a non-volatile memory 1502 such as at least one disk memory 1502.
存储器1502用于存储计算机执行指令15021。具体的,计算机执行指令15021中可以包括程序代码。 Memory 1502 is for storing computer execution instructions 15021. Specifically, the program code may be included in the computer execution instruction 15021.
当所述第一终端150运行时,处理器1501运行计算机执行指令15021,可以执行如图4、图5、图7任一方法实施例所述的MPTCP子流的建立方法流程。When the first terminal 150 is running, the processor 1501 runs the computer execution instruction 15021. The flow of the method for establishing the MPTCP subflow according to any one of the method embodiments of FIG. 4, FIG. 5 and FIG. 7 may be performed.
由于本实施例提供的第一终端150能够用于执行上述方法,因此,其所能获得的技术效果也可以参照上述方法实施例的描述,此处不再赘述。The first terminal 150 provided in this embodiment can be used to perform the foregoing method. Therefore, the technical effects that can be obtained can also be referred to the description of the foregoing method embodiments, and details are not described herein again.
本发明实施例提供一种MPTCP子流的建立装置160,如图16所示, 所述MPTCP子流的建立装置160包括处理器1601、存储器1602、总线1603和通信接口1604。其中,处理器1601、存储器1602和通信接口1604之间通过总线1603连接并完成相互问的通信。An embodiment of the present invention provides an apparatus for establishing an MPTCP substream, as shown in FIG. The MPTCP substream establishing means 160 includes a processor 1601, a memory 1602, a bus 1603, and a communication interface 1604. The processor 1601, the memory 1602, and the communication interface 1604 are connected by a bus 1603 and complete mutual communication.
处理器1601可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。 Processor 1601 may be a single core or multi-core central processing unit, or a particular integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
存储器1602可以为RAM存储器1602,也可以为非易失性存储器1602(non-volatile memory),例如至少一个磁盘存储器1602。The memory 1602 may be a RAM memory 1602 or a non-volatile memory 1602, such as at least one disk storage 1602.
存储器1602用于存储计算机执行指令16021。具体的,计算机执行指令16021中可以包括程序代码。The memory 1602 is for storing computer execution instructions 16021. Specifically, the program code may be included in the computer execution instruction 16021.
当所述MPTCP子流的建立装置160运行时,处理器1601运行计算机执行指令16021,可以执行如图8-10任一方法实施例所述的MPTCP子流的建立方法流程。其中,当执行如图9对应的方法实施例所述的MPTCP子流的建立方法流程时,所述MPTCP子流的建立装置160为MPTCP代理;当执行如图10对应的方法实施例所述的MPTCP子流的建立方法流程时,所述MPTCP子流的建立装置160为第二终端。When the setting unit 160 of the MPTCP sub-flow is running, the processor 1601 runs the computer execution instruction 16021. The flow of the method for establishing the MPTCP sub-flow according to any one of the method embodiments is performed. The MPTCP sub-flow establishing device 160 is an MPTCP proxy; when performing the MPTCP sub-flow establishing method flow as described in the method embodiment corresponding to FIG. In the process of establishing the MPTCP sub-flow, the device for establishing the MPTCP sub-flow is the second terminal.
由于本实施例提供的MPTCP子流的建立装置能够用于执行上述方法,因此,其所能获得的技术效果也可以参照上述方法实施例的描述,此处不再赘述。The apparatus for establishing an MPTCP sub-flow provided by this embodiment can be used to perform the foregoing method. Therefore, the technical effects that can be obtained can also be referred to the description of the foregoing method embodiments, and details are not described herein again.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。 In the several embodiments provided by the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。The above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium. The software functional units described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform portions of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a RAM, a magnetic disk, or an optical disk, and the like, which can store program codes.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。 It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and are not limited thereto; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that The technical solutions described in the foregoing embodiments are modified, or the equivalents of the technical features are replaced. The modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (26)

  1. 一种多路径传输控制协议MPTCP子流的建立方法,其特征在于,所述方法包括:A method for establishing a multi-path transmission control protocol MPTCP sub-flow, characterized in that the method comprises:
    第一终端发送第一子流建立请求,所述第一子流建立请求用于指示建立MPTCP新子流;The first terminal sends a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established;
    所述第一终端接收子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因;The first terminal receives a sub-flow establishment reject response, and the sub-flow establishment reject response carries a reason for not allowing the MPTCP new sub-flow to be established;
    所述第一终端根据所述原因及预设策略,发送第二子流建立请求,所述第二子流建立请求用于指示建立MPTCP新子流。The first terminal sends a second sub-flow establishment request according to the cause and the preset policy, where the second sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established.
  2. 根据权利要求1所述的方法,其特征在于,所述第一终端发送第一子流建立请求,包括:The method according to claim 1, wherein the sending, by the first terminal, the first sub-flow establishment request comprises:
    所述第一终端向MPTCP代理发送第一子流建立请求,所述第一子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。The first terminal sends a first sub-flow setup request to the MPTCP proxy, where the first sub-flow setup request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
  3. 根据权利要求2所述的方法,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The method according to claim 2, wherein the reason for not allowing the MPTCP new substream to be established comprises:
    所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
    所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
    所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  4. 根据权利要求3所述的方法,其特征在于,所述预设策略包括:The method according to claim 3, wherein the preset policy comprises:
    若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流,则所述第一终端停止在当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端接入到新的接入点后向所述MPTCP代理发送所述第二子流建立请求;If the reason why the MPTCP new substream is not allowed to be established is that the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP subflow, the first terminal stops at the current access point to the The MPTCP proxy sends a substream setup request until the first terminal accesses the new access point and sends the second substream setup request to the MPTCP proxy;
    若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理当前的负载不小于第一阈值,则所述第一终端在第一预设时间之后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the current load of the MPTCP proxy is not less than a first threshold, the first terminal sends the first to the MPTCP proxy after a first preset time. Two substream establishment requests;
    若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过 所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值,则所述第一终端在至少一个其它MPTCP子流结束后向所述MPTCP代理发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the first terminal is currently passing The number of the MPTCP sub-flows on the MPTCP connection established by the MPTCP proxy is not less than a second threshold, and the first terminal sends the second sub-flow setup request to the MPTCP proxy after the at least one other MPTCP sub-stream ends. .
  5. 根据权利要求1所述的方法,其特征在于,所述第一终端发送第一子流建立请求,包括:The method according to claim 1, wherein the sending, by the first terminal, the first sub-flow establishment request comprises:
    所述第一终端向第二终端发送第一子流建立请求,所述第一子流建立请求用于指示所述第二终端建立MPTCP新子流。The first terminal sends a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  6. 根据权利要求5所述的方法,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The method according to claim 5, wherein the reason for not allowing the MPTCP new substream to be established includes:
    所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
    所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  7. 根据权利要求6所述的方法,其特征在于,所述预设策略包括:The method according to claim 6, wherein the preset policy comprises:
    若所述不允许所述MPTCP新子流建立的原因为所述第二终端当前的负载不小于第三阈值,则所述第一终端在第二预设时间之后向所述第二终端发送所述第二子流建立请求;If the reason that the new sub-flow of the MPTCP is not allowed to be established is that the current load of the second terminal is not less than a third threshold, the first terminal sends the second terminal to the second terminal after the second preset time. Describe a second substream establishment request;
    若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值,则所述第一终端在至少一个其它MPTCP子流结束后向所述第二终端发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the first terminal The second substream setup request is sent to the second terminal after the end of at least one other MPTCP substream.
  8. 一种多路径传输控制协议MPTCP子流的建立方法,其特征在于,所述方法包括:A method for establishing a multi-path transmission control protocol MPTCP sub-flow, characterized in that the method comprises:
    接收第一终端发送的子流建立请求,所述子流建立请求用于指示建立MPTCP新子流;Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to indicate that an MPTCP new sub-flow is established;
    根据所述子流建立请求,确定是否允许MPTCP新子流建立;Determining whether to allow the MPTCP new substream to be established according to the substream establishment request;
    若确定不允许MPTCP新子流建立,向所述第一终端发送子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。If it is determined that the MPTCP new sub-flow is not allowed to be established, the sub-flow establishment reject response is sent to the first terminal, and the sub-flow establishment reject response carries the reason that the MPTCP new sub-flow is not allowed to be established.
  9. 根据权利要求8所述的方法,其特征在于,所述接收第一终端发送的子流建立请求,包括: The method according to claim 8, wherein the receiving the sub-flow establishment request sent by the first terminal comprises:
    MPTCP代理接收第一终端发送的子流建立请求,所述子流建立请求用于指示MPTCP代理建立MPTCP新子流。The MPTCP proxy receives the substream setup request sent by the first terminal, and the substream setup request is used to instruct the MPTCP proxy to establish an MPTCP new substream.
  10. 根据权利要求9所述的方法,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The method according to claim 9, wherein the reason why the MPTCP new substream is not allowed to be established includes:
    所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
    所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
    所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  11. 根据权利要求8所述的方法,其特征在于,所述接收第一终端发送的子流建立请求,包括:The method according to claim 8, wherein the receiving the sub-flow establishment request sent by the first terminal comprises:
    第二终端接收第一终端发送的子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。The second terminal receives the sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  12. 根据权利要求11所述的方法,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The method according to claim 11, wherein the reason for not allowing the MPTCP new substream to be established includes:
    所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
    所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  13. 一种第一终端,其特征在于,所述第一终端包括发送单元、接收单元;A first terminal, where the first terminal includes a sending unit and a receiving unit;
    所述发送单元,用于发送第一子流建立请求,所述第一子流建立请求用于指示建立多路径传输控制协议MPTCP新子流;The sending unit is configured to send a first sub-flow establishment request, where the first sub-flow establishment request is used to indicate that a multi-path transmission control protocol MPTCP new sub-flow is established;
    所述接收单元,用于接收子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因;The receiving unit is configured to receive a sub-flow establishment rejection response, where the sub-flow establishment rejection response carries a reason that the MPTCP new sub-flow is not allowed to be established;
    所述发送单元,还用于根据所述原因及预设策略,发送第二子流建立请求,所述第二子流建立请求用于指示建立MPTCP新子流。The sending unit is further configured to send a second sub-flow establishment request according to the cause and a preset policy, where the second sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established.
  14. 根据权利要求13所述的第一终端,其特征在于,所述发送单元具体用于:The first terminal according to claim 13, wherein the sending unit is specifically configured to:
    向MPTCP代理发送第一子流建立请求,所述第一子流建立请求用于指 示所述MPTCP代理建立MPTCP新子流。Sending a first substream setup request to the MPTCP proxy, the first subflow setup request being used to refer to The MPTCP proxy is shown to establish a new substream of MPTCP.
  15. 根据权利要求14所述的第一终端,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The first terminal according to claim 14, wherein the reason for not allowing the MPTCP new substream to be established includes:
    所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
    所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
    所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold.
  16. 根据权利要求15所述的第一终端,其特征在于,所述预设策略包括:The first terminal according to claim 15, wherein the preset policy comprises:
    若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流,则所述发送单元停止在当前接入点向所述MPTCP代理发送子流建立请求,直至所述第一终端接入到新的接入点后向所述MPTCP代理发送所述第二子流建立请求;If the reason that the MPTCP new substream is not allowed to be established is that the MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP subflow, the sending unit stops at the current access point to the MPTCP. The proxy sends a sub-flow establishment request, and the second sub-flow establishment request is sent to the MPTCP proxy after the first terminal accesses the new access point;
    若所述不允许所述MPTCP新子流建立的原因为所述MPTCP代理当前的负载不小于第一阈值,则所述发送单元在第一预设时间之后向所述MPTCP代理发送所述第二子流建立请求;And if the reason that the MPTCP new substream is not allowed to be established is that the current load of the MPTCP proxy is not less than a first threshold, the sending unit sends the second to the MPTCP proxy after a first preset time. Subflow establishment request;
    若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP子流个数不小于第二阈值,则所述发送单元在至少一个其它MPTCP子流结束后向所述MPTCP代理发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the MPTCP proxy is not less than a second threshold, the sending unit is at least After the other MPTCP substream ends, the second substream setup request is sent to the MPTCP proxy.
  17. 根据权利要求13所述的第一终端,其特征在于,所述发送单元具体用于:The first terminal according to claim 13, wherein the sending unit is specifically configured to:
    向第二终端发送第一子流建立请求,所述第一子流建立请求用于指示所述第二终端建立MPTCP新子流。Sending a first sub-flow establishment request to the second terminal, where the first sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  18. 根据权利要求17所述的第一终端,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The first terminal according to claim 17, wherein the reason for not allowing the MPTCP new substream to be established includes:
    所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
    所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子 流个数不小于第四阈值。The MPTCP on the MPTCP connection established by the first terminal by the second terminal The number of streams is not less than the fourth threshold.
  19. 根据权利要求18所述的第一终端,其特征在于,所述预设策略包括:The first terminal according to claim 18, wherein the preset policy comprises:
    若所述不允许所述MPTCP新子流建立的原因为所述第二终端当前的负载不小于第三阈值,则所述发送单元在第二预设时间之后向所述第二终端发送所述第二子流建立请求;If the reason that the new sub-flow of the MPTCP is not allowed to be established is that the current load of the second terminal is not less than a third threshold, the sending unit sends the second terminal to the second terminal after the second preset time. a second substream setup request;
    若所述不允许所述MPTCP新子流建立的原因为所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值,则所述发送单元在至少一个其它MPTCP子流结束后向所述第二终端发送所述第二子流建立请求。If the reason that the MPTCP new substream is not allowed to be established is that the number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold, the sending unit is After the at least one other MPTCP substream ends, the second substream setup request is sent to the second terminal.
  20. 一种多路径传输控制协议MPTCP子流的建立装置,其特征在于,所述MPTCP子流的建立装置包括:接收单元、确定单元、以及发送单元;An apparatus for establishing a multi-path transmission control protocol, the MPTCP sub-flow, is characterized in that: the apparatus for establishing an MPTCP sub-flow includes: a receiving unit, a determining unit, and a sending unit;
    所述接收单元,用于接收第一终端发送的子流建立请求,所述子流建立请求用于指示建立MPTCP新子流;The receiving unit is configured to receive a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to indicate that the MPTCP new sub-flow is established;
    所述确定单元,用于根据所述子流建立请求,确定是否允许MPTCP新子流建立;The determining unit is configured to determine, according to the sub-flow establishment request, whether to allow the MPTCP new sub-flow to be established;
    所述发送单元,用于若所述确定单元确定不允许MPTCP新子流建立,向所述第一终端发送子流建立拒绝响应,所述子流建立拒绝响应携带不允许所述MPTCP新子流建立的原因。The sending unit is configured to: if the determining unit determines that the MPTCP new sub-flow is not allowed to be established, send a sub-flow establishment reject response to the first terminal, where the sub-flow establishment reject response carries the MPTCP new sub-flow not allowed The reason for the establishment.
  21. 根据权利要求20所述的MPTCP子流的建立装置,其特征在于,所述MPTCP子流的建立装置为MPTCP代理;所述接收单元具体用于:The apparatus for establishing an MPTCP sub-flow according to claim 20, wherein the apparatus for establishing the MPTCP sub-flow is an MPTCP proxy; and the receiving unit is specifically configured to:
    接收第一终端发送的子流建立请求,所述子流建立请求用于指示所述MPTCP代理建立MPTCP新子流。Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the MPTCP proxy to establish an MPTCP new sub-flow.
  22. 根据权利要求21所述的MPTCP子流的建立装置,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The apparatus for establishing an MPTCP substream according to claim 21, wherein the reason why the MPTCP new substream is not allowed to be established includes:
    所述MPTCP代理禁止所述第一终端使用当前接入点发起MPTCP子流;或者,The MPTCP proxy prohibits the first terminal from using the current access point to initiate an MPTCP substream; or
    所述MPTCP代理当前的负载不小于第一阈值;或者,The current load of the MPTCP proxy is not less than a first threshold; or,
    所述第一终端当前通过所述MPTCP代理建立的MPTCP连接上的MPTCP 子流个数不小于第二阈值。The MPTCP on the MPTCP connection established by the first terminal by the MPTCP proxy The number of substreams is not less than the second threshold.
  23. 根据权利要求20所述的MPTCP子流的建立装置,其特征在于,所述MPTCP子流的建立装置为第二终端;所述接收单元具体用于:The device for establishing an MPTCP sub-flow according to claim 20, wherein the device for establishing the MPTCP sub-flow is a second terminal; and the receiving unit is specifically configured to:
    接收第一终端发送的子流建立请求,所述子流建立请求用于指示第二终端建立MPTCP新子流。Receiving a sub-flow establishment request sent by the first terminal, where the sub-flow establishment request is used to instruct the second terminal to establish an MPTCP new sub-flow.
  24. 根据权利要求23所述的MPTCP子流的建立装置,其特征在于,所述不允许所述MPTCP新子流建立的原因,包括:The apparatus for establishing an MPTCP substream according to claim 23, wherein the reason for not allowing the MPTCP new substream to be established includes:
    所述第二终端当前的负载不小于第三阈值;或者,The current load of the second terminal is not less than a third threshold; or
    所述第一终端当前通过所述第二终端建立的MPTCP连接上的MPTCP子流个数不小于第四阈值。The number of MPTCP substreams on the MPTCP connection established by the first terminal by the second terminal is not less than a fourth threshold.
  25. 一种第一终端,其特征在于,所述第一终端包括处理器、存储器、总线和通信接口;A first terminal, the first terminal comprising a processor, a memory, a bus, and a communication interface;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述第一终端运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述第一终端执行如权利要求1-7中任一项所述的MPTCP子流的建立方法。The memory is configured to store a computer execution instruction, the processor is connected to the memory through the bus, and when the first terminal is running, the processor executes the computer execution instruction stored in the memory to The first terminal is configured to perform the method of establishing an MPTCP substream according to any one of claims 1-7.
  26. 一种多路径传输控制协议MPTCP子流的建立装置,其特征在于,所述MPTCP子流的建立装置包括处理器、存储器、总线和通信接口;An apparatus for establishing a multi-path transmission control protocol MPTCP sub-flow, wherein the apparatus for establishing an MPTCP sub-flow includes a processor, a memory, a bus, and a communication interface;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述MPTCP子流的建立装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述MPTCP子流的建立装置执行如权利要求8-12中任一项所述的MPTCP子流的建立方法。 The memory is configured to store a computer execution instruction, the processor is connected to the memory through the bus, and when the establishing device of the MPTCP substream is running, the processor executes the computer execution of the memory storage And an instruction to cause the establishing means of the MPTCP substream to perform the method of establishing the MPTCP substream according to any one of claims 8-12.
PCT/CN2015/077396 2015-04-24 2015-04-24 Method and device for establishing mptcp sub-stream WO2016169050A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2015/077396 WO2016169050A1 (en) 2015-04-24 2015-04-24 Method and device for establishing mptcp sub-stream
CN201580059342.3A CN107113285B (en) 2015-04-24 2015-04-24 Method and equipment for establishing MPTCP sub-stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/077396 WO2016169050A1 (en) 2015-04-24 2015-04-24 Method and device for establishing mptcp sub-stream

Publications (1)

Publication Number Publication Date
WO2016169050A1 true WO2016169050A1 (en) 2016-10-27

Family

ID=57143749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/077396 WO2016169050A1 (en) 2015-04-24 2015-04-24 Method and device for establishing mptcp sub-stream

Country Status (2)

Country Link
CN (1) CN107113285B (en)
WO (1) WO2016169050A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111372329B (en) * 2018-12-25 2022-08-19 华为技术有限公司 Connection establishing method and terminal equipment
CN113810425B (en) * 2021-09-26 2022-11-18 杭州安恒信息技术股份有限公司 Parallel network transmission method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102461318A (en) * 2009-06-09 2012-05-16 Lg电子株式会社 Method of exchanging messages and source devices
CN102595558A (en) * 2011-01-11 2012-07-18 中兴通讯股份有限公司 Method, device and system for relay node to access to network
CN103516694A (en) * 2012-06-28 2014-01-15 华为技术有限公司 Communication method, device and system
CN104243443A (en) * 2013-06-06 2014-12-24 苹果公司 Establishment and Control system of Multipath TCP Subflow, and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8400923B2 (en) * 2010-10-15 2013-03-19 Telefonaktiebolaget L M Ericsson (Publ) Multipath transmission control protocol proxy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102461318A (en) * 2009-06-09 2012-05-16 Lg电子株式会社 Method of exchanging messages and source devices
CN102595558A (en) * 2011-01-11 2012-07-18 中兴通讯股份有限公司 Method, device and system for relay node to access to network
CN103516694A (en) * 2012-06-28 2014-01-15 华为技术有限公司 Communication method, device and system
CN104243443A (en) * 2013-06-06 2014-12-24 苹果公司 Establishment and Control system of Multipath TCP Subflow, and method

Also Published As

Publication number Publication date
CN107113285B (en) 2020-09-22
CN107113285A (en) 2017-08-29

Similar Documents

Publication Publication Date Title
US10587498B2 (en) Methods and arrangements for multipath traffic aggregation
US11277313B2 (en) Data transmission method and corresponding device
US10201029B2 (en) Access management with multipath transport
US11871273B2 (en) Systems and methods for user plane handling
JP7150140B2 (en) SERVICE FLOW TRANSMISSION METHOD AND DEVICE AND COMMUNICATION METHOD AND DEVICE
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
JP2021518684A (en) Devices and methods for access traffic steering, switching, and / or split operation
CN107534994A (en) Handle the method and node of the access serviced via non-3 GPP network to EPC
US11930358B2 (en) Seamless handoff between wireless access gateways
CN110831094A (en) Method and device for processing data transmission channel
US20230189368A1 (en) Associating transport identifiers with quality of service flows
EP2850912B1 (en) Efficient distribution of signaling messages in a mobility access gateway or local mobility anchor
CN114731557A (en) Message transmission method, communication device and communication system
WO2016169050A1 (en) Method and device for establishing mptcp sub-stream
CN107113687B (en) Method and entity for mobility support selection
US20160302121A1 (en) Method and apparatus for transmitting ip packet using segment routing
KR102641949B1 (en) Proxyless multi-path transmission system, and signalling method for session connection
WO2022099484A1 (en) Identifier sending method and communication apparatus
US11997547B2 (en) Mobility management in information centric networking
JP2023510410A (en) Provisioning traffic steering with multi-access related information
US20170311135A1 (en) Control Signaling Transmission Method in MCPTT Architecture and Related Device
JP7031842B2 (en) Wireless communication system and method
CN115474188A (en) Policy negotiation method, device and storage medium in roaming scene

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15889539

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15889539

Country of ref document: EP

Kind code of ref document: A1