specified in Redirected HA Extension. The presence of this
extension is mandatory when the reply code is set to REDIRECT-
HA-REQ. HA sends the Reply to the FA/MN.
4. FA sends the Reply to the MN.
5. If the error code is set to REDIRECT-HA-REQ, the MN obtains the
HA address from Redirected HA Extension. The MN then sends a
Registration Request to Redirected HA. The MN may choose to add
Requested HA Extension in this new Registration Request. If a
registration loop occurs (the case when the Redirected HA is an
HA that had already directed the MN to register elsewhere), then
the MN stops sending any further Registration Request and
provides an indication that the loop event was detected. The
number of consecutive Redirected HAs remembered by the MN for
loop detection is an implementation parameter.
4.2.1. Example with Message Flow Diagram
Figure 3 shows one specific example of a mobile node using FA-located
Care-of Address, where the FA is not a legacy FA.
MN FA Requested HA Redirected HA
| 1 | | |
|------------>| 2 | |
| |--------------->| |
| | | |
| | | |
| | 3 | |
| 4 |<---------------| |
|<------------| | |
| | | |
| | 5 | |
|--------------------------------------------->|
| | | |
Figure 3: Example Message Flow for HA Redirection
1. The MN sets the Home Agent address field in the Registration
Request to ALL-ZERO-ONE-ADDR. Since the MN is using FA CoA in
this example, it sends the Registration Request to the FA. The
Registration Request is formatted as follows:
+-----------------------------------------------------------+
| Src IP=| Dest IP = | MN HoA | HA Address = | CoA = |
| MN | FA | | ALL-ZERO-ONE-ADDR |FA CoA |
+-----------------------------------------------------------+
If the MN is aware of an HA address, it can add that address in
the Requested HA Extension in the Registration Request as a hint.
That extension is not shown above.
2. The FA sends the Registration Request to the Requested HA. If
Requested HA Extension is present, Requested HA is the HA address
in this extension. If the Requested HA Extension is not present,
the FA determines the Requested HA through means outside the
scope of this specification. The Registration Request is
formatted as follows:
+-----------------------------------------------------------+
| Src IP=| Dest IP = | MN HoA | HA Address = | CoA = |
| FA |Requested HA| | ALL-ZERO-ONE-ADDR |FA CoA |
+-----------------------------------------------------------+
3. The HA processes the Registration Request in accordance with
Mobile IPv4 [1] and the messaging defined in this specification.
If the registration is successful, but local
configuration/administrative policy, etc., directs the HA to
refer the MN to another HA, the HA rejects the request with error
code REDIRECT-HA-REQ. The HA fills in the address of the
Redirected HA in the Redirected HA Extension. The HA then sends
Registration Reply reject to the FA, which is formatted as
follows:
+-----------------------------------------------------------+
| Src IP=| Dest IP = | MN HoA | HA Address = | CoA = |
| | Src IP of | | HA |FA CoA |
| HA | the RRQ | | | |
+-----------------------------------------------------------+
| Redirected HA Extension ... |
+-----------------------------------------------------------+
4. The FA relays the Registration Reply to the MN, as follows:
+-----------------------------------------------------------+
| Src IP=| Dest IP = | MN HoA | HA Address = | CoA = |
| FA | MN | | HA |FA CoA/|
+-----------------------------------------------------------+
| Redirected HA Extension ... |
+-----------------------------------------------------------+
5. If the MN can authenticate the Reply, the MN extracts the HA
address from the Redirected HA Extension. The MN then sends a
Registration Request to the Redirected HA, unless it has already
received a redirection response from that HA while processing the
Registration Request. The MN may choose to add Requested HA
Extension in this new Registration Request.
5. Mobility Agent Considerations
The following sections describe the behavior of each mobility agent
in detail.
5.1. Mobile Node Considerations
The mobile node MUST use the NAI extension for home address
assignment when using the messaging mechanism in this document.
Since MN uses the NAI extension, the Home Address field is set to
0.0.0.0.
While dynamic HA assignment is in progress and the MN has not
successfully anchored at a home agent, the MN MUST set the Home Agent
field in the Registration Request to an ALL-ZERO-ONE-ADDR, which is
either 255.255.255.255 or 0.0.0.0.
The Registration Request MUST be protected by a valid authenticator
as specified in Mobile IPv4 [1] or Mobile IPv4 Challenge/Response
Extensions [5]. Configuring security associations is deployment
specific and hence outside the scope of this specification. The
security associations between an MN and an individual HA may also be
dynamically derived during the dynamic HA assignment, based on a
shared secret between MN and AAA infrastructure [7].
The mobile node MUST maintain the remaining Mobile IP session with
the Assigned HA.
As mentioned in the Security Considerations (Section 9), there is a
possibility of more than one HA creating a mobility binding entry for
a given MN, if a rogue node in the middle captures the Registration
Request and forwards it to other home agents. The MN can mitigate
such condition by using a short lifetime (e.g., 5 seconds) in the
Registration Request with the Home Agent field set to ALL-ZERO-ONE-
ADDR.
The following sections describe MN behavior in FA CoA mode and co-
located CoA mode.
5.1.1. MN Using FA CoA
When a mobile node initiates a Mobile IP session requesting dynamic
HA assignment, it MUST set the home agent address field in the
Registration Request to ALL-ZERO-ONE-ADDR. The destination IP
address of the Registration Request is the FA. The FA will determine
the Requested HA and forward the Registration Request to the
Requested HA. Registration Request processing takes place on the
Requested HA as per the specification in this document.
The Registration Request MUST be appropriately authenticated for the
HA to validate the Request.
If a successful Registration Reply is received, the MN obtains the
Assigned HA from the HA field of Reply. The Assigned HA address will
be the same as the Requested HA Extension, if it was included in the
Registration Request by the MN.
If a Registration Reply is received with code REDIRECT-HA-REQ, the MN
MUST authenticate the Reply based on HA address in HA field of Reply
and attempt Registration with the HA address specified in the
Redirected HA Extension. The MN MUST put the Redirected HA address
as the Requested HA Extension of the new Registration Request.
In some cases, for the first Registration Request the MN may want to
hint to the network to be anchored at a specific HA. The MN SHOULD
put that address in the HA address of the Requested HA Extension.
5.1.2. MN Using Co-Located CoA
An MN in co-located CoA mode requesting dynamic HA assignment MUST
set the home agent address field in the Registration Request to ALL-
ZERO-ONE-ADDR. The destination IP address of the Registration
Request is the Requested HA. Some ideas on how to select a Requested
HA are briefly covered in Section 6.
If a successful Reply is received, the MN obtains the Assigned HA
address from the successful Registration Reply. The Assigned HA will
be the same as Requested HA to which the Registration Request was
sent. The MN MUST cache the Assigned HA address for the length of
the Mobile IP session. The mobile node then MUST use this previously
cached Assigned HA address as the home agent address in subsequent
Re-Registration and De-Registration Request(s). This will make sure
that for the duration of the Mobile IP session, the mobile node will
always be anchored to the assigned home agent with which it was
initially registered.
If a Registration Reply is received with code REDIRECT-HA-REQ, the MN
MUST authenticate the Reply based on HA address in HA field of Reply
and attempt Registration with the HA address specified in the
Redirected HA Extension. The MN MUST put the Redirected HA in the
Requested HA Extension of the new Registration Request.
In some cases, for the first Registration Request MN may want to hint
to the network to be anchored at a specific HA and the MN SHOULD put
that address in the HA address of the Requested HA Extension.
While requesting dynamic HA assignment and registering directly with
an HA, the Requested HA Extension MUST be included and MUST contain
the address of the HA to which the Registration Request is sent.
When using co-located CoA but registering via a legacy FA, the HA
field in the Registration Request may be set to Requested HA.
If the Registration Request contains the Requested HA Extension, the
HA address in that extension MUST match the destination IP of the
Request.
5.1.3. Refreshing Assigned HA Address on Mobile Node
When the Mobile IP session terminates, the mobile node MAY clear the
Assigned HA address cached as the home agent address. It MAY request
a new HA address for the new Mobile IP session by not including the
Requested HA Extension. The advantage of this approach is that the
mobile node will be always anchored to an optimal home agent from
where it initiated the Mobile IP session.
Alternately, the MN may save the Assigned HA address and use it in
the Requested HA Extension along with ALL-ZERO-ONE-ADDR HA address in
Registration Request for a new Mobile IP session.
5.2. Foreign Agent Considerations
When the mobile node is using an FA CoA, it always registers via the
FA. When the MN is using a co-located CoA, it may register through
an FA or it may register directly with an HA, unless the R bit is set
in the FA’s agent advertisement, in which case it always registers
through the FA.
When the FA receives a Registration Request with HA address field set
to ALL-ZERO-ONE-ADDR that doesn’t contain the Requested HA Extension,
the FA obtains the Requested HA address to forward the Registration
Request using means outside the scope of this specification. Some
ideas on how to select a Requested HA are briefly covered in Section
6.
If the FA cannot obtain the Requested HA to which to forward a
Registration Request from the MN, it MUST reject request with error
code NONZERO-HA-REQD.
If the MN has included the Requested HA Extension, the FA MUST
forward the Registration Request to the address in this extension.
If the HA address in this extension is not a routable unicast
address, the FA MUST reject the request with error code NONZERO-HA-
REQD.
If the Registration Request contains the Requested HA Extension, the
FA uses that address as the destination for the relayed Registration
Request.
Backward-compatibility issues related to the mobility agents are
addressed in Section 10.
5.3. Home Agent Considerations
A home agent can process an incoming Registration Request in one of
the following two ways:
1. The MN or FA sends the Registration Request to the Requested HA.
The term Requested HA has meaning in the context of a
Registration Request message. When the Requested HA successfully
processes the Registration Request and creates a binding and
sends a Reply with its address, it becomes the Assigned HA. The
term Assigned HA is meaningful in the context of a Registration
Reply message.
2. A home agent receiving a Registration Request with HA field set
to ALL-ZERO-ONE-ADDR MAY reject the request even if successfully
authenticated and suggest an alternate HA address in Reply. In
such a case, the HA puts its own address in HA field of Reply and
sets the Reply code to REDIRECT-HA-REQ and adds the Redirected HA
Extension.
If the Registration Request contains the Requested HA Extension, the
HA address in that extension must match the destination IP of the
Request. If it does not match, the Requested HA MUST reject the
Registration Request with error code 136.
5.3.1. Assigned Home Agent Considerations
The HA that processes the incoming Registration Request fully in
accordance with Mobile IPv4 [1] and this specification becomes the
Assigned HA. The Registration Request terminates at the Assigned HA.
The Assigned HA creates one mobility binding per MN and sends the
Registration Reply to the MN by copying its address in the Home Agent
field and as the source IP address of the Reply.
The following table summarizes the behavior of the Assigned HA, based
on the value of the destination IP address and Home Agent field of
the Registration Request.
Dest IP Addr HA field Processing at Assigned HA
------------ ------------ ----------------------------------
Unicast non-unicast Mobile IPv4 [1]: There is no change
in handling for this case from
(Must be Mobile IPv4. It is mentioned here
equal to the for reference only.
HA receiving HA denies the registration with
the RRQ) error code 136 and sets HA field to
its own IP address in the reply as
per Section 3.8.3.2 in [1].
ALL-ZERO- New Behavior: Accept the RRQ as per
ONE-ADDR this specification. Authenticate
the RRQ and create mobility binding
if the HA is acting as Assigned HA.
Set HA field to its own IP address
in the Registration Reply.
OR
New Behavior: If authentication is
successful, reject RRQ with a new
error code REDIRECT-HA-REQ. HA
puts its address in HA address
field of Reject. HA suggests an
alternate HA to use in the new
Redirected HA Extension.
Table 1: Registration Request Handling at Assigned HA
As per the messaging proposed here, the mobile node (or the foreign
agent) sends the Registration Request to the Requested HA address,
which is a unicast address. Therefore, this document does not
specify any new behavior for the case where the HA receives a subnet
directed broadcast Registration Request as specified in Section
3.8.2.1 of the Mobile IPv4 specification [1]. Although the Home
Agent field in the Registration Request is not a unicast address, the
destination IP address is a unicast address. This avoids the problem
associated with subnet-directed broadcast destination IP address that
may result in multiple HAs responding. Thus, there is no need to
deny the registration as stated in Mobile IPv4 [1] Section 3.8.3.2.
When the destination IP address is a unicast address and the Home
Agent field is ALL-ZERO-ONE-ADDR, the HA accepts/denies registration
and sets the HA field to its own IP address in the reply (i.e., the
registration is not rejected with error code 136).
The HA can reject the request with the error code REDIRECT-HA-REQ and
suggest an alternate HA. This redirection can be used for load
balancing, geographical proximity based on Care-of Address, or other
reasons. The HA puts its own address in the HA field of the
Registration Reply message and puts the address of the redirected HA
in the Redirected HA Extension. If the HA accepts the Request, it
sets the HA field in the Registration Reply to its own address.
The Requested HA always performs standard validity checks on the
Registration Request. If there is any error, the Registration
Request is rejected with error codes specified in Mobile IPv4 [1].
6. Requested Home Agent Selection
When dynamic HA assignment is requested, the MN (or FA in the case of
registration via FA) sends the Registration Request to the Requested
HA. This address MUST be a unicast IP address. If the MN has
included a Requested HA Extension in the Registration Request, the HA
address in this extension is the Requested HA.
Some examples of methods by which the MN or the FA may select the
Requested HA are briefly described below:
DHCP:
The MN performs DHCP to obtain an IP address on the visited
network. The Requested HA is learned from the DHCP Mobile IP Home
Agent Option 68 [4]. The MN sends the Registration Request
directly to this HA and receives the Assigned HA to be used for
the remainder of the Mobile IP session.
AAA:
MN performs challenge/response [5] with the FA. The FA retrieves
the Requested HA from the AAA server and forwards the Registration
Request directly to this HA. The Assigned HA sends a Registration
Reply to the FA, which relays it to the MN. MN uses the Assigned
HA for the remainder of the Mobile IP session.
DNS:
In this case, the hostname of the HA is configured on the MN or
obtained by some other means, e.g., using a service location
protocol. The MN performs DNS lookup on the HA hostname. The DNS
infrastructure provides a resource record with information to
identify the optimal HA to the MN. The MN sends a Registration
Request directly to the HA and receives the Assigned HA to be used
for the remainder of the Mobile IP session.
Static configuration:
The HA address is statically configured on the MN. The MN sends
the Registration Request to the configured address. The Requested
HA may then redirect the MN to a Redirected HA.
7. Error Values
Each entry in the following table contains the name and value for the
error code to be returned in a Registration Reply. It also includes
the section in which the error code is first mentioned in this
document.
Error Name Value Section Description
--------------- ----- ------- -----------------------------
NONZERO-HA-REQD 90 5.2 Non-zero HA address required
in Registration Request.
REDIRECT-HA-REQ 143 5.3 Re-register with redirected HA.
8. IANA Considerations
The code value NONZERO-HA-REQD is a Mobile IP response code [1] taken
from the range of values associated with rejection by the foreign
agent (i.e., value in the range 64-127).
The code value REDIRECT-HA-REQ is a Mobile IP response code [1] taken
from the range of values associated with rejection by the home agent
(i.e., value in the range 128-192).
The Dynamic HA Extension is assigned from the range of values
associated with skippable extensions at the home agent (i.e., value
in the range 128-255).
IANA has recorded the values as defined in Sections 7 and 3.4.
9. Security Considerations
This specification assumes that a security configuration has been
preconfigured between the MN and the HA or is configured along with
the initial Registration Request/Registration Reply as per [7].
There is a possibility of more than one HA creating a mobility
binding entry for a given MN, if a man in the middle captures the
Registration Request with the HA field set to ALL-ZERO-ONE-ADDR and
forwards it to other HAs. This scenario assumes that the rogue node
can find out the addresses of the HAs that are able to authenticate
the Registration Request. It also assumes that the rogue node has
the capability to store, duplicate, and send packets to the other HAs
within the limited time of the replay window. Otherwise, these HAs
will reject the Registration Requests anyway. In addition, this type
of attack is only possible when the Requested HA Extension is not
included in the registration message. The mobile node can minimize
the duration of this condition by using a short lifetime (e.g., 5
seconds) in the Registration Request.
This specification does not change the security model established in
Mobile IPv4 [1]. Mobile nodes are often connected to the network via
wireless links, which may be more prone to passive eavesdropping or