The present invention relates to routing support in heterogeneous communications networks, such as mobile IPv6 support in IPv4/IPv6 heterogeneous networks, and route optimisation in heterogeneous networks.
Tunnelling is a mechanism to enable inter-operability between different communication network environments, for example IPv4 (Internet Protocol version 4) and IPv6 (Internet Protocol version 6) networks. IPv6 is designed to be a replacement for IPv4. Due to the existing IPv4 deployment, there is a lengthy transition period during which IPv4 and IPv6 will co-exist.
In tunnelling architectures according to the prior art, a mobile node (MN) only uses one tunnelling server at any time. The tunnelling server provides a tunnel that shuttles packets towards the mobile node. If the node is mobile then mobile IP must be used, otherwise any tunnelling method may be employed. The tunnel starts at a home agent (HA), and ends at the mobile node's care-of address. With the introduction of dual stack mobile IP, reverse tunnelling is used, in which a tunnel starts at the mobile node's care-of address and terminates at the home agent (HA). Thus, all mobile IP traffic travels through the home agent, and the HA can become overloaded.
There are route optimisation (RO) methods for Mobile IPv6 in which both MN and CN (Correspondent Node) are in an IPv6 cloud. In case the MN is in an IPv4 cloud, where it does not know an alternative route to the CN, RO cannot be used.
The present invention proposes a mechanism with which, in a heterogeneous network, traffic can be diversified from a tunnelling server, and traffic can be balanced between available tunnelling servers.
According to an embodiment of the invention, an improvement over DSMIPv6 (Dual Stack Mobile IPv6 support) is provided together with full features of DSMIPv6.
According to the embodiment, traffic overloading at a Home Agent (HA) is avoided by distributing mobile IP traffic to the HA or Tunnelling Servers, and route optimisation is provided, enabling the mobile node (MN) to potentially consume fewer resources in the Home Agent.
The invention enables a mobile node supporting services of a first communication network environment different from a second communication network environment to use mobility services more efficiently when the mobile node moves to the second communication network environment.
According to an embodiment of the invention, the MN with DSMIPv6 is enabled to use mobility services more efficiently when the MN moves to IPv4 networks.
In order to diversify traffic from a tunnelling server actually used by a mobile node (MN), a tunnelling broker inside a connection broker may be used to store information about further tunnelling servers available for the MN and the actually used tunnelling server. Information pertaining to tunnelling servers may also be pre-configured in the MN.
The actually used tunnelling server has interfaces to different communication network environments, i.e. a first communication network environment providing certain services to the mobile node, and a second communication network environment in which the mobile node is roaming currently. Further available tunnelling servers also have interfaces to the different communication network environments. For accessing the actually used tunnelling server the mobile node may use a protocol different from a protocol for accessing the further available tunnelling servers.
According to an embodiment of the invention, the actually used tunnelling server is a DSMIPv6 home agent (HA). DSMIPv6 enables a mobile node with mobile IPv6 stack to be able to use mobile IPv6 service when it roams into IPv4 network.
According to the present invention, since multiple tunnelling servers are needed, a connection broker (CB) based architecture is introduced as shown in
The above description relating to a connection broker (CB) based architecture is presented as an illustrative example. It is clear to persons skilled in the art that the parameters of any tunnelling servers may be received in other ways as well, and the present invention is not in any way restricted to using a connection broker, although one may be used in certain embodiments to distribute tunnelling server parameters.
According to an embodiment of the invention, the MN 10 supports both DSMIPv6 stack and at least one of tunnelling protocols such as, for example, 6to4, Teredo, Anything in Anything or SSH (Secure Shell). As will be described in the following by referring to
Before sending a Binding Update, a Return Routability procedure may be performed to authorize Binding Update messages. Two tests are performed as part of this procedure, i.e., Home and Care-of Test Init messages are sent from the MN 10 towards the CN 20 at the same time. It is assumed that when the tunnelling server 40 or Home Agent 30 is congested, the corresponding packet delay will increase. Therefore, the following mechanism is proposed.
As shown in
The messages HOTI and COTI reach the CN 20, and the CN 20 responds with reply messages HOT and COT to the MN 10 along different routes as shown in
The MN 10 detects if the reply messages arrive at disparate times. Usually, if the difference between the round trip delays (i.e. HOTI+HOT and COTI+COT) for the alternative route via the TS 40 and reverse tunnelling via the HA 30 is neglectable, the MN 10 can select any of these tunnelling servers (i.e. HA 30 or TS 40) with corresponding tunnelling protocols.
Otherwise, the route with less delay will be used. In this context, it is assumed that once traffic congestion occurs, the relevant tunnelling server (either alternative tunnelling server TS 40 or HA 30) will add additional delay to a new requested tunnel. If the responding time of the Care-of Test init response message is shorter than the responding time of Home Test Init response message, the alternative route via the TS 40 will be used for MIP traffic; otherwise, the reverse tunnelling is adopted.
A tunnelling broker may be a single device or integrated with a tunnelling server. The information about the tunnelling server actually used by the mobile node, such as a DSMIPV6 HA, may be pre-configured at a tunnelling broker. Alternatively, the HA may host a service to expose its configuration to a tunnelling broker, and the tunnelling broker may perform a service discovery to acquire this information.
Communications between a tunnelling broker and the MN may use the TSP (Tunnelling Selection Protocol). According to an embodiment of the invention, information is provided by a tunnelling broker and it comprises an IPv4 address and an IPv6 address of the available tunnelling servers including the HA. After having acquired this information, the MN is able to select the desired tunnelling servers to communicate with the correspondent node (i.e., the destination) and obtain the IP addresses.
If the routability procedure as described above is used, the mobile node 10 may encounter an addressing problem as follows. The alternative tunnelling server 40 and the HA 30 as shown in
A packet format for a tunnelling protocol used between the MN 10 and the TS 40 may be similar to a packet format an HA based reverse tunnelling. The packet format for the tunnelling protocol may be as follows:
The IPv4 header contains an IPv4 address of the MN 10 as source address, and an IPv4 address of the TS 40 as destination address. The IPv6 header contains a source IPv6 address of the MN 10 which is assigned by the TS 40 and an IPv6 address of the destination, i.e. the CN 20.
According to the proposed extended route optimisation approach, at the initial stage, two separated tunnels have to be established. However, one of the tunnels can be released (e.g. through time-out) once the MN decides which route it wants to take.
To avoid this overhead in certain cases, since a connection broker, if used, may roughly know the status of the tunnelling servers from handling the TSP requests, when a connection broker, if used, provides the information on the tunnelling servers to the MN e.g. for home agent information, it can decide whether the extended optimisation is supported for the MN. If the extended optimisation is not supported for the MN, reverse tunnelling is enforced. Otherwise, a connection broker may indicate the use of extended optimisation in HA settings.
In case communication is possible between a tunnelling broker and the HA, whenever HA is overloaded, it will signal the tunnelling broker to cause the tunnelling broker to suggest to use extended route optimisation to diversify the traffic.
According to an embodiment of the invention, applications in the MN have to support DSMIPV6 stack for reverse tunnelling through the HA and alternative stack for tunnelling through a tunnelling server at the same time, so that packets sent through tunnelling servers or the HA can reach the applications.
In the following an embodiment of the invention will be described with reference to
As shown in
The first binding unit 101 provides for a binding to a first tunnelling server using a first protocol. The first tunnelling server may be a home agent of the device 100 and the first protocol may support services of a communication network environment different from a current communication network environment in which the device 100 is present currently. The first protocol may comprise DSMIPv6 stack.
The second binding unit 102 provides for a binding to a second tunnelling server using a second protocol different from the first protocol. The second protocol may comprise a tunnelling protocol such as, for example, 6to4, Teredo, Anything in Anything or SSH.
The authorizing unit 103 causes the first binding unit 101 or the second binding unit 102 to provide the binding.
The testing unit 104 may test the first and second tunnelling servers. In this case, the authorizing unit 103 may cause the first binding unit 101 or the second binding unit 102 to provide the binding based on a result of the testing.
The testing unit 104 may comprise the transmitting unit 105, the receiving unit 106, the detecting unit 107 and the deciding unit 108. The transmitting unit 105 may transmit a first message towards a correspondent node through the first tunnelling server and a second message towards the correspondent node through the second tunnelling server. The receiving unit 106 may receive a first response message from the first tunnelling server based on the first message and a second response message from the second tunnelling server based on the second message. The detecting unit 107 may detect a time of arrival of each of the first and second response messages and determine round-trip times, and the deciding unit 108 may to decide congestion status of the first and second tunnelling servers based on the round-trip times of each of the first and second response messages.
The selection unit 109 may select at least one of the first and second tunnelling servers out of a plurality of tunnelling servers indicated to the device 100. The plurality of tunnelling servers may be indicated to the device 100 for example by a connection broker, or may be pre-configured in the device 100 e.g. in a storage unit (not shown).
The device 100 may receive collected information on tunnelling servers having a first interface to the communication network environment providing services and a second interface to the current communication network environment in which the device 100 is present currently, or the collected information may have been pre-configured in the device 100. Then, at least one of the first and second tunnelling servers may be selected by the selecting unit 109 out of the plurality of tunnelling servers indicated by the collected information.
The collected information may include information on a tunnelling server actually used by the device 100.
Moreover, the device 100 may receive a message e.g. from a connection broker, forcing a release of the providing for the first and second bindings, and the authorizing unit 103 may cause the first binding unit 101 or the second binding unit 102 to provide the binding in response to the message.
In addition, the device 100 may receive a message, e.g. from a connection broker, forcing the testing of the first and second tunnelling servers by the testing unit 104 which may then perform the testing in response to the message.
For example, this message may be received when one of the first and second tunnelling servers is overloaded.
It is to be noted that the device 100 shown in
The present invention may also be implemented as a storage medium storing computer program instructions readable by a processing unit, and a signal carrying processor implementable instructions for controlling a processing unit.
It is to be understood that the above description is illustrative of the invention and is not to be construed as limiting the invention. Various modifications and applications may occur to those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims.