The present application claims priority to Chinese Patent Application No. 201811066829.6, entitled “ROAMING”, filed on Sep. 13, 2018, the entire contents of which are incorporated herein by reference.
In network communication, a Transmission Control Protocol/Internet Protocol (TCP/IP) connection is established between a host (also referred to as a client) and a server. This connection is bound with an Internet Protocol (IP) address of the host, an IP address of the server, and the like.
In practical applications, the host may roam from a current network to another network. After the host roams to another network, it is required to modify the IP address of the host to ensure that data transmission to the host may be continued. The modified IP address belongs to an IP network segment corresponding to a network after roaming.
However, since the TCP/IP connection (the TCP/IP connection established between the host and the server) established by the host before roaming is bound with the IP address of the host before roaming, when the IP address of the host is modified after roaming, the TCP/IP connection established by the host before roaming will be interrupted. The host need to resume communication with the server by re-establishing a TCP/IP connection with the server according to a modified IP address.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate examples consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
In network communication, a triangular routing method is usually adopted to ensure that a TCP/IP connection established by a host before roaming is not interrupted due to host roaming, thereby allowing the host to maintain uninterrupted communication after roaming, which will be described below.
In the triangular routing method, when the host roams from one network (referred as a source network) to another network (referred as a destination network), the IP address of the host is not modified. Instead, notification the roam from a router (referred as a destination router) accessed by the host in the destination network is received by a router (referred as a source router) accessed by the host in the source network. If receiving a packet (a destination IP address of the packet is the IP address of the host) sent to the host, the source router forwards the packet to the destination router, so that the destination router forwards the packet to the host. Because the packet arrives at the host through the source router and the destination router, this process is called triangular routing.
In the triangular routing method, one hop (from the source router to the destination router) is added. Thus, the efficiency of forwarding a packet is not high.
To improve the efficiency of forwarding a packet in the triangular routing method, an overlay manner may also be adopted. Specifically, when a host roams from a source network to a destination network, an IP address of the host is not modified, the host needs to registered with a gateway connected to the destination network, and the gateway advertises an IP address of the destination router accessed by the destination network associated with the host based on a Border Gateway Protocol (BGP). In this way, when receiving a packet sent to the host, other routers do not directly forward the packet based on the destination IP address of the packet (the IP address of the host), but firstly query the IP address of the destination router, and then encapsulate the packet into a Virtual extensible Local Area Network (VxLAN) packet, for example, a User Datagram Protocol//Internet Protocol (UDP/IP) connection is used, where a destination IP address of the VxLAN packet is the IP address of the destination router. After receiving the packet, the destination router takes out a payload in the VxLAN packet and sends the payload to the host.
Thus, the problem of the triangular routing may be avoided in the overlay manner. However, since the gateway advertises the IP address of the destination router associated with the host after roaming, it is required to establish a forwarding entry for each host in a routing table. As the scale of the hosts increases, the resource of the routing table will be consumed greatly.
To avoid the problem caused by the above triangular routing method and the overlay manner, the present disclosure provides a new method for maintaining uninterrupted communication after host roaming. The method can ensure that a TCP/IP connection established by the host before roaming is not interrupted due to the host roaming, and communication is not interrupted after the host roams, which will be described below in combination with
It is assumed that the host is in a first network currently. Herein, the first network is named only for convenience of descriptions rather than limitation.
As shown in
At block 101, a TCP/IP connection established between the host and an opposite end is bound with a host address within a first IP address, so that the TCP/IP connection is maintained when the first IP address changes due to the host roaming from a first network to a second network.
In the present disclosure, the first IP address is an IP address of the host in the first network and includes a network address and the host address. The network address indicates a network segment where the host is located, and the host address indicates a device identifier of the host for uniquely identifying the host. If the first IP address is, for example, an IPv6 address, the first 64 bits of the IPv6 address indicate the network address and the remaining 64 bits indicate the host address.
In an existing TCP/IP, a TCP/IP connection established between a host and an opposite end (for example, a server) can be bound with an IP address of the host in a current network and other parameters, such as the IP address of the server. The IP address bound with the TCP/IP connection is different from other parameters. The IP address bound with the TCP/IP connection may change as the host roams to a different network, and other parameters bound with the TCP/IP connection do not change during the host roaming. In the present disclosure, a management mechanism of the TCP/IP connection is improved as follows. A TCP/IP connection established between the host and the server is no longer bound with the first IP address of the first network where the host is currently located. Instead, the binding is modified to be bound with the host address within the first IP address of the host, and the other parameters bound with the TCP/IP connection are unchanged. With the above improvement, all parameters bound with the TCP/IP connection do not change due to the host roaming. In this way, in the present disclosure, when the host roams from the first network to a second network, since all the parameters bound with the TCP/IP connection are unchanged, the TCP/IP connection is maintained. A reference may be made to block 102 for details.
At block 102, when the host roams from the first network to the second network, the host maintains the TCP/IP connection, obtains a second IP address of the host in the second network, and notifies the opposite end of the second IP address or a changed portion of the second IP address compared to the first IP address.
The second IP address is an IP address of the host in the second network and includes a network address and the host address. The network address indicates a network segment where the host is located, and the host address indicates a device identifier of the host for uniquely identifying the host. Thus, for the same host, the host address within the second IP address of the host is the same as the host address within the first IP address of the host, and the network address within the second IP address of the host may be different from the network address within the first IP address of the host. The network address within the second IP address of the host may be a new network address.
In the present disclosure, with the above improvement, a TCP/IP connection established between the host and the opposite end is modified from binding the first IP address of the host in the first network to binding the host address of the first IP address, so that all parameters binding with the TCP/IP connection established between the host and the opposite end are not changed when the host roams from the first network to the second network. Thus, even the host roams from the first network to the second network, the TCP/IP connection established between the host and the opposite end may be still continued. Therefore, it is ensured that the TCP/IP connection established by the host before roaming will not be interrupted due to the host roaming, thereby allowing the host to maintaining uninterrupted communication after the roaming.
Thus, descriptions of the flow shown in
As can be seen from
In the present disclosure, after the host roams from the first network to the second network, since the network address within the first IP address of the host does not belong to an IP address segment corresponding to the second network, it is required to obtain a second IP address of the host in the second network. In the present disclosure, the first IP address and the second IP address are named only for convenience of descriptions rather than limitations.
In an example of the present disclosure, the second IP address of the host in the second network may be obtained based on a Dynamic Host Configuration Protocol (DHCP), which is briefly illustrated in
At block 201, the host, as a DHCP client, sends a DHCP request to a DHCP server to obtain the second IP address of the host in the second network.
In an example, the DHCP request may be a Discover packet in the DHCP.
At block 202, the host, as the DHCP client, receives the second IP address of the host in the second network which is returned by the DHCP server.
Thus, descriptions of the flow shown in
With the flow shown in
In an example, as shown at block 102, after the IP address of the host is modified from the first IP address to the second IP address, the second IP address may be notified to the opposite end, so that the opposite end modifies the recorded IP address of the host from the first IP address to the second IP address. In this way, normal communication of the host in the second network is maintained.
In an example, instead of using a specific packet, the second IP address may be notified to the opposite end with a packet which the host may originally send to the opposite end.
Notifying the opposite end of the second IP address as described at the block 102 includes: notifying the opposite end of the second IP address with a data packet or a TCP/IP protocol packet sent by the host to the opposite end, where a source IP address of the data packet or the TCP/IP protocol packet is the second IP address.
After receiving a packet, the opposite end may find that a source IP address of the packet is a second IP address which is different from a first IP address recorded locally, then the opposite end directly modifies the locally-recorded first IP address to the second IP address.
In another example, after the IP address of the host is modified from the first IP address to the second IP address, as described at block 102, a portion of the second IP address which is different from the first IP address may be notified to the opposite end. The changed portion of the second IP address compared to the first IP address refers to the network address within the second IP address.
In an example, the changed portion of the second IP address compared to the first IP address may be notified to the opposite end with a TCP/IP protocol packet. Thus, notifying the changed portion of the second IP address compared to the first IP address to the opposite end as described at the block 102 may include: notifying the opposite end of the changed portion with the TCP/IP protocol packet.
In an example, the TCP/IP protocol packet may be one of an acknowledgement (ACK) packet, a request (REQ) packet, a negative acknowledgement (NAK) packet, and so on in the TCP/IP.
It is noted that, as an example, the foregoing first IP address and second IP address may both be IPv6 addresses.
The above are descriptions of the method of the present disclosure. The method of the present disclosure will be further described below based on an application with a satellite communication environment. In a case of satellite communication environment, a satellite in charge of communication in space has a fixed IP network segment. According to the method of the present disclosure, the TCP/IP connection between the satellite and a ground terminal is no longer bound with an IP address of the satellite, but is bound with a device identifier of the satellite. Thus, when the satellite moves quickly, the TCP/IP connection between the satellite and the ground terminal is not interrupted due to the movement of the satellite, thereby improving the routing efficiency of the satellite in space.
Similarly, even the IP address of the ground terminal changes, since the TCP/IP connection does not change during the IP address changing of the ground terminal, communication with the ground terminal is not interrupted.
An apparatus of the present disclosure will be described below.
The connecting unit 310 is configured to bind a TCP/IP connection established between the host and an opposite end with a host address within a first IP address, so that the TCP/IP connection is maintained when the first IP address changes due to the host roaming from a first network to a second network, where the first IP address is an IP address of the host in the first network and includes a network address and the host address, the network address indicates a network segment where the host is located, and the host address indicates a device identifier of the host for uniquely identifying the host. And the connecting unit 310 is further configured to maintain the TCP/IP connection when the host roams from the first network to the second network.
The roam processing unit 320 is configured to obtain a second IP address of the host in the second network and notify the opposite end of the second IP address or a change portion of the second IP address compared to the first IP address when the host roams from the first network to the second network. The second IP address is an IP address of the host in the second network and comprises a network address and the host address
In an example, the roam processing unit 320 notifies the opposite end of the second IP address, including: notifying the opposite end of the second IP address with a data packet or a TCP/IP protocol packet sent by the host to the opposite end, where a source IP address of the data packet or the TCP/IP protocol packet is the second IP address.
In an example, the roam processing unit 320 notifies the opposite end of the change portion, including: notifying the opposite end of the change portion with a TCP/IP protocol packet, where the change portion of the second IP address compared to the first IP address indicates the network address comprised in the second IP address.
In an example, the roam processing unit 320 obtains the second IP address of the host in the second network, including: sending, by the host as a DHCP client, a DHCP request to a DHCP sever to obtain the second IP address of the host in the second network; and receiving the second IP address of the host in the second network returned by the DHCP server.
In an example, the first IP address and the second IP address are both IPv6 addresses.
Thus, the descriptions of the structure for the apparatus provided by the present disclosure are completed.
Further, the apparatus shown in
Thus, the descriptions of the hardware structure of the apparatus in
The machine readable storage medium mentioned herein may be any of electronic, magnetic, optical or other physical storage devices and may contain or store information such as executable instructions, data and so on. For example, the machine readable storage medium may be a Radom Access Memory (RAM), a volatile memory, a non-volatile memory, a flash memory, a storage drive (e.g. hard disk drive), a solid state hard disk, any type of storage disk (e.g., compact disc or digital versatile disc), or a similar storage medium, or a combination thereof.
Number | Date | Country | Kind |
---|---|---|---|
201811066829.6 | Sep 2018 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2019/105634 | 9/12/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/052642 | 3/19/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7644171 | Sturniolo | Jan 2010 | B2 |
7680123 | Veerepalli | Mar 2010 | B2 |
8411685 | Bennett, III | Apr 2013 | B1 |
10212583 | Hooda | Feb 2019 | B1 |
20030182431 | Sturniolo | Sep 2003 | A1 |
20030217145 | Leung | Nov 2003 | A1 |
20030228868 | Turanyi | Dec 2003 | A1 |
20040179508 | Thubert | Sep 2004 | A1 |
20050013280 | Buddhikot et al. | Jan 2005 | A1 |
20050074015 | Chari | Apr 2005 | A1 |
20070025305 | Denny | Feb 2007 | A1 |
20070047585 | Gillespie | Mar 2007 | A1 |
20070070996 | Oran | Mar 2007 | A1 |
20070189218 | Oba | Aug 2007 | A1 |
20090022124 | Faccin | Jan 2009 | A1 |
20100124231 | Kompella | May 2010 | A1 |
20100293250 | Ankaiah | Nov 2010 | A1 |
20110061090 | Gillespie et al. | Mar 2011 | A1 |
20120259991 | Rozinov | Oct 2012 | A1 |
20130103819 | Meyer | Apr 2013 | A1 |
20130103833 | Ringland | Apr 2013 | A1 |
20130305332 | Narasimhan | Nov 2013 | A1 |
20150085734 | Nagaraja | Mar 2015 | A1 |
20150103804 | Gao | Apr 2015 | A1 |
20150215773 | Bai | Jul 2015 | A1 |
20150304363 | Garcia-Luna-Aceves | Oct 2015 | A1 |
20170086115 | Chung | Mar 2017 | A1 |
20170223535 | Schell | Aug 2017 | A1 |
20190363843 | Gordaychik | Nov 2019 | A1 |
20210195500 | Choi | Jun 2021 | A1 |
20210360490 | El-Rashidy | Nov 2021 | A1 |
Number | Date | Country |
---|---|---|
101128022 | Feb 2008 | CN |
101204071 | Jun 2008 | CN |
101686265 | Mar 2010 | CN |
102857985 | Jan 2013 | CN |
103873600 | Jun 2014 | CN |
105897712 | Aug 2016 | CN |
Entry |
---|
J. Ylitalo, T. Jokikyyny, T. Kauppinen, A. J. Tuominen and J. Laine, “Dynamic network interface selection in multihomed mobile hosts,” 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the, 2003, pp. 10 pp. -, doi: 10.1109/HICSS.2003.1174876. (Year: 2003). |
Atkinson, R., Bhatti, S. & Hailes, S. ILNP: mobility, multi-homing, localised addressing and security through naming. Telecommun Syst42, 273 (2009). https://doi.org/10.1007/s11235-009-9186-5 (Year: 2009). |
Wozniak, J. Mobility management solutions for current IP and future networks. Telecommun Syst 61, 257-275 (2016). https://doi.org/10.1007/s11235-015-9999-3 (Year: 2016). |
State Intellectual Property Office of the People's Republic of China, Office Action and Search Report Issued in Application No. 2018110668296, dated May 8, 2020, 9 pages. (Submitted with Machine Translation). |
State Intellectual Property Office of the People's Republic of China, Office Action and Search Report Issued in Application No. 2018110668296, dated Sep. 30, 2020, 7 pages. (Submitted with Machine Translation). |
ISA State Intellectual Property Office of the People's Republic of China, International Search Report Issued in Application No. PCT/CN2019/105634, dated Dec. 2, 2019, WIPO, 4 pages. |
European Patent Office, Extended European Search Report Issued in Application No. 19859679.3, dated Nov. 8, 2021, Germany, 10 pages. |
Number | Date | Country | |
---|---|---|---|
20220021755 A1 | Jan 2022 | US |