# Patent

## Title
Support of disparate addressing plans and dynamic HA address allocation in mobile IP

## Abstract

Methods and apparatus for enhancing Mobile IP signaling and to support use of disparate addressing plans and dynamic Home Agent allocation in Mobile IP Regional Tunneling are described. The enhanced methods of signaling use an intermediate node, e.g., a Gateway Foreign Agent, straddling different addressing domains, when the signaling controls a process between the intermediate node and an upstream node. The specific intermediate node, its interfaces and upstream addresses can be dynamically selected. The Enhanced MIP signaling includes dynamic allocation of: a regional node at a Foreign Agent, the upstream address of a regional node by the regional node, a Home Agent for a regional node prior to dynamic allocation of the regional node. A method is supported to indicate to a Mobile Node that a dynamically allocated regional node has become invalid triggering enhanced MIP signaling dynamically allocating a new regional node and upstream interface address.

## Background
RELATED APPLICATIONS
This application claims the benefit of the filing date of U.S. Provisional Patent Application Ser. No. 60/370,836 filed Apr. 8, 2002, titled “Methods and Apparatus For the support of disparate addressing plans and dynamic HA address allocation in Mobile IP Regional Tunneling” which is hereby expressly incorporated by reference.


BACKGROUND
For the purpose of understanding the invention it is useful to have a basic understanding of Mobile IP. Mobile IP (v4/v6), also indicated as MIPv4 [MIPv4] and MIPv6 [MIPv6], enables a mobile node (MN) to register its temporary location indicated by a care-of-address (CoA) to its Home Agent (HA). The HA then keeps a mapping (also called a binding) between the MN's permanent address, otherwise called Home Address (HoA), and the registered CoA so that packets for that MN can be redirected to its current location using IP encapsulation techniques (tunneling).
The CoA used by a MN can be an address that belongs to a Foreign Agent (FA) when MIPv4 is used or, in MIPv4 and MIPv6, it can be a temporarily allocated address to the MN itself in which case is called a collocated care-of-address (CCoA).
The concepts and solutions described here are applicable to both MIPv4 and MIP unless otherwise mentioned.
Regional tunneling (REGTUN) is one technique sometimes used in conjunction with Mobile IP. This approach uses a Gateway Foreign Agent (GFA) between the FA and the HA to improve MIP signaling. Specifically, the MN can register the local GFA CoA into the HA using an MIP registration with the HA that is routed via the GFA. Then each binding update under the same GFA goes just to the GFA instead of the HA, and changes the FA CoA for the GFA. The GFA switches the GFA CoA traffic for the specific HoA into the FA CoA matching that HoA and GFA CoA. The GFA update is a regional registration and it avoids having to refresh the HA on each hand-off which is a bandwidth and latency gain because the HA could be a very distant node from the FA/GFA.
The problem with this draft (http://www.ietf.org/proceedings/01dec/I-D/draft-ietf-mobileip-reg-tunnel-05.txt is that the signaling scheme assumes that the two addressing schemes are the same either side of the GFA, and no support is enabled for dynamic HA allocation, both of which are common requirements in MIP. Therefore, a need exists for apparatus and methods that will support disparate addressing plans and dynamic HA address allocation in MIP signaling.
SUMMARY OF THE INVENTION
The present invention is directed to methods and apparatus establishing communications sessions and, more particularly, to enhanced methods of performing signaling through an intermediate node that straddles different addressing domains, when that signaling is trying to control a process undertaken between the intermediate node and an upstream node. Various methods for enhancing Mobile IP discovery of the IP addresses of Mobile IP nodes, and the subsequent configuration of Mobile IP forwarding tunnels is then described.
In accordance with one feature of the present invention, rather than allow a downstream node to use the address of the downstream interface on an intermediate node, that is in the same addressing domain as the downstream node, for undertaking a process with the upstream node, in accordance with the present invention, the address of the upstream interface of the intermediate node, that is in the same addressing domain as the upstream node, is instead selected to be the address on the intermediate node for the communications process with the upstream node. This ensures that the upstream node can communicate with the intermediate node for the identified process, even when the two addressing domains are different and the downstream interface of the intermediate node is not reachable from the upstream node. In the case of Mobile IP, the communications process is the MIP tunneling between, for example, an upstream Home Agent and an intermediate regional node such as a Gateway Foreign Agent, which is configured using a MIP Registration Request message from the downstream foreign agent. This then ensures that the tunnel be correctly set-up even when private addresses are used between the foreign agent and the regional node whilst public addresses are used between the regional node and the home agent. Existing Mobile IP signaling instead uses a single piece of information to identify the address of the regional node and the process address for the upstream node with the regional node, which fails in the case of distinct addressing domains on either side of the regional node.
Further, in accordance with this invention, the specific intermediate node, as well as the upstream interface and therefore the upstream address at that intermediate node, can all be dynamically selected during the signaling phase, based on information about the type of communications process being set-up, the entity and its location that is requesting that it be setup, and the type and location of the upstream node. This novel feature of the invention is particularly useful for supporting multiple intermediate nodes in a domain, each of which serves a subset of all the downstream nodes in a domain, and for ensuring that the selected upstream interface of the selected intermediate node is in the same addressing domain as the upstream node. In the specific case of Mobile IP, the present invention enables the regional node to be dynamically allocated at the foreign agent, optionally with the assistance of the Authentication, Authorization and Accounting (AAA) system, and the upstream address of the regional node to be dynamically allocated by the regional node itself, optionally again with assistance from the AAA system. This then avoids all Mobile Nodes having to be configured with, or discover, a table that lists all possible HAs and the associated regional node and upstream interface at that regional node that matches that particular Home Agent. Existing MIP signaling relies on the address of the regional node being known at the foreign agent, and optionally communicated to the Mobile Node in advance of the Registration signal being sent from the Mobile Node, that will traverse the regional node towards the Home Agent. This clearly does not facilitate dynamic allocation of the regional node, nor the dynamic allocation of the associated upstream interface address.
Inventive methods, in accordance with the present invention, are also described for dynamically allocating the Home Agent in advance of dynamically allocating the associated regional node, and for communicating the addresses of these dynamically allocated nodes to the other Mobile IP nodes that need that address information for subsequent Mobile IP signaling. The address of the HA should be communicated to the regional node so that the regional node can forward the Registration message to that HA and invoke the tunnel building process between the HA and the regional node. Existing MIP signaling for the regional node does not support dynamic allocation of a HA.
Another novel method, in accordance with the present invention, is described for indicating to a Mobile Node when the allocated regional node, that was dynamically allocated to the Mobile Node, becomes invalid, triggering another MIP signaling phase from the Mobile Node to dynamically allocate a new regional node and associated upstream interface address. This method is in contrast to existing MIP signaling which cannot accommodate a dynamically allocated regional node.
Numerous additional features and benefits of the present invention will be apparent in view of the Figures and detailed description which follows.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates two addressing domains; the generic downstream, intermediate and upstream nodes; and the signals employed to invoke the process between the upstream node and the upstream interface of the (intermediate) node.
FIG. 2 illustrates a diagram of an exemplary network supporting a Mobile IP Regional node and the Mobile IP signals used to invoke and manage the tunnel between the Home Agent and the regional node, as well as the tunnel between the regional node and the foreign agent.
FIG. 3 illustrates the MIP signaling flow for the dynamic allocation of the regional node, and the interface on that regional node, in the case of a Gateway Foreign Agent, as well as the discovery of a change of regional node.
FIG. 4 illustrates the MIP extensions used to carry the dynamically allocated GFA and GFA CoA to the necessary MIP nodes.
FIG. 5 illustrates the dynamic allocation of a Home Agent in the presence of a regional node, as well as the MIP signaling changes when the generic intermediate node is additionally a foreign agent that straddles two addressing domains.



DESCRIPTION OF THE INVENTION
The methods and apparatus of the present invention are directed to a number of procedures to enable the IP signaling layer (MIP or similar mechanisms) to better support the existence of a regional node.
FIG. 1 shows an overall communication domain 100 including an exemplary addressing domain 1 101 and an exemplary addressing domain 2 103. Addressing domain 1 101 includes a downstream node 102; addressing domain 2 103 includes an upstream node 106. An intermediate node 104 is located on a boundary 105 separating addressing domain 1 101 from addressing domain 2 103. Intermediate node 104 includes two addressing interfaces: addressing domain 1 interface 104a and addressing domain 2 interface 104b. Intermediate node 104 also includes address information 104a′ associated with interface 104a and address information b 104b′ associated with interface 104b. Downstream node 102 may be, for example, a visited access node; intermediate node 104 may be, for example, a MIP Gateway Foreign Node; upstream node 106 may be, for example, a Mobile IP Home Agent.
The downstream node 102 and the intermediate node 104 have interfaces with addresses, 102′ and 104a′, respectively, from the addressing domain 1 101, such that messages can flow from the downstream node 102 to the downstream interface of the upstream node 104a. The upstream node 106 and the intermediate node 104 have interfaces with addresses, 106′ and 104b′, respectively, from the addressing domain 2 103, such that messages can flow from the upstream interface of the intermediate node 104b to the upstream node 106.
FIG. 1 further shows instructed processes 130, as illustrated by the dashed bi-directional arrows between the upstream node 106 and the intermediate node 104. The process 130 may be, for example, the invocation and management of a tunnel.
When the addressing domain 1 101 and addressing domain 2 103 are independent addressing domains, such that reachability is not supported between those addressing domains, then messages are not generally able to flow between the upstream node 106 and the downstream interface of the intermediate node 104a, such that any process 130 undertaken between the upstream node 106 and the intermediate node 104, needs to be undertaken using the interface address 104b′. 
To invoke such a process 130 from the downstream node 102, or any node further downstream of the downstream node 102, a message 1, 110, is first sent from the downstream node 102 to the intermediate node 104 using interface 104a, possibly as a result of an incoming message from a node further downstream of the downstream node 102. Message 1, 110, includes a message header 112 which includes source and destination addresses, 111, 113, respectively, equal to the addresses of the downstream node 102′ and the downstream interface of the intermediate node 104a′, respectively. Message 1, 110, also includes a message body 114 that includes an instruction 115 to invoke the process 130 between the upstream node 106 and the intermediate node 104. The Message body 1, 114, also includes an information element indicating the intermediate node downstream address 104a′ that has been dynamically allocated at the downstream node 102. The message body 1 114 may additionally contain the intermediate node upstream address 104b′, which without loss of generality may be empty. The information in the message body 1 114 is typically signed by the downstream node 102 as represented by security information 116 to prevent its contents being manipulated by an attacker situated between the downstream node 102 and the intermediate node 104.
To further invoke such a process 130 from the intermediate node 104, a message 2, 120, is first sent from the upstream interface of the intermediate node 104b to the upstream node 106. Message 2, 120, includes a message 2 header 122 which includes source and destination addresses, 121, 123, respectively, equal to the addresses of the intermediate node upstream interface 104b′ and the upstream node 106′, respectively. Message 2, 120, also includes a message 2 body 124 that includes an instruction 125 to invoke the process 130 between the upstream node 106 and the intermediate node 104 that was obtained from message 1, 110. The Message body 2, 124, also includes an information element indicating the intermediate node downstream address 104a′ that has been dynamically allocated at the downstream node 102. The message body 2 124 also includes the intermediate node upstream address 104b′, which was generated at the intermediate node 104. The information in the message body 2 124 is typically signed, as indicated by security information 126, by the intermediate node 104 to prevent its contents being manipulated by an attacker situated between the intermediate node 104 and the upstream node 106. Without loss of generality, the generation of the upstream address 104b′ at the intermediate node 104 can be undertaken in a number of ways. Firstly, it can be obtained from message body 1, 114, if the intermediate node upstream address 104b′ was dynamically allocated at the downstream node 102 along with the downstream address 104a′. Secondly, the intermediate node upstream address 104b′ can be dynamically allocated at the intermediate node 104 itself and inserted into message body 2 124 instead of any empty or default value passed in message body 1, 114. Thirdly, the upstream address on the intermediate node 104b′ can be requested and obtained by either the downstream and/or intermediate nodes 102, 104 from an external policy server such as an Authentication, Authorization and Accounting Server.
The upstream node 106 can then invoke the process 130 with the upstream address 104b′ of the intermediate node 104. In addition, messages 140 and 150 are then used to carry the dynamically allocated addresses 104a′ and 104b′ back to the downstream node 102 and to any nodes further downstream from the downstream node 102 that needs those addresses 104a′, 104b′ to repeatedly invoke the process 130 via that intermediate node 104.
This sequence ensures that the process 130 from the upstream node 106 does not use the downstream address 104a′ of the intermediate node 104 which in the case of separate addressing domains may not be reachable.
The application of the above sequence will now be explained, without loss of generality, for the specific case of the downstream node 102 being a MIP foreign agent, the upstream node 106 being a MIP home agent, the intermediate node 104 being a MIP regional node such as Gateway Foreign Agent, and the process 130 being the construction of a MIP tunnel between the MIP Home Agent and the Gateway Foreign Agent on request from a Mobile Node.
FIG. 2 shows an exemplary communications network 200 including 3 addressing domains: addressing domain 1 201, addressing domain 2 203, and addressing domain 3 207. Boundary line 205 separates addressing domain 1 201 from addressing domains 203 and 207. Boundary line 209 separates addressing domain 2 203 from addressing domain 3 207.
The exemplary communications network 200 comprises a visited access node 214, e.g. a visited access router, including a Mobile IP foreign agent (FA) 216, a Mobile IP Gateway foreign agent (GFA) 230, and a Mobile IP Home agent (HA) 240. The GFA 230 is located on the boundary 205 between addressing domain 1 201 and addressing domain 2 203. Within addressing domain 1 201, the GFA 230 is connected to the FA 216 via a node 208 and links 204 and 202. Within addressing domain 2 203, the GFA 230 is connected to the HA 240 through nodes 238 and 248 via links 234, 206 and 244. Link 234 couples GFA 230 to node 238; link 206 couples node 238 to node 248; link 244 couples node 244 to HA 240. The GFA 230 therefore has two different interfaces, such that a GFA interface 230a on link 204 has an address from the same addressing domain 1 201 as that of the FA 216 interface connected to link 202. In contrast, a GFA 230 interface 230b attached to link 234 has an address allocated from the same addressing domain 2 203 as the address allocated to the interface on the HA 240 connected to link 244. In the communications network 200 it can be seen that no path exists between the HA 240 and the FA 216 that does not traverse the GFA 230. In addition, the addresses from the addressing domain 1 201 shared by the FA 216 and the GFA 230 are not routable from the addresses from the addressing domain 2 203 shared by the HA 240 and the GFA 230.
Exemplary end node 1 260 and exemplary end node N (X) 262 are coupled to the communications network 200 through the visited access node 214. Specifically, links 218, 220 couple end nodes 260, 262, respectively, to visited access node 214 with its FA 216. The end nodes 260, 262 may be, for example, mobile nodes or mobile terminals. Many such end nodes 260, 262 and visited access nodes 214 will typically exist in communications network 200, along with a smaller number of GFAs 230. Each such GFA 230 will be assigned to a subset of the visited access nodes 214, and advertised to the end nodes 260, 262 which contain MIP Mobile Node software. The movement of the end nodes 260, 262 between visited access nodes 214 can eventually result in the end node receiving a newly advertised GFA 230 address, this address being that of the interface 230a connected to link 204 which can be known to the FA 216. Whilst the exemplary Mobile Node (MN) N (X) 262 receives the same GFA 230 address from any FA 216, the MN 262 can issue MIP Regional Registration messages 272 towards the GFA 230, potentially via the FA 214. This message 272 updates the Care of Address in the GFA 230 for the home address of the MN 262, this care of address being either the FA 216 address or the address of the MN 262, such that a tunnel can be constructed between the GFA 230 and the Care of address. The Registration Reply message 273 is then returned to the MN 262 visiting the same MIP nodes as that visited by the Registration message.
In order to further explain variations of the present invention, the connectivity between addressing domain 3 207 and addressing domain 2 203 is described below. Dotted arrow line 290 represents the transition of exemplary end node N (X) 262 from addressing domain 1 201 to addressing domain 3 207. Addressing domain 3 207 includes a visited access node 214′, with a mobile IP Foreign agent module 216′, and node 208′. Link 202′ couples FA 216′ to node 208′. Node 208′ is coupled to a MIP Gateway Foreign Agent Node 230′ via link 204′. Addressing domain 2 203 further comprises node 238′ which is coupled to node 248 via link 206′. Node 238′ is also coupled to GFA 230′ via link 234′.
MIP Gateway Foreign Agent Node 230′ is located on the boundary, indicated by dashed line 209, between addressing domain 2 203 and addressing domain 3 207. GFA 230′ includes interfaces 230′a and 230′b. The GFA 230′ therefore has two different interfaces, such that the GFA interface 230′a on link 204′ has an address from the same addressing domain 3 207 as that of the FA 216′ interface connected to link 202′. In contrast, the GFA 230′ interface 230′b attached to link 234′ has an address allocated from the same addressing domain 2 203 as the address allocated to the interface on the HA 240 connected to link 244.
When however, the MN 262 receives a new GFA 230′ address from the FA 216′, then the MN 262 knows that no MIP tunnel exists between the Home Agent 240 of the MN 262 and the GFA 230′ and, in accordance with the invention, therefore issues a MIP Registration message 270 towards the HA 240, that is forwarded via the FA 216′ and the GFA 230′. This message is followed by a Registration Reply message 271 back to the MN 262 via the same set of MIP nodes. The message 270 includes a Care of address field, which is typically populated by the MN 262, using the GFA 230′ address advertised by the FA 216′, this typically being the address of interface 230a′ at the GFA 230′. The message 270 installs the Care of address of the GFA 230′ into the HA 240 so that a MIP tunnel can be built for the MN 262 home address between the HA 240 and the GFA 230′. Packets will then be delivered to the new GFA 230′ and messages 272 and 273 can then update the GFA 230′ with each new MN CoA as the MN changes FA 216′ under the same GFA 230′. This procedure however fails if the address of the GFA 230′ on link 204′ is not reachable from the HA 240. Alternative signaling as shown in FIGS. 3 to 5 and described next may instead be used, in accordance with the present invention.
FIG. 3 shows the dynamic allocation of the GFA 230 at the FA 216, and the dynamic allocation of the GFA CoA at the GFA 230. The FA 216 of FIG. 3 equates to the downstream node 102 of FIG. 1, the GFA 230 of FIG. 3 equates to the intermediate node 104 of FIG. 1 and the HA 240 equates to the upstream node 106 of FIG. 1. FIG. 3 is separated into an addressing domain 1 201 including MN 262 and FA 216 and an addressing domain 2 203 including HA 240. GFA 230 is situated on a boundary 205 separating domains 201 and 203. The process 130 of FIG. 1 equates to the MIP tunnel management between the HA 240 and the GFA 230 of FIG. 2. Message 270 of FIG. 2 is broken up into hop by hop messages 270a, 270b and 270c. Message 110 of FIG. 1 equates to message 270b of FIG. 3 and message 120 of FIG. 1 equates to message 270c in FIG. 3. The downstream interface address 104a′ on the intermediate node equates to the GFA address in FIG. 3 whilst the upstream interface address 104b′ of the intermediate node equates to the GFA CoA in FIG. 3.
In step 301, the FA 216 constructs a message 310 with the FA CoA address from domain 1 201 and GFA address from domain 1 201 advertised to MN 262 for movement detection purposes, and sends the message 310 to the MN 262. The subsequent messaging of FIG. 3 is triggered when the MN 262 receives message 310 from FA 216, which includes a new default GFA address, and which acts as a common identifier for any dynamically allocated GFA at that FA 216. This means that if the MN 262 sees a new default GFA address then it must also acquire a new dynamically allocated GFA. Message 310 also includes the FA CoA of the FA 216 as is usual in MIP signaling.
Next, in step 303, the MN 262 then sends Registration message 270a to the FA 216 including the Home address and HA 240 address of the MN 262, with the intention of updating the GFA CoA for that home address at the HA 240. The Registration message 270a includes a CoA field that can either be left blank by the MN 262 or can contain the default GFA address. In step 305, FA 216 then dynamically allocates a GFA to the MN 262, potentially with help from a policy server, e.g. a AAA server, that has an upstream interface that is reachable from the HA 240 included in the message 270a. Note that the HA is globally unique through the combination of the HA address and the realm part of the Network Address Identifier of the MN 262 that are included in message 270a. The GFA address and the FA CoA are then securely passed to the assigned GFA in message 270b. The FA CoA enables the GFA to build a tunnel to the present FA 216 of the MN 262 whilst the GFA address is included so it can be passed to the HA 240. In step 307, the GFA 230 then dynamically assigns a GFA CoA from an interface that is reachable from the HA 240 and then securely passes this address, along with the GFA address to the HA in message 270c. It does this by adding an extension to the MIP Registration message containing the GFA CoA, that is used instead of the CoA field which is either blank or includes the default GFA address, for construction of the MIP tunnel. The HA 240 can then build that tunnel towards the GFA CoA rather than towards the GFA address, because the GFA address is not itself reachable from the HA 240. Next, in step 309, the HA 240 includes the GFA and GFA CoA into the MIP Registration Reply message 271a, signs this message with the secret it shares with the MN 262, and sends message 271a to the GFA 230. In step 311, the GFA 230 forwards the GFA and GFA CoA to the FA 216 in MIP Registration Reply Message 271b. Subsequently, in step 313, FA 216 forwards the GFA and GFA CoA to MN 262 in MIP Registration Reply Message 271c. Finally, in step 315, MN 262 can then securely receive the GFA and GFA CoA which it can then include in subsequent MIP Registration messages 270 and 272 to refresh the installed MIP bindings in the HA and the GFA.
Note that, in other variations of the present invention, the GFA and GFA CoA can be passed back to the MN 262 in many other ways than via the HA, that make use of a different set of MIP security associations to sign the extension carrying those addresses. Note also that in another variation of the present invention, the GFA CoA can instead be dynamically assigned at the same time as the GFA is assigned at the FA, and the GFA CoA then passed in message 270b to the allocated GFA.
FIG. 4 repeats the elements (262, 216, 230, 240), domains (201, 203) and boundary 205 of FIG. 3. Steps (301′, 303′, 305′, 307′, 309′, 311′, 313′, 315′) of FIG. 4 equate to the steps (301, 303, 305, 307, 309, 311, 313, 315) of FIG. 3, respectively. Similarly, messages (310′, 270a′, 270b′, 270c′, 271a′, 271b′, 271c′) of FIG. 4 equate to messages (310, 270a, 270b, 270c, 271a, 271b, 271c) of FIG. 3, respectively.
In addition, FIG. 4 shows the extensions used to carry the FA CoA, GFA CoA and the GFA address in messages 270′ and 271′. The Hierarchical Foreign Agent Extension (HFAext) carries the FA CoA in message 270b′ and carries the GFA CoA in message 270c′ and messages 271′. Note that if the GFA CoA is also assigned at the FA 216 then two HFAext are included in message 270b′, which means that either a flag bit is required in the HFAext to distinguish between the two addresses, or the FA CoA is signed with the secret shared between the FA 216 and the GFA 230 whilst the GFA CoA is signed with the secret shared between the FA 216 and the HA 240, the type of signature therefore uniquely identifying the contents of each HFAext. The GFA address is carried in the Hierarchical Foreign Agent IP address extension (HFAIPext) in messages 270b′, 270c′ to the HA 240, and messages 271′ back to the MN 262.
The steps and signaling of FIG. 4 are described below. In step 301′, FA 216 adds the GFA address into the HFAIP extension, constructs message 310′ which includes FA CoA+HFAIPext, and sends message 310′ to MN 262. This triggers the subsequent signaling described in FIG. 4. Next, in step 303′, MN 262 issues RREQ message 270a′ to FA 216 with a blank CoA as the GFA CoA is not yet assigned. Then, in step 305′, FA 216 includes FA CoA in the HFA extension, includes the dynamically assigned GFA in the HFAIP extension, signs both by the FA-GFA shared secret, and sends RREQ message 270b′ including HFAIPext+HFAext to GFA 230. Next, in step 307′, GFA 230 replaces FA CoA in HFAext with a dynamically assigned GFA CoA, signs HFAIPext and HFAext with GFA-HA shared secret, and sends RREQ message 270c′ including HFAIPext+HFAext to HA 240. Upon reception of message 270c′, the process 130 is triggered at the HA 240 towards the GFA 230. Additionally, the HA 240 extracts GFA and GFA CoA from message 270c′, signs them with the HA-MN shared secret, and sends them toward the MN 262 in the RREP message 271a′ including HFAIPext+HFAext to GFA 230. GFA 230, in step 311′ forwards GFA and GFA CoA towards MN 262 via RREP message 271b′ including HFAIPext+HFAext to FA 216. Next, FA 216, in step 313′, forwards the GFA and GFA CoA to MN 262 via Message 271c′ including HFAIPext+HFAext. Finally, in step 315′, MN 262 retrieves GFA address for use in the HA field of the Regional Registration, and the GFA CoA for use as the CoA in Registration Requests to the HA.
FIG. 5 illustrates the additional processing associated with a dynamically assigned FA CoA and a dynamically assigned HA.
FIG. 5 repeats the elements (262, 216, 230, 240) of FIG. 3. FIG. 5 includes 3 addressing domains: an addressing domain 1 5201, an addressing domain 2 5203, and an addressing domain 3 5207. A boundary line 5205 separates domain 1 5201 from domain 2 5203. A boundary line 5206 separates domain 1 5201 from domain 3 5207. MN 262 is in addressing domain 3 5207. FA 216 is located on the boundary 5206 between addressing domain 3 5207 and addressing domain 1 5201. GFA 230 is located on the other boundary 5205 separating addressing domain 1 5201 from addressing domain 2 5203. HA 240 is located in addressing domain 2 5203. Steps (501, 503, 505, 507, 509, 511, 513, 515) of FIG. 5 are similar to the steps (301, 303, 305, 307, 309, 311, 313, 315) of FIG. 3, respectively. Messages (310′′, 270a′′, 270b′′, 270c′′, 271a′′, 271b′′, 271c′′) of FIG. 5 are similar to messages (310, 270a, 270b, 270c, 271a, 271b, 271c) of FIG. 3, respectively.
FIG. 5 shows two additional novel aspects of the invention: the dynamic allocation of a HA 240 and the case of the FA 216 straddling two addressing domains. Dynamic HA allocation is, without loss of generality, undertaken at the FA 216 potentially in conjunction with a policy server. The allocated HA address is then able to be used in selecting the GFA 230 address and the GFA CoA 104b as part of the same allocation procedure. If however the HA allocation is undertaken at the GFA 230 then only the GFA CoA 104b can be dynamically allocated based on the HA address 240 because of the GFA 230 will have be allocated at the FA 216 without knowledge of the yet to be assigned HA 240. Assuming the HA address is allocated at the FA 216, and having established the GFA 230, then the FA 216 needs to pass to the GFA 230 in message 270b′′ the HA address in the Home Agent IP Address extension (HAIPext), or in a HFAIPext which includes flags or other indicators to differentiate between different types of addresses. The GFA 230 on receiving this HA address is then able to direct message 270c′′ to that identified HA address. The HA address is already returned to the MN 262 in the standard MIP RREP so the HAIPext is not needed to be included in messages 271′′.
The second aspect of FIG. 5 is the addition of addressing domain 3 5207 between the MN 262 and the FA 216, such that the address included in message 310′′ is now the FA address from domain 3 5207, and the FA 216 must then dynamically allocate a FA CoA from domain 1 5201 for inclusion in message 270b′′ to facilitate the building of a MIP tunnel between the GFA 230 and the FA CoA at FA 216. This is a second example of the applicability of FIG. 1, where the MN 262 is the downstream node 102, the GFA 230 is the upstream node 106, and the FA 216 is the intermediate node 104 with FA address 104a′ from domain 3 and FA CoA 104b′ from domain 1 5201. Process 130 is then the tunnel construction between the GFA 230 and the FA 216.
The steps and signaling of FIG. 5 are described below. In step 501, for movement detection purposes, FA 216 advertises to MN 262 the FA address from domain 3 5207 and the GFA address from domain 1 5201 via FAA message 310′′ including FA+GFA address. The subsequent messaging of FIG. 5 is triggered when the MN 262 receives message 310′′ from FA 216. In step 503, MN 262 issues RREQ message 270a′′ to FA 216 with a blank CoA field because the GFA CoA is not yet known. Next, in step 505, FA 216 dynamically assigns from domain 1 5201, potentially with AAA support, a FA CoA to the MN 262, and dynamically assigns from domain 2 5203, potentially with AAA support, a HA 240 to the MN 262. Then, FA 216 sends RREQ message 270b′′ including HA address in HAIPext to GFA 230. Upon reception of message 230, in step 507, GFA 230 forwards the RREQ to HA 240 in RREQ message 270c′′. In step 509, HA 240 sends RREP message 271a′′ to GFA 230 so that the MN 262 can ultimately learn the HA address from the RREP. Proceeding to step 511, GFA 230 forwards RREP via message 271b′′ to FA 216. Then, in step 513, FA 216 signs with an MN-FA shared secret, and then returns the dynamically assigned FA CoA to the MN 262 via RREP message 271c′′ including FA CoA in HFAext. Finally, in step 515, MN 262 retrieves from RREP message 271c′′ the FA CoA for use in the CoA field of Regional Registration and the HA address for use in subsequent RREQ messages to the HA 240.
In various embodiments nodes described herein are implemented using one or more modules to perform the steps corresponding to one or more methods of the present invention, for example, signal processing, message generation and/or transmission steps. Thus, in some embodiments various features of the present invention are implemented using modules. Such modules may be implemented using software, hardware or a combination of software and hardware. Many of the above described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disk, etc. to control a machine, e.g., general purpose computer with or without additional hardware, to implement all or portions of the above described methods, e.g., in one or more nodes. Accordingly, among other things, the present invention is directed to machine-readable medium including machine executable instructions for causing a machine, e.g., processor and associated hardware, to perform one or more of the steps of the above-described method(s).
Numerous additional variations on the methods and apparatus of the present invention described above will be apparent to those skilled in the art in view of the above description of the invention. Such variations are to be considered within the scope of the invention. The methods and apparatus of the present invention may be, and in various embodiments are, used with CDMA, orthogonal frequency division multiplexing (OFDM), and/or various other types of communications techniques which may be used to provide wireless communications links between access nodes and mobile nodes. In some embodiments the access nodes are implemented as base stations which establish communications links with mobile nodes using OFDM and/or CDMA. In various embodiments the mobile nodes are implemented as notebook computers, personal data assistants (PDAs), or other portable devices including receiver/transmitter circuits and logic and/or routines, for implementing the methods of the present invention.
The above described methods and apparatus are exemplary. Numerous variations are possible while keeping within the scope of the invention.

## Claims

1. A communications method for use in a communications system including a first network address domain and a second network address domain and an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the method comprising the steps of:
operating said intermediate node to receive a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message; and
operating said intermediate node to generate a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node.

2. The method of claim 1, wherein the first and second message bodies include the first network address of said first interface of said intermediate node.

3. The method of claim 1, wherein said second network address is selected from a plurality of network addresses as a function of the destination address corresponding to said upstream node.

4. The method of claim 1, wherein said first and second messages are mobile IP messages.

5. The method of claim 4, wherein said upstream node is mobile IP home agent.

6. The method of claim 4, wherein said upstream node is a mobile IP regional node and the intermediate node is a mobile IP foreign agent.

7. The method of claim 4, wherein said downstream node is a Mobile IP Mobile Node, the intermediate node is a mobile IP regional node and the upstream node is a mobile IP home agent.

8. The method of claim 1, wherein said at least one instruction is used in establishing a tunnel between the upstream node and the intermediate node.

9. The method of claim 1 wherein the first network address is not routable in the second network address domain.

10. The method of claim 1 wherein the second network address is not routable in the first network address domain.

11. A communications method for use in a communications system including a first network address domain and a second network address domain and an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the method comprising the steps of:
operating said intermediate node to receive a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
operating said intermediate node to generate a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;
wherein the first and second message bodies include the first network address of said first interface of said intermediate node; and
wherein said second network address is included in said first message body, said step of generating said second message including incorporating said second network address from said first message body into said second message body.

12. A communications method for use in a communications system including a first network address domain and a second network address domain and an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the method comprising the steps of:
operating said intermediate node to receive a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
operating said intermediate node to generate a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node; and
wherein said first message body includes a blank intermediate node address field and wherein said second network address is added to said second message body by said intermediate node thereby resulting in said first and second message bodies including different intermediate node address fields.

13. A communications method for use in a communications system including a first network address domain and a second network address domain and an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the method comprising the steps of:
operating said intermediate node to receive a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
operating said intermediate node to generate a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;
wherein said first and second messages are mobile IP messages; and
wherein the first network address is included in a mobile IP extension included in said first message body and said second network address is included in a mobile IP message extension included in said second message body.

14. A communications method for use in a communications system including a first network address domain and a second network address domain and an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the method comprising the steps of:
operating said intermediate node to receive a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
operating said intermediate node to generate a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;
wherein said first and second messages are mobile IP messages;
wherein said upstream node is mobile IP home agent; and
wherein said downstream node is a mobile IP foreign agent.

15. The method of claim 14, wherein said intermediate node is a mobile IP regional node, said regional node being one of a gateway foreign agent, a hierarchal foreign agent and a local home agent.

16. The method of claim 15, wherein the system further comprises a mobile node, the method further comprising:
sending a message from the mobile IP foreign agent to the mobile node identifying an IP address of a default regional node for the purposes of regional movement detection;
sending a message from the mobile IP foreign agent to the mobile node that informs the mobile node of the allocation of a regional node that is not the default regional node, and
sending a regional registration message to the assigned regional node only whilst the default regional node received from the mobile IP foreign agent is unchanged.

17. The method of claim 15, further comprising:
detecting the change in the default regional node advertised by the foreign agent;
sending a mobile IP registration message to the home agent from the mobile node via the foreign agent, said registration message including a preliminary care of address field;
dynamically assigning a regional node at the foreign agent, having a regional node IP address,
dynamically assigning a regional node care of address at the regional node,
including the dynamically assigned regional node care of address into the body of said registration message sent to the home agent; and
installing a mobile IP binding at the home agent between a home address of the mobile node and the care of address of the regional node.

18. The method of claim 17, further comprising:
operating the home agent, gateway foreign agent and foreign agent to securely communicate a dynamically assigned regional node IP address and the dynamically assigned regional node care of address back to the mobile node in the Registration Reply message.

19. The method of claim 15, further comprising the step of:
communicating a mobile IP registration message to an as yet to be allocated home agent;
dynamically allocating a home agent address at the foreign agent,
including in the body of the first message sent from the foreign agent to the regional node, the dynamically assigned home agent address, and
wherein the destination address of said second message is said dynamically assigned home agent address.

20. A communications system comprising:
first and second network address domains;
an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different;
a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain;
said intermediate node including:
i. means for receiving a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message; and
ii. means for generating a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node.

21. The system of claim 20, wherein the first and second message bodies include the first network address of said first network of said intermediate node.

22. A communications system comprising:
first and second network address domains;
an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different;
a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain;
said intermediate node including:
i. means for receiving a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message; and
ii. means for generating a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;

wherein the first and second message bodies include the first network address of said first interface of said intermediate node; and
wherein said second network address is included in said first message body, said step of generating said second message including incorporating said second network address from said first message body into said second message body.

23. A communications system comprising:
first and second network address domains;
an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different;
a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain;
said intermediate node including:
i. means for receiving a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message; and
ii. means for generating a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node; and

wherein said first message body includes a blank intermediate node address field and wherein said second network address is added to said second message body by said intermediate node thereby resulting in said first and second message bodies including different intermediate node address fields.

24. A communications method for use in a communications system including a first and a second network address domains, a mobile node, and an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the method comprising the steps of:
operating said intermediate node to receive a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
operating said intermediate node to generate a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;
sending a message from a foreign agent to the mobile node identifying an IP address of a default regional node for the purposes of regional movement detection;
sending, a message from the foreign agent to the mobile node that informs the mobile node of the allocation of a regional node that is not the default regional node, and
sending a regional registration message to the assigned regional node only whilst the default regional node received from the foreign agent is unchanged.

25. A computer readable medium including computer executable instructions for controlling an intermediate node in a communications system including a first network address domain and a second network address domain to implement a communications method, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the communications method comprising the steps of:
receiving a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
generating a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;
wherein the first and second message bodies include the first network address of said first interface of said intermediate node; and

wherein said second network address is included in said first message body, said step of generating said second message including incorporating said second network address from said first message body into said second message body.

26. An intermediate node including a processor configured to implement a communications method, the intermediate node being in a communications system including a first network address domain and a second network address domain, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain, said first and second network addresses being different, said system further including a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain, the communications method comprising the steps of:
receiving a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message;
generating a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;
wherein the first and second message bodies include the first network address of said first interface of said intermediate node; and

wherein said second network address is included in said first message body, said step of generating said second message including incorporating said second network address from said first message body into said second message body.

27. A communications system comprising:
first and second network address domains;
an intermediate node, said intermediate node including first and second interfaces, said first interface having a first network address routable in the first network address domain, said second interface having a second network address routable in said second network address domain said first and second network addresses being different;
a downstream node with an interface and a network address in the first domain, and an upstream node including an interface and a network address in the second domain;
said intermediate node including:
i. a receiver module for receiving a first message from said downstream node, said first message including a first message body and a first header, said first message body including at least one instruction used to control said upstream node to interact with said intermediate node, said first header including the first network address as the destination address of said first message; and
ii. a message generation module for generating a second message including a second message body and a second header, said second message body including said at least one instruction from said downstream node and said second network address corresponding to said second interface, said second network address being for use by said upstream node when interacting with said intermediate node in accordance with said at least one instruction, said second header including a destination address corresponding to said upstream node;

wherein the first and second message bodies include the first network address of said first interface of said intermediate node; and
wherein said second network address is included in said first message body, said step of generating said second message including incorporating said second network address from said first message body into said second message body.