Address management apparatus, system, and method for communication over multipath transmission control protocol
AssigneeHuawei Technologies Co., Ltd.
InventorsXinpeng Wei, Chunshan Xiong
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention provide an address management apparatus, system, and method for communication over the Multipath Transmission Control Protocol (MTCP). A processing module allocates a corresponding internet protocol (IP) address to each MPTCP session, where the MPTCP session is an MPTCP session between a first host and a second host, the first host is the host supporting MPTCP, and the second host is the host not supporting MPTCP, and when the MPTCP session is terminated, the processing module releases the corresponding IP address allocated to the MPTCP session. A transceiver module sets up the MPTCP session according to the IP address.
Claims20
An apparatus, comprising:
- a processor;
- and
- a non-transitory computer readable storage medium storing a program for execution by the processor, the program including instructions to:
- allocate a first internet protocol (IP) address to a first Multipath Transmission Control Protocol (MPTCP) session, wherein the first MPTCP session is an MPTCP session between a first host and a second host, and wherein the first host is supporting MPTCP and the second host is not supporting MPTCP;
- release the first IP address allocated to the first MPTCP session in response to the first MPTCP session being terminated;
- set up the first MPTCP session according to the first IP address;
- receive a first MPTCP subflow setup request message from a source, wherein the first MPTCP subflow setup request instructs the apparatus to set up an initial MPTCP subflow between the source and the second host;
- and
- perform at least one of:
- determine whether another MPTCP session has been set up on the source;
- allocate the first IP address, wherein the first IP address corresponds to the another MPTCP session, or the first IP address is a newly allocated IP address, in response to the another MPTCP session being set up on the source;
- set up an MPTCP subsession with the first host according to the first IP address;
- and
- set up a TCP session with the second host according to the first IP address;
- or
- allocate the first IP address to the source in response to the source belonging to the first host, and the first IP address being an IP address of another interface on which the first host has set up an MPTCP subsession, or the first IP address allocated to a second interface being a newly allocated IP address;
- allocate a second IP address to the source in response to the source not belonging to the first host and the second interface belonging to a third host, wherein the second IP address is the newly allocated IP address, and wherein the third host supports MPTCP;
- and
- set up an MPTCP subsession with the first host according to the IP address of the another interface, and set up a TCP session with the second host according to the IP address of the another interface, set up an MPTCP subsession with the first host according to the newly allocated IP address, and set up a TCP session with the second host according to the newly allocated IP address, or set up an MPTCP subsession with the third host according to the newly allocated IP address, and set up a TCP session with the second host according to the newly allocated IP address;
- or
- send a reservation request to an IP management device requesting that the IP management device not release an IP address of the first host, according to the reservation request, before the first MPTCP session is terminated, wherein the first MPTCP subflow setup request message comprises the IP address of the first host;
- allocate the IP address of the host to an MPTCP session to which the first MPTCP subflow setup request message belongs;
- set up an MPTCP subsession with the first host according to the IP address of the first host;
- and
- set up a TCP session with the second host according to the IP address of the first host.
A method comprising:
- allocating, by an Multipath Transmission Control Protocol (MPTCP) proxy device, a first IP address to a first MPTCP session, wherein the first MPTCP session is between a first host and a second host, wherein the first host is supporting MPTCP, and the second host is not supporting MPTCP;
- setting up, by the MPTCP proxy device, the first MPTCP session according to the first IP address;
- releasing, by the MPTCP proxy device, the first IP address allocated to the first MPTCP session in response to the first MPTCP session being terminated;
- receiving a first MPTCP subflow setup request message from a source, wherein the first MPTCP subflow setup request instructs the MPTCP proxy device to set up an initial MPTCP subflow between the source and the second host;
- and
- performing at least one of:
- determining whether another MPTCP session has been set up on the source;
- allocating the first IP address, wherein the first IP address corresponds to the another MPTCP session, or the first IP address is a newly allocated IP address, in response to the another MPTCP session being set up on the source;
- setting up an MPTCP subsession with the first host according to the first IP address;
- and
- setting up a TCP session with the second host according to the first IP address;
- or
- allocating the first IP address to the source in response to the source belonging to the first host, and the first IP address being an IP address of another interface on which the first host has set up an MPTCP subsession, or the first IP address allocated to a second interface being a newly allocated IP address;
- allocating a second IP address to the source in response to the source not belonging to the first host and the second interface belonging to a third host, wherein the second IP address is the newly allocated IP address, and wherein the third host supports MPTCP;
- and
- setting up an MPTCP subsession with the first host according to the IP address of the another interface, and setting up a TCP session with the second host according to the IP address of the another interface, setting up an MPTCP subsession with the first host according to the newly allocated IP address, and setting up a TCP session with the second host according to the newly allocated IP address, or setting up an MPTCP subsession with the third host according to the newly allocated IP address, and setting up a TCP session with the second host according to the newly allocated IP address;
- or
- sending a reservation request to an IP management device requesting that the IP management device not release an IP address of the first host, according to the reservation request, before the first MPTCP session is terminated, wherein the first MPTCP subflow setup request message comprises the IP address of the first host;
- allocating the IP address of the first host to an MPTCP session to which the first MPTCP subflow setup request message belongs;
- setting up an MPTCP subsession with the first host according to the IP address of the first host;
- and
- setting up a TCP session with the second host according to the IP address of the first host.
A non-transitory computer readable storage medium storing a program for execution by a processor, the program including instructions to:
- allocate a first internet protocol (IP) address to a first Multipath Transmission Control Protocol (MPTCP) session, wherein the first MPTCP session is an MPTCP session between a first host and a second host, and wherein the first host is supporting the MPTCP and the second host is not supporting MPTCP;
- release the first IP address allocated to the first MPTCP session in response to the first MPTCP session being terminated;
- set up the first MPTCP session according to the first IP address;
- receive a first MPTCP subflow setup request message from a source, wherein the first MPTCP subflow setup request instructs set up of an initial MPTCP subflow between the source and the second host;
- and
- perform at least one of:
- determine whether another MPTCP session has been set up on the source;
- allocate the first IP address, wherein the first IP address corresponds to the another MPTCP session, or the first IP address is a newly allocated IP address, in response to the another MPTCP session being set up on the source;
- set up an MPTCP subsession with the first host according to the first IP address;
- and
- set up a TCP session with the second host according to the first IP address;
- or
- allocate the first IP address to the source in response to the source belonging to the first host, and the first IP address being an IP address of another interface on which the first host has set up an MPTCP subsession, or the first IP address allocated to a second interface being a newly allocated IP address;
- allocate a second IP address to the source in response to the source not belonging to the first host and the second interface belonging to a third host, wherein the second IP address is the newly allocated IP address, and wherein the third host supports MPTCP;
- and
- set up an MPTCP subsession with the first host according to the IP address of the another interface, and set up a TCP session with the second host according to the IP address of the another interface, set up an MPTCP subsession with the first host according to the newly allocated IP address, and set up a TCP session with the second host according to the newly allocated IP address, or set up an MPTCP subsession with the third host according to the newly allocated IP address, and set up a TCP session with the second host according to the newly allocated IP address;
- or
- send a reservation request to an IP management device requesting that the IP management device not release an IP address of the first host, according to the reservation request, before the first MPTCP session is terminated, wherein the first MPTCP subflow setup request message comprises the IP address of the first host;
- allocate the IP address of the first host to an MPTCP session to which the first MPTCP subflow setup request message belongs;
- set up an MPTCP subsession with the first host according to the IP address of the first host;
- and
- set up a TCP session with the second host according to the IP address of the first host.
Dependencies are inferred from the claim text.