RFC 4140
Hierarchical Mobile IPv6 Mobility Management (HMIPv6)
Hierarchical Mobile IPv6 Mobility Management (HMIPv6) ๐ฆ
Part 1 of 7 ๐
okay bestie, this is RFC 4140 ๐ It's an Experimental doc, dated August 2005. The authors are H. Soliman (Flarion), C. Castelluccia (INRIA), K. El Malki (Ericsson), and L. Bellier (INRIA) ๐ซถ The header doesn't list anything it obsoletes or updates, so there's no "replaces this old one" drama here โจ
Status of This Memo ๐
This memo defines an Experimental Protocol for the Internet community ๐งช It is not an Internet standard of any kind. The authors are asking for discussion and suggestions for improvement ๐ Distribution of this memo is unlimited ๐
Copyright Notice ยฉ๏ธ
Copyright (C) The Internet Society (2005).
Abstract ๐ธ
Okay so this doc adds stuff to Mobile IPv6 and IPv6 Neighbour Discovery so that mobility can be handled locally ๐ The big goal is cutting down on the signalling between the Mobile Node, its Correspondent Nodes, and its Home Agent, which is giving efficiency ๐ฅ It also introduces the Mobility Anchor Point (MAP), which can make Mobile IPv6 handovers faster ๐ฆ
Table of Contents ๐๏ธ
1. Introduction ....................................................3
2. Terminology .....................................................4
3. Overview of HMIPv6 ..............................................5
3.1. HMIPv6 Operation ...........................................6
4. Mobile IPv6 Extensions ..........................................8
4.1. Local Binding Update .......................................8
5. Neighbour Discovery Extension: The MAP Option Message Format ....9
6. Protocol Operation .............................................10
6.1. Mobile Node Operation .....................................10
6.1.1. Sending Packets to Correspondent Nodes .............12
6.2. MAP Operations ............................................12
6.3. Home Agent Operations .....................................13
6.4. Correspondent Node Operations .............................13
6.5. Local Mobility Management Optimisation within a
MAP Domain ................................................13
6.6. Location Privacy ..........................................14
7. MAP Discovery ..................................................14
7.1. Dynamic MAP Discovery .....................................14
7.1.1. Router Operation for Dynamic MAP Discovery .........15
7.1.2. MAP Operation for Dynamic MAP Discovery ............15
7.2. Mobile Node Operation .....................................16
8. Updating Previous MAPs .........................................16
9. Notes on MAP Selection by the Mobile Node ......................17
9.1. MAP Selection in a Distributed-MAP Environment ............17
9.2. MAP Selection in a Flat Mobility Management Architecture ..19
10. Detection and Recovery from MAP Failures ......................19
11. IANA Considerations ...........................................20
12. Security Considerations .......................................20
12.1. Mobile Node-MAP Security ................................20
12.2. Mobile Node-Correspondent Node Security .................22
12.3. Mobile Node-Home Agent Security .........................22
13. Acknowledgments ...............................................22
14. References ....................................................23
14.1. Normative References ....................................23
14.2. Informative References ..................................23
Appendix A: Fast Mobile IPv6 Handovers and HMIPv6 .................24
1. Introduction ๐ง
This memo introduces the concept of a Hierarchical Mobile IPv6 network ๐ท It uses a brand-new node called the Mobility Anchor Point (MAP) ๐
Mobile IPv6 [1] lets nodes move around the Internet topology while keeping reachability and ongoing connections between mobile and correspondent nodes โจ The way it works now, a mobile node sends Binding Updates (BUs) to its Home Agent (HA) and to every Correspondent Node (CN) it talks to, every single time it moves ๐ญ Authenticating binding updates takes about 1.5 round-trip times between the mobile node and each correspondent node (for the whole return routability procedure in a best case scenario, i.e., no packet loss) ๐ On top of that, one round-trip time is needed to update the Home Agent, though this can happen at the same time as the correspondent node updates ๐ซ Re-using the home cookie (i.e., getting rid of HOTI/HOT) won't cut down the round trips needed to update correspondent nodes, ngl ๐ These round trip delays interrupt active connections every time a handoff to a new AR happens ๐ฅฒ Cutting that extra delay out of the time-critical handover period would seriously boost Mobile IPv6 performance ๐ฅ Over wireless links, it also means fewer messages go over the air interface to all correspondent nodes and the Home Agent ๐ก And a local anchor point lets Mobile IPv6 cut down mobility signalling with external networks too ๐
So this is why a new Mobile IPv6 node, the Mobility Anchor Point, is used ๐ It can sit at any level in a hierarchical network of routers, including the Access Router (AR) ๐ฐ Unlike Foreign Agents in IPv4, a MAP is not required on each subnet ๐ The MAP also limits how much Mobile IPv6 signalling leaves the local domain ๐ง Here's how the MAP fixes the problems I just mentioned:
- The mobile node sends Binding Updates to the local MAP rather than the HA (which is usually further away) and CNs ๐โโ๏ธ
- Only one Binding Update message needs to be sent by the MN before traffic from the HA and all CNs gets re-routed to its new location ๐ช This is true no matter how many CNs the MN is talking to ๐
A MAP is basically a local Home Agent ๐ก The whole point of the hierarchical mobility model in Mobile IPv6 is to boost performance while keeping the impact on Mobile IPv6 or other IPv6 protocols as small as possible ๐ It also supports Fast Mobile IPv6 Handovers, which help Mobile Nodes get seamless mobility (see Appendix A) ๐ฆ And HMIPv6 lets mobile nodes hide their location from correspondent nodes and Home Agents while still using Mobile IPv6 route optimisation ๐ซฃ
2. Terminology ๐
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [3] ๐
On top of those, there are some new terms defined below ๐ Here's the table, exactly as it is in the original:
Access Router (AR) The AR is the Mobile Node's default router.
The AR aggregates the outbound traffic of
mobile nodes.
Mobility Anchor Point A Mobility Anchor Point is a router located
(MAP) in a network visited by the mobile node. The
MAP is used by the MN as a local HA. One or
more MAPs can exist within a visited network.
Regional Care-of An RCoA is an address obtained by the
Address (RCoA) mobile node from the visited network. An RCoA
is an address on the MAP's subnet. It is
auto-configured by the mobile node when
receiving the MAP option.
HMIPv6-aware An HMIPv6-aware mobile node is a mobile
Mobile Node node that can receive and process the MAP
option received from its default router. An
HMIPv6-aware Mobile Node must also be able to
send local binding updates (Binding Update
with the M flag set).
On-link Care-of The LCoA is the on-link CoA configured on
Address (LCoA) a mobile node's interface based on the prefix
advertised by its default router. In [1],
this is simply referred to as the Care-of-
address. However, in this memo LCoA is used
to distinguish it from the RCoA.
Local Binding Update The MN sends a Local Binding Update to the MAP
in order to establish a binding between the
RCoA and LCoA.
3. Overview of HMIPv6 ๐ธ
This Hierarchical Mobile IPv6 scheme brings in a new function, the MAP, plus some minor extensions to mobile node operation ๐ง The correspondent node and Home Agent operation won't be affected at all ๐
Just like Mobile IPv6, this solution doesn't care about the underlying access technology, so mobility works within or between different types of access networks ๐
When a mobile node enters a MAP domain, it gets Router Advertisements with info on one or more local MAPs ๐ก The MN can bind its current location (on-link CoA) to an address on the MAP's subnet (RCoA) ๐ The MAP acts as a local HA: it receives all packets on behalf of the mobile node it's serving, then encapsulates them and forwards them straight to the mobile node's current address ๐ฆ If the mobile node changes its current address inside a local MAP domain (LCoA), it only has to register that new address with the MAP ๐ So only the Regional CoA (RCoA) needs to be registered with correspondent nodes and the HA ๐ซถ The RCoA doesn't change as long as the MN moves within a MAP domain (see below for the definition) โจ Which means the mobile node's mobility is invisible to the correspondent nodes it's talking to ๐
A MAP domain's boundaries are defined by the Access Routers (ARs) that advertise the MAP information to the attached Mobile Nodes ๐ฐ The detailed extensions to Mobile IPv6 and how each node operates get explained later in the document ๐
It should be noted that the HMIPv6 concept is simply an extension to the Mobile IPv6 protocol ๐ An HMIPv6-aware mobile node that has a Mobile IPv6 implementation SHOULD choose to use the MAP when it discovers that capability in a visited network ๐ But sometimes the mobile node may prefer to just use the standard Mobile IPv6 implementation ๐คทโโ๏ธ For instance, the mobile node might be in a visited network inside its home site ๐ In that case the HA is located near the visited network and could be used instead of a MAP, so the mobile node would only update the HA whenever it moves ๐ซ How the node figures out whether the HA is nearby (e.g., same site) is outside the scope of this document ๐
3.1. HMIPv6 Operation ๐บ๏ธ
Okay so Figure 1 is giving exactly the vibe we need. It shows how the MAP helps the mobile node (MN) stay seamless as it moves from Access Router 1 (AR1) to Access Router 2 (AR2), all while it keeps chatting with the correspondent node ๐ฌ. You do not need a multi-level hierarchy for better handover performance ๐ So it's enough to put one or more MAPs (possibly covering the same domain) anywhere in the operator's network โจ
+-------+
| HA |
+-------+ +----+
| | CN |
| +----+
| |
+-------+-----+
|
|RCoA
+-------+
| MAP |
+-------+
| |
| +--------+
| |
| |
+-----+ +-----+
| AR1 | | AR2 |
+-----+ +-----+
LCoA1 LCoA2
+----+
| MN |
+----+ ------------>
Movement
Figure 1: Hierarchical Mobile IPv6 domain
So when the mobile node lands in a visited network, it finds out the global address of the MAP ๐ That address gets stored in the Access Routers and is passed along to the mobile node through Router Advertisements (RAs) ๐ก This spec also defines a brand-new option for RAs, which is what lets mobile nodes know the MAP exists (MAP discovery) ๐ซถ The discovery phase also tells the mobile node how far away the MAP is. For example, the MAP function could live in Figure 1 and also run on AR1 and AR2 ๐คฏ In that case, the mobile node can pick the first hop MAP or one further up the router hierarchy. The details on how to choose a MAP are in section 10 ๐
MAP discovery keeps going as the mobile node moves from one subnet to the next ๐ถโโ๏ธ Every time it detects movement, it also checks whether it is still in the same MAP domain. The router advertisement used to detect movement tells the mobile node, through the MAP option, whether it's still in that same domain ๐ As long as the mobile node roams inside one MAP domain, it keeps getting the same MAP option from its AR in the router advertisements. If the advertised MAP's address changes, the mobile node MUST act on it by sending Binding Updates to its HA and correspondent nodes ๐จ
If the mobile node isn't HMIPv6-aware, MAP Discovery doesn't happen at all, so it falls back to the Mobile IPv6 [1] protocol for mobility management ๐ญ If it is HMIPv6-aware, it SHOULD choose to use its HMIPv6 implementation ๐ In that case, the mobile node first has to register with a MAP by sending it a BU containing its Home Address and on-link address (LCoA). The Home address in that BU is the RCoA ๐ The MAP MUST store this information in its Binding Cache so it can forward packets to their final destination when they arrive from the different correspondent nodes or HAs ๐ง
The mobile node always needs to know who originally sent any packet it receives, so it can decide whether route optimisation is needed ๐ง Good news: the mobile node gets that info for free, because the MAP does not modify the contents of the original packet ๐ Normal processing of received packets (as described in [1]) gives the mobile node everything it needs ๐
Now here's the efficiency flex ๐ช To use bandwidth better, a mobile node can register with more than one MAP at the same time and use each MAP address for a specific group of correspondent nodes ๐ Say the correspondent node is on the same link as the mobile node in Figure 1. It's way more efficient to route through the first hop MAP (let's say that's AR1) so the two can talk directly ๐ฆ That way, not every single packet has to go up to the "highest" MAP in the hierarchy, and the network bandwidth gets used much more efficiently ๐ฅ The mobile node can also use its current on-link address (LCoA) as a CoA, as specified in [1] ๐
Also, the mobile node MUST NOT present an RCoA from a MAP's subnet as an LCoA in a binding update sent to another MAP ๐ โโ๏ธ The LCoA in that binding update MUST be the mobile node's address derived from the prefix advertised on its link. No mixing those up, bestie ๐
If a router advertisement is used for MAP discovery, as described in this document, all ARs in the MAP domain MUST advertise the MAP's IP address ๐ฃ The same idea (advertising the MAP's presence within its domain) SHOULD be used if other MAP discovery methods get introduced in the future ๐ฎ
4. Mobile IPv6 Extensions โจ
This section lays out the extensions proposed to the binding update specified in [1] ๐
4.1. Local Binding Update ๐
A new flag gets added: the M flag, which indicates MAP registration ๐ท๏ธ When a mobile node registers with the MAP, the M and A flags MUST be set so this registration can be told apart from a BU being sent to the HA or a correspondent node ๐ซถ
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|H|L|K|M| Reserved | Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Here's the description of the binding update extensions ๐ง
M: If set to 1, it indicates a MAP registration.
It's worth noting that this is an extension to the Binding update specified in [1] ๐ธ
5. Neighbour Discovery Extension: The MAP Option Message Format ๐ง
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Dist | Pref |R| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Valid Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Global IP Address for MAP +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Now the fields, one by one ๐
Type: IPv6 Neighbor Discovery option. 23.Length: 8-bit unsigned integer. The length of the option and MUST be set to 3 ๐Dist: A 4-bit unsigned integer identifying the Distance Between MAP and the receiver of the advertisement ๐ Its default value SHOULD be set to 1 if Dynamic MAP discovery is used. The Distance MUST be set to 1 if the MAP is on the same link as the mobile node. This field need not be interpreted as the number of hops between MAP and the mobile node ๐ The only real requirement is that the meaning of the Distance field is consistently interpreted within one Domain. A Distance value of Zero MUST NOT be used ๐ซPref: The preference of a MAP. A 4-bit unsigned integer. A decimal value of 15 indicates the highest availability ๐R: When set to 1, it indicates that the mobile node MUST form an RCoA based on the prefix in the MAP option ๐Valid Lifetime: The minimum value (in seconds) of both the preferred and valid lifetimes of the prefix assigned to the MAP's subnet. This value indicates the validity of the MAP's address and, consequently, the time for which the RCoA is valid โฐGlobal Address: One of the MAP's global addresses. The 64-bit prefix extracted from this address MUST be configured in the MAP to be used for RCoA construction by the mobile node ๐
Although it's not explicitly included in the MAP option, the prefix length of the MAP's Global IP address MUST be 64 ๐ค This prefix is what the mobile node uses to form an RCoA, by appending a 64-bit identifier to it. So it needs a static prefix length for the MAP's subnet ๐งฑ
6. Protocol Operation ๐ฌ
This section describes the HMIPv6 protocol ๐ซ In HMIPv6, the mobile node has two addresses: an RCoA on the MAP's link and an on-link CoA (LCoA). This RCoA is formed in a stateless manner by combining the mobile node's interface identifier and the subnet prefix received in the MAP option ๐งฉ
As you'll see in this section, this protocol only requires updating the mobile nodes' implementation ๐ The HA and correspondent node are unchanged ๐ The MAP does the job of a "local" HA that binds the mobile node's RCoA to an LCoA ๐ฆ
6.1. Mobile Node Operation ๐
Okay so when a mobile node moves into a new MAP domain (aka its MAP changes ๐ง), it needs to set up two CoAs: an RCoA on the MAP's link and an on-link CoA (LCoA). The RCoA gets formed in a stateless manner โจ. After forming it from the prefix it got in the MAP option, the mobile node sends a local BU to the MAP with the A and M flags set. This local BU is a BU defined in [1], and it carries the mobile node's RCoA in the Home Address Option. No alternate-CoA option is needed in this message ๐
. The LCoA is used as the source address of the BU, and this BU binds the RCoA (kinda like a Home Address) to the LCoA ๐ฆ.
The MAP (acting as a HA) then performs DAD (when a new binding is being created) for the mobile node's RCoA on its link, and sends back a Binding Acknowledgement to the MN. That ack says whether the binding worked or includes the right fault code ๐ซถ. No new error codes need to be supported by the mobile node for this, which is so chill. The mobile node MUST silently ignore binding acknowledgements that do not contain a routing header type 2, which includes the mobile node's RCoA. Ignore the rest, bestie ๐
Once the registration with the MAP is successful, a bi-directional tunnel between the mobile node and the MAP is established ๐. All packets sent by the mobile node get tunnelled to the MAP. The outer header has the mobile node's LCoA in the source address field and the MAP's address in the destination address field. The inner header has the mobile node's RCoA in the source address field and the peer's address in the destination address field. Similarly, every packet addressed to the mobile node's RCoA gets intercepted by the MAP and tunnelled to the mobile node's LCoA. Iconic tunnel energy ๐โจ
This spec lets a mobile node use more than one RCoA if it received more than one MAP option ๐. In that case, the mobile node MUST perform the binding update procedure for each RCoA. Also, the mobile node MUST NOT use one RCoA (e.g., RCoA1) derived from a MAP's prefix (e.g., MAP1) as a care-of address in its binding update to another MAP (e.g., MAP2) ๐ โโ๏ธ. Why? Because it would force packets to be encapsulated several times (twice in this example) on their way to the mobile node. That kind of multi-level hierarchy will reduce the protocol's efficiency and performance, so we do not do that, periodt ๐
After registering with the MAP, the mobile node MUST register its new RCoA with its HA by sending a BU that specifies the binding (RCoA, Home Address) as in Mobile IPv6 ๐. The mobile node's Home Address goes in the home address option, and the RCoA is used as the care-of address in the source address field. The mobile node may also send a similar BU (the one that specifies the binding between the Home Address and the RCoA) to its current correspondent nodes ๐.
The mobile node SHOULD wait for the binding acknowledgement from the MAP before registering with its HA โญ. Also worth knowing: when binding the RCoA with the HA and correspondent nodes, the binding lifetime MUST NOT be larger than the mobile node's binding lifetime with the MAP, which is received in the Binding Acknowledgement. Don't overshoot it, girlie ๐
To speed up handovers between MAPs and cut down on packet loss, a mobile node SHOULD send a local BU to its previous MAP, specifying its new LCoA ๐. That way, packets in transit that reach the previous MAP get forwarded to the new LCoA. Lowkey genius ๐ง
The MAP will receive packets addressed to the mobile node's RCoA (from the HA or correspondent nodes). Those packets get tunnelled from the MAP to the mobile node's LCoA, and the mobile node de-capsulates them and processes them in the normal manner ๐ธ
When the mobile node moves within the same MAP domain, it should only register its new LCoA with its MAP. In this case the RCoA stays unchanged, so it's giving stability ๐ฆ
Also, a mobile node may send a BU containing its LCoA (instead of its RCoA) to correspondent nodes that are connected to its same link. In that case, packets get routed directly without going through the MAP ๐งโโ๏ธ Short and sweet, no detour needed.
6.1.1. Sending Packets to Correspondent Nodes โจ
The mobile node can communicate with a correspondent node through the HA, or in a route-optimised manner, as described in [1]. When it's communicating through the HA, the message formats in [1] can be re-used ๐.
If the mobile node communicates directly with the correspondent node (i.e., the CN has a binding cache entry for the mobile node), the mobile node MUST use the same care-of address that was used to create the binding cache entry in the correspondent node (RCoA) as a source address ๐ซถ. According to [1], the mobile node MUST also include a Home Address option in outgoing packets. And the Home address option MUST contain the mobile node's home address. Main character energy, every single time ๐
6.2. MAP Operations ๐ธ
The MAP acts like a HA. It intercepts all packets addressed to registered mobile nodes and tunnels them to the corresponding LCoA, which is stored in its binding cache ๐ง
A MAP has no knowledge of the mobile node's Home address, so the mobile node sends a local BU to the MAP with the M and A flags set ๐. The aim of this BU is to tell the MAP that the mobile node has formed an RCoA (carried in the BU as a Home address). If it works out, the MAP MUST return a binding acknowledgement to the mobile node, indicating a successful registration. This is identical to the HA operation in [1], so it's not new drama. No new error codes are introduced for HMIPv6 ๐. The binding acknowledgement MUST include a routing header type 2 that contains the mobile node's RCoA.
The MAP MUST be able to accept packets tunnelled from the mobile node, with the mobile node being the tunnel entry point and the MAP being the tunnel exit point ๐ช
The MAP acts as a HA for the RCoA. Packets addressed to the RCOA are intercepted by the MAP, using proxy Neighbour Advertisement, and then encapsulated and routed to the mobile node's LCoA. This operation is identical to that of the HA described in [1] ๐ฆ
A MAP MAY be configured with the list of valid on-link prefixes that mobile nodes can use to derive LCoAs. This is super useful for network operators, because it stops mobile nodes from continuing to use the MAP after they've moved into a different administrative domain ๐. If a mobile node sends a binding update containing an LCoA that is not in the MAP's "valid on-link prefixes" list, the MAP could reject the binding update using the existing error code 129 (administratively prohibited). Not on the list? Not today, sweetie ๐
6.3. Home Agent Operations ๐
The support of HMIPv6 is completely transparent to the HA's operation ๐ซง. Packets addressed to a mobile node's Home Address get forwarded by the HA to its RCoA, as described in [1]. The HA doesn't even notice, which is honestly so iconic ๐
6.4. Correspondent Node Operations ๐
HMIPv6 is completely transparent to correspondent nodes. They literally don't have to do anything different ๐โจ
6.5. Local Mobility Management Optimisation within a MAP Domain ๐งโโ๏ธ
In [1], it's stated that for short-term communication (especially the kind that can easily be retried if it fails), the mobile node MAY choose to directly use one of its care-of addresses as the source of the packet, so it doesn't need a Home Address option in the packet ๐. This cuts down on overhead for each packet because there are fewer extra options. It also gives an optimal route between the mobile node and the correspondent node. Efficient and cute ๐
In HMIPv6, a mobile node can use its RCoA as the source address without a Home Address option. In other words, the RCoA can be a potential source address for upper layers ๐ซถ. With this feature, the correspondent node sees the mobile node as a fixed node while it moves around within a MAP domain. Stationary vibes while moving, it's giving magic ๐ช
This use of the RCoA doesn't have the cost of Mobile IPv6 (no bindings or home address options get sent over the Internet), but it still provides local mobility management to the mobile nodes ๐ฒ. It doesn't give global mobility, though. If a mobile host moves to a new MAP, communication breaks. Still, it's useful for a bunch of stuff (web browsing, for example) ๐. How well the RCoA works as a source address for applications depends on the size of the MAP domain and how fast the mobile node is moving. Also, because support for BU processing in correspondent nodes isn't mandated in [1], this mechanism can be a way to get route optimisation without sending BUs to the correspondent nodes โจ
To turn this on, you present the RCoA as a temporary home address for the mobile node ๐ฆ. This may require an implementation to augment its source address selection algorithm with knowledge of the RCoA, so it can use it for the right applications ๐ง
6.6. Location Privacy ๐ต๏ธโโ๏ธ
In HMIPv6, a mobile node hides its LCoA from its corresponding nodes and its home agent by putting its RCoA in the source field of the packets it sends ๐. As a result, tracking a mobile node by its corresponding nodes or its home agent is hard, since they only know its RCoA and never its LCoA. Privacy served, no crumbs left ๐ ๐ธ
7. MAP Discovery ๐บ๏ธ
This section is all about how a mobile node gets the MAP address and subnet prefix, and how ARs in a domain discover MAPs ๐งญ. Two different methods for MAP discovery are defined below.
Dynamic MAP Discovery is based on propagating the MAP option in Router Advertisements from the MAP to the mobile node, through certain (configured) router interfaces within the routers in an operator's network ๐ก. This requires manual configuration of the MAP, and the routers receiving the MAP option have to allow them to propagate the option on certain interfaces. To keep communication between routers secure, router advertisements sent between routers for Dynamic MAP discovery SHOULD be authenticated (e.g., using AH, ESP, or SEND) ๐. If that authentication isn't possible (e.g., third party routers exist between the MAP and ARs), a network operator may prefer to manually configure all the ARs to send the MAP option, as described in this document ๐ ๏ธ
Manual configuration of the MAP option information in ARs and other MAPs in the same domain is the default mechanism ๐. It should also be possible to configure ARs and MAPs to enable dynamic mechanisms for MAP Discovery ๐
7.1. Dynamic MAP Discovery ๐ฆ
There's more than one way to do MAP discovery ๐ซ. Router advertisements are used for Dynamic MAP Discovery by introducing a new option. The access router is required to send the MAP option in its router advertisements. This option includes the distance vector from the mobile node (which may not imply the real distance in terms of the number of hops), the preference for this particular MAP, the MAP's global IP address and subnet prefix
7.1.1. Router Operation for Dynamic MAP Discovery โจ
okay so ARs inside a MAP domain can get their MAP info dynamically, and the trick is just listening for RAs that carry MAP options ๐๐ฆ each MAP in the network needs a default preference, the right interfaces to send its option out on, and the IP address to be sent. the starting Distance value MAY be set to a default of 1, but it MUST NOT be set to zero ๐
โโ๏ธ and routers in the MAP domain should be set up to re-send the MAP option on certain interfaces.
when a router gets an RA with the MAP option, it MUST copy the option and re-send it after bumping the Distance field up by one ๐
if that router is also a MAP, it MUST send its own option along with the received one, in the same advertisement ๐ซถ and if a router hears about the same MAP more than once (i.e., the same IP address in the MAP option) coming in from two different interfaces, it MUST choose the option with the smallest Distance field ๐ฅ
this is lowkey genius because info about one or more MAPs can get passed along to a mobile node ๐ and by doing discovery this way, MAP nodes can change their preferences on the fly based on local policies, node overload, or other load-sharing protocols ๐ main character energy for the whole network โจ
7.1.2. MAP Operation for Dynamic MAP Discovery
so a MAP gets configured to send its own option, or relay MAP options belonging to other MAPs, out onto certain interfaces ๐ง the network admin picks those interfaces by hand (i.e., manual configuration) and it depends on the network topology ๐ a default preference value of 10 may be assigned to each MAP, and ngl a MAP can change its preference at any time because of stuff like node overload or load sharing ๐ a preference value of zero means the MAP SHOULD NOT be chosen by new mobile nodes ๐ this can happen with node overload or partial node failures.
the MAP option gets propagated toward the ARs in its domain, and each router along the path to an AR bumps the Distance field up by one ๐ฆ if a router that is also a MAP hears advertisements from other MAPs, it MUST add its own MAP option and pass both options along to the next router, or straight to the AR if it's directly connected to it ๐
7.2. Mobile Node Operation
when an HMIPv6-aware mobile node gets a router advertisement, it should go hunting for the MAP option ๐ one or more options may show up for different MAP IP addresses ๐ธ
a mobile node SHOULD register with the MAP that has the highest preference value ๐ a MAP with a preference value of zero SHOULD NOT be used for new local BUs (i.e., the mobile node can refresh existing bindings but can't create new ones) ๐ still, a mobile node MAY choose to register with one MAP over another based on the value in the Distance field, as long as the preference value is above zero โจ
a MAP option with a valid lifetime of zero means that MAP MUST NOT be selected by the MN ๐ a valid lifetime of zero signals a MAP failure. when a mobile node gets that option, it MUST choose another MAP and create new bindings, and any existing bindings with the failed MAP can be assumed lost ๐ญ if no other MAP is available, the mobile node MUST revert to using the Mobile IPv6 protocol, as specified in [1] ๐ซถ
if a multihomed mobile node has access to several ARs at the same time (on different interfaces), it SHOULD use an LCoA on the link defined by the AR that advertises its current MAP ๐
a mobile node MUST store the received option(s) so it can choose at least one MAP to register with ๐ storing them is essential, because they get compared to options received later for the movement detection algorithm ๐ฆ
if no MAP options show up in the router advertisement, the mobile node MUST use the Mobile IPv6 protocol, as specified in [1] ๐
if the R flag is set, the mobile node MUST use its RCoA as the Home Address when doing the MAP registration ๐ the RCoA then gets bound to the LCoA in the MAP's Binding Cache ๐ง
and a mobile node MAY choose to register with more than one MAP at once, or use both the RCoA and its LCoA as care-of addresses at the same time with different correspondent nodes ๐ ๐ฅ
8. Updating Previous MAPs โจ
when a mobile node moves into a new MAP domain, it may send a BU to the previous MAP asking it to forward packets addressed to the mobile node's new CoA ๐ฆ an administrator MAY restrict the MAP from forwarding packets to LCoAs outside the MAP's domain ๐ โโ๏ธ but it is RECOMMENDED that MAPs be allowed to forward packets to LCoAs tied to some of the ARs in neighbouring MAP domains, as long as they're in the same administrative domain ๐ธ
for example, a MAP could be set up to forward packets to LCoAs on ARs that are geographically next to ARs on the edge of its domain ๐บ๏ธ this keeps inter-MAP handovers smooth, because the mobile node keeps receiving packets while it updates the new MAP, its HA, and potentially its correspondent nodes ๐
9. Notes on MAP Selection by the Mobile Node
HMIPv6 gives you a flexible way to handle local mobility management inside a visited network ๐ like we covered, a MAP can live anywhere in the operator's network (including the AR) ๐ง several MAPs can sit in the same domain independently of each other, and overlapping MAP domains are allowed and even recommended ๐ both static and dynamic hierarchies are supported โจ
when the mobile node gets a router advertisement with a MAP option, it should act according to the following movement detection mechanisms ๐ in a Hierarchical Mobile IP network like the one described in this document, the mobile node should be:
- "Eager" to perform new bindings
- "Lazy" in releasing existing bindings
so basically, the mobile node should register with any "new" MAP advertised by the AR (that's the Eager part) ๐ฅ the way it figures out whether a MAP is "new" is described in section 9.1 ๐ฆ the mobile node should not release existing bindings until it stops receiving the MAP option (or gets it with a lifetime of zero), or until its existing binding expires (that's the Lazy part) ๐ซถ this Eager-Lazy combo gives you a fallback if one of the MAP routers fails, since it cuts down the time a mobile node takes to tell its correspondent nodes and HA about its new care-of address ๐ญ๐
9.1. MAP Selection in a Distributed-MAP Environment
the mobile node needs to weigh several factors to pick the best MAP (or MAPs) when several are available in the same domain ๐
there are no benefits foreseen in selecting more than one MAP and forcing packets to travel from the higher MAP down through a hierarchy of MAPs ๐ โโ๏ธ that can add forwarding delays and wreck the robustness of IP routing between the highest MAP and the mobile node, so this specification prohibits it ๐ซ having more than one MAP "above" the AR shouldn't mean the mobile node forces packets down the MAP hierarchy ๐ instead, placing more than one MAP "above" the AR can be used for redundancy and as an optimisation for different mobility scenarios ๐ the MN uses each MAP independently of the others (e.g., each MAP is used for communication with a certain set of CNs) ๐ฆ
for distance-based selection with several MAPs, a mobile node may choose to register with the furthest MAP to avoid frequent re-registrations ๐โโ๏ธ this matters most for fast mobile nodes that do lots of handoffs, since picking a more distant MAP lowers the chance of having to change MAPs and tell every correspondent node and the HA ๐ this specification doesn't give an algorithm for distance-based MAP selection ๐ but one could be added in future extensions that use speed-of-mobility info from lower layers ๐ง
when several MAPs are discovered in one domain, the mobile node might need some sophisticated algorithms to pick the right MAP โจ those would take the mobile node speed as an input (for distance-based selection) combined with the preference field in the MAP option ๐ฅ but this specification proposes that the mobile node uses the following algorithm as a default, for when no optimised algorithms are available ๐ it's simply based on picking the most distant MAP, as long as its preference value hasn't hit zero ๐ the mobile node operation goes like this:
- Receive and parse all MAP options
- Arrange MAPs in a descending order, starting with the furthest away MAP (i.e., MAP option having largest
Distfield) - Select first MAP in list
- If either the preference value or the valid lifetime fields are set to zero, select the following MAP in the list.
- Repeat step (4) while new MAP options still exist, until a MAP is found with a non-zero preference value and a non-zero valid lifetime.
if mobile nodes follow those steps, they'll default to selecting the most distant or furthest available MAP ๐ฆ they keep doing that until its preference value drops to zero, and then they start selecting another MAP ๐ธ
9.2. MAP Selection in a Flat Mobility Management Architecture
network operators may pick a flat architecture in some cases, where a Mobile IPv6 handover is considered a rare event ๐ in those scenarios, operators may choose to include the MAP function in ARs only ๐ง including it in ARs can still help cut the time needed to update all correspondent nodes and the HA ๐ here, a mobile node may choose a MAP (in the AR) as an anchor point when it does a handoff ๐ซถ this kind of dynamic hierarchy (or anchoring) is only recommended for cases where inter-AR movement isn't frequent ๐
10. Detection and Recovery from MAP Failures โจ
okay so this spec brings in a MAP, which is basically a local Home Agent chilling in the visited network ๐ . And just like a Home Agent, a MAP is a single point of failure ๐ญ. If a MAP dies, its binding cache content is gone, and then the mobile and correspondent nodes lose their connection ๐. To avoid that, you can run more than one MAP on the same link and use some kind of context transfer protocol between them ๐ซถ. Or future versions of the Virtual Router Redundancy Protocol [4] or HA redundancy protocols might let networks recover from MAP failures on their own โจ.
If those protocols aren't supported, the mobile node has to notice the MAP failure itself ๐. It can tell something's wrong when it receives a router advertisement containing a MAP option with a lifetime of zero. Then the mobile node should start the MAP discovery process and try to register with another MAP ๐. Once it has picked and registered with a new MAP, it also needs to tell correspondent nodes and the Home Agent if its RCoA has changed ๐. Here's the lowkey clutch part: if there's a protocol moving binding cache entries between MAPs for redundancy, the new MAP may be able to give the mobile node the same RCoA (for example, if both MAPs advertise the same prefix in the MAP option) ๐ง. That means the mobile node doesn't have to update correspondent nodes or the Home Agent. Iconic ๐ .
ARs can be triggered to advertise a MAP option with a lifetime of zero (the "this MAP is gone" signal ๐) in a couple of different ways:
- By manual intervention.
- In a dynamic manner.
ARs can do dynamic detection of MAP failure by sending ICMP Echo request messages to the MAP regularly (for example, every ten seconds) ๐. If no response comes back, the AR can get a bit more aggressive and send echo requests to the MAP for a short while (for example, once every 5 seconds for 15 seconds) ๐ค. If there's still no reply, a MAP option may be sent with a valid lifetime value of zero ๐.
This spec does not mandate one particular recovery mechanism ๐คทโโ๏ธ. But any similar mechanism between the MAP and an AR SHOULD be secure, so it can allow for message authentication, integrity protection, and protection against replay attacks ๐.
11. IANA Considerations ๐ท๏ธ
Section 4 adds a new flag (M) to the Binding Update that's specified in RFC 3775 ๐.
Section 5 adds a brand-new IPv6 Neighbour Discovery Option called the MAP Option. IANA has assigned the Option Type value 23 for the MAP Option within the option numbering space for IPv6 Neighbour Discovery messages ๐๏ธ.
12. Security Considerations ๐
This part is seriously important, bestie, so read it twice ๐จ
This spec brings a totally new concept to Mobile IPv6: a Mobility Anchor Point that acts as a local Home Agent ๐ฐ. It is crucial that the security relationship between the mobile node and the MAP is strong. It MUST involve mutual authentication, integrity protection, and protection against replay attacks ๐. Confidentiality may be needed for payload traffic, but it is not required for binding updates to the MAP ๐ค. If any of these protections are missing, malicious mobile nodes could impersonate other legit mobile nodes or impersonate a MAP ๐ฑ. Any of these attacks will undoubtedly cause undesirable impacts to the mobile node's communication with all correspondent nodes that know the mobile node's RCoA ๐.
Three different relationships (all about securing binding updates) need to be considered ๐:
- The mobile node - MAP
- The mobile node - Home Agent
- The mobile node - correspondent node
12.1. Mobile Node-MAP Security ๐
To let a mobile node use the MAP's forwarding service, initial authorisation (specifically for the service, not for the RCoA) MAY be needed ๐ช. Authorising a mobile node to use the MAP service can be done based on the identity of the mobile node exchanged during the SA negotiation process. The authorisation may be granted based on the mobile node's identity, or based on the identity of a Certificate Authority (CA) that the MAP trusts. For instance, if the mobile node presents a certificate signed by a trusted entity (for example, a CA in the same administrative domain, or another trusted roaming partner), that's enough for the MAP to authorise use of its service โจ. Note that this level of authorisation is independent of authorising the use of a particular RCoA. Similarly, the mobile node would trust the MAP if it presents a certificate signed by the same CA, or by another CA that the mobile node is configured to trust (for example, a roaming partner) ๐ค.
HMIPv6 uses an additional registration between the mobile node and its current MAP ๐. As explained in this document, when a mobile node moves into a new domain (so, served by a new MAP), it gets an RCoA and an LCoA, and registers the binding between these two addresses with the new MAP. The MAP then checks whether the RCoA has been registered yet and, if it hasn't, creates a binding cache entry with the RCoA and LCoA. Whenever the mobile node gets a new LCoA, it needs to send a new BU that specifies the binding between the RCoA and its new LCoA. This BU needs to be authenticated, otherwise any host could send a BU for the mobile node's RCoA and hijack the mobile node's packets ๐. However, because the RCoA is temporary and isn't bound to a particular node, a mobile node does not have to prove that it owns its RCoA before the first binding update (unlike the requirement on home addresses in Mobile IPv6) when it establishes a Security Association with its MAP ๐ธ. A MAP only needs to make sure that a BU for a particular RCoA was issued by the same mobile node that established the Security Association for that RCoA ๐.
The MAP doesn't need prior knowledge of the mobile node's identity or its Home Address ๐. So the SA between the mobile node and the MAP can be established using any key establishment protocol, such as IKE. A return routability test is not necessary.
The MAP needs to set the SA for the RCoA (not the LCoA) ๐ฏ. This can be done with IKE [2]. The mobile node uses its LCoA as the source address, but specifies that the RCoA should be used in the SA. This is achieved by using the RCoA as the identity in IKE Phase 2 negotiation. This step is identical to the use of the home address in IKE phase 2 ๐งฉ.
If a binding cache entry exists for a given RCoA, the MAP's IKE policy check MUST point to the SA used to install the entry ๐. If the mobile node's credentials stored in the existing SA don't match the ones in the current negotiation, the MAP MUST reject the new SA establishment request for that RCoA with an INVALID-ID-INFORMATION notification [2] ๐ซ. This stops two different mobile nodes from registering (on purpose or by accident) the same RCoA ๐
โโ๏ธ. When the mobile node gets this notification, it SHOULD generate a new RCoA and restart the IKE negotiation ๐. Alternatively, a MAP may decide that, if a binding cache entry already exists for a particular RCoA, no new security association should be established for that RCoA, no matter what the mobile node's credentials are. This stops the mobile node from re-establishing a security association for the same RCoA (in other words, changing session keys). That's not a major problem, though, because the SA will typically only protect signalling traffic when a MN moves, and not the actual data traffic sent to arbitrary nodes ๐
.
Binding updates between the MAP and the mobile node MUST be protected with either AH or ESP in transport mode ๐ก๏ธ. When ESP is used, a non-null authentication algorithm MUST be used ๐.
12.2. Mobile Node-Correspondent Node Security ๐ค
Mobile IPv6 [1] defines a return routability procedure that lets mobile and correspondent nodes authenticate binding updates and acknowledgements ๐ฆ. This specification doesn't change the return routability test defined in [1]. Still, it's important to know that mobile node implementers need to be careful when picking the source address of the HOTI and COTI messages, which are defined in [1] โ ๏ธ. The source address used in HOTI messages MUST be the mobile node's home address ๐ก. The packet carrying the HOTI message is encapsulated twice. The inner encapsulating header has the RCoA in the source address field and the home agent's address in the destination address field. The outer encapsulating header has the mobile node's LCoA in the source address field and the MAP's address in the destination field ๐ช.
12.3. Mobile Node-Home Agent Security ๐
The security relationship between the mobile node and its Home Agent, as discussed in [1], isn't affected by this specification ๐ซก.
13. Acknowledgments ๐ซถ
The authors want to give a huge thank you to Conny Larsson (Ericsson) and Mattias Pettersson (Ericsson) for their super valuable input on this document ๐. They also want to thank the members of the French RNRT MobiSecV6 project (BULL, France Telecom and INRIA) for testing the first implementation and for their valuable feedback ๐ซ๐ท. The INRIA HMIPv6 project is partly funded by the French Government ๐ท.
The authors also want to thank the following working group members, listed alphabetically, for their comments on the document ๐ฃ: Samita Chakrabarti (Sun), Gregory Daley (Monash University), Francis Dupont (GET/Enst Bretagne), Gopal Dommety (Cisco), Eva Gustaffson (Ericsson), Dave Johnson (Rice University), Annika Jonsson (Ericsson), James Kempf (Docomo labs), Martti Kuparinen (Ericsson) Fergal Ladley, Gabriel Montenegro (Sun), Nick "Sharkey" Moore (Monash University) Erik Nordmark (Sun), Basavaraj Patil (Nokia), Brett Pentland (Monash University), and Alper Yegin (Samsung) ๐.
14. References ๐
14.1. Normative References
- [1] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004.
- [2] Kent, S. and R. Atkinson, "IP Authentication Header", RFC 2402, November 1998.
- [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
14.2. Informative References
- [4] Koodli, R., "Fast Handovers for Mobile IPv6", RFC 4068, July 2005.
- [5] Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827, May 2000.
- [6] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", RFC 3971, March 2005.
Appendix A: Fast Mobile IPv6 Handovers and HMIPv6 ๐ฆ
okay so Fast Handovers are required to keep the layer 3 (Mobile IP) handover delay as small as possible ๐จ. That also shrinks, and maybe even kills, the service disruption that normally happens when a mobile node moves between two ARs ๐. The disruption usually comes from the time the mobile node needs to update its HA with Binding Updates after it moves, and until that's done it can't resume or continue communications ๐ญ. The mechanism for Fast Handovers with Mobile IPv6 is described in [5], and here's the quick version ๐ง: it lets you anticipate the layer 3 handover, so data traffic can be redirected to the mobile node's new location before it even gets there โจ.
While the mobile node is still connected to its previous Access Router (PAR) and is about to move to a new Access Router (NAR), Fast Handovers in Mobile IPv6 need these steps, in order ๐:
- The mobile node obtains a new care-of address at the NAR while connected to the PAR.
- New CoA to be used at NAR case: the mobile node sends an F-BU (Fast BU) to its previous anchor point (i.e., PAR) to update its binding cache with the mobile node's new CoA while it's still attached to PAR.
- The previous anchor point (i.e., PAR) starts forwarding packets destined for the mobile node to the mobile node's new CoA at NAR (or the old CoA tunnelled to NAR, if the new CoA doesn't apply).
- Old CoA to be used at NAR case: the mobile node sends an F-BU (Fast BU) to its previous anchor point (i.e., PAR), after it has moved and attached to NAR, to update its binding cache with the mobile node's new CoA.
The mobile node or PAR can kick off the Fast Handover procedure using wireless link-layer information or link-layer triggers that say the mobile node will soon be handed off between two wireless access points attached to PAR and NAR ๐ก. If the "trigger" hits the mobile node, the mobile node starts the layer-3 handover by sending a Proxy Router Solicitation message to PAR ๐โโ๏ธ. If the "trigger" hits PAR instead, PAR transmits a Proxy Router Advertisement to the right mobile node, no solicitations needed ๐ธ. The basic Fast Handover message exchanges are shown in Figure A.1 ๐.
+-----------+ 1a. HI +-----+
| | ---------------->| NAR |
| PAR | 1b. HAck | |
+-----------+ <--------------- +-----+
^ | ^
(2a. RtSolPr) | | 2b |
| | Pr | 3. Fast BU (F-BU)
| | RtAdv | 4. Fast BA (F-BACK)
| v v
+------------+
| MN |
+------------+ - - - - - ->
Movement
Figure A.1: Fast Mobile IPv6 Handover Protocol
The mobile node gets a new care-of address while connected to PAR through router advertisements carrying information from the NAR (a Proxy Router Advertisement, which may be sent in response to a Proxy Router Solicitation) ๐จ. PAR validates the mobile node's new CoA by sending a Handover Initiate (HI) message to the NAR ๐. The new CoA in the HI message is formed by appending the mobile node's current interface identifier to the NAR's prefix. Based on the response in the Handover Acknowledge (HAck) message, PAR either builds a tunnel to the mobile node's new CoA (if the address was valid) or builds a tunnel to the NAR's address (if the address was already in use on the new subnet) ๐. If the address was already in use on the new subnet, it's assumed there won't be time to try configuring the mobile node with a CoA on the new link again ๐ฌ. So the NAR generates a host route for the mobile node using its old CoA. Also, message 1a may come before message 2b or happen at the same time โฑ๏ธ.
In [5], the ARs act as local Home Agents, which hold binding caches for the mobile nodes and receive Binding Updates ๐ . That makes these ARs work like the MAP specified in this document ๐ . It's also quite possible that the ARs aren't directly connected and instead talk through an aggregation router ๐. So such an aggregation router is also an ideal spot for the MAP functionality ๐. There are two ways to integrate HMIPv6 and the Fast Handover mechanisms. The first puts MAPs in place of the ARs, which is a natural step ๐. The second puts the MAP in an aggregation router "above" the ARs. In this case, [5] specifies forwarding packets between PAR and NAR, which could be inefficient in terms of delay and bandwidth, because packets traverse the MAP-PAR link twice and arrive out of order at the mobile node ๐ญ. Using the MAP in the aggregation router would improve the efficiency of Fast Handovers, since the MAP can redirect traffic and save delay and bandwidth between the aggregation router and the PAR ๐.
+---------+
| MAP |
+-------------->| |
| +---------+
| | ^
| 1a. HI | |
| | |
| | | 1b. HAck
| v |
+---------+ | +---------+
| | | | NAR |
| PAR | | | |
+---------+ | +---------+
^ | |
(2a. RtSolPr) | | 2b |
| | Pr | 3. Fast BU (F-BU) from mobile node to
| | MAP
| | RtAdv | 4. Fast BA (F-BACK) from MAP to
| | | mobile node
| v v
+------------+
| MN | Movement
+------------+ - - - - - ->
Figure A.2: Fast Mobile IPv6 Handover Protocol using HMIPv6
In Figure A.2, the HI/HAck messages now go between the MAP and NAR, to check whether the newly requested care-of address is valid and to set up a temporary tunnel if it isn't ๐ง. So the same Fast Handover functionality is kept, but the anchor point moves from PAR to the MAP ๐ฆ.
As in the earlier Fast Handover procedure, in the network-determined case the layer-2 "triggers" at PAR make PAR send a Proxy Router Advertisement with the MAP option to the mobile node ๐ถ. In the mobile-determined case, that's preceded by a Proxy Router Solicitation from the mobile node ๐โโ๏ธ. The same layer-2 trigger at PAR in the network-determined case could independently start Context Transfer (e.g., QoS) between PAR and NAR ๐. In the mobile-determined case, the trigger at PAR could be replaced by receiving a Proxy Router Solicitation or F-BU ๐. Context Transfer is being worked on in the IETF Seamoby WG ๐งโ๐ป.
Combining Fast Handover and HMIPv6 lets you anticipate the layer 3 handoff, so data traffic can be efficiently redirected to the mobile node's new location before it moves there ๐. However, it's not easy to pick the right moment to start forwarding traffic from the MAP to the mobile node's new location, and that timing affects how smooth the handoff is ๐ฉ. The same issues come up in [5] for when to start forwarding between PAR and NAR. Packet loss happens if forwarding starts too late or too early relative to when the mobile node detaches from PAR and attaches to NAR ๐. That loss is likely if the MAP updates its binding cache when it gets the anticipated F-BU, because it isn't known exactly when the mobile node will perform or complete the layer-2 handover to NAR, relative to when the mobile node sends the F-BU ๐คทโโ๏ธ. Some measure is also needed for when the mobile node's layer-2 handover unexpectedly fails (after Fast Handover has started), or when the mobile node bounces quickly back and forth between ARs (ping-pong) ๐. Simultaneous bindings [6] solve these problems ๐. In [6], a new Simultaneous Bindings Flag is added to the Fast Binding Update (F-BU) message, and a new Simultaneous Bindings suboption is defined for the Fast Binding Acknowledgement (F-BAck) message ๐. With this enhanced mechanism, upon layer-3 handover, traffic for the mobile node is sent from the MAP to both PAR and NAR for a certain period. That isolates the mobile node from layer-2 effects such as handover timing, ping-pong, or handover failure, and gives it uninterrupted layer-3 connectivity ๐โจ.
Authors' Addresses
Hesham Soliman
Flarion Technologies
EMail: h.soliman@flarion.com
Claude Castelluccia
INRIA Rhone-Alpes
655 avenue de l'Europe
38330 Montbonnot Saint-Martin
France
EMail: claude.castelluccia@inria.fr
Phone: +33 4 76 61 52 15
Karim El Malki
Ericsson AB
LM Ericssons Vag. 8
126 25 Stockholm
Sweden
EMail: karim@elmalki.homeip.net
Ludovic Bellier
INRIA Rhone-Alpes
655 avenue de l'Europe
38330 Montbonnot Saint-Martin
France
EMail: ludovic.bellier@inria.fr
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property โจ
okay so the IETF is being super clear here, bestie ๐ซถ It takes no position on whether any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology in this document are valid or in scope. It also doesn't say whether a license under those rights might or might not be available, and it doesn't claim it has made any independent effort to find those rights. ๐ If you want the procedures for rights in RFC documents, check BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users to use those proprietary rights can all be found in the IETF's online IPR repository at http://www.ietf.org/ipr. ๐ฆ
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Send that info to ietf-ipr@ietf.org. ๐
Acknowledgement
Funding for the RFC Editor function is currently provided by the Internet Society. ๐ธ๐
๐ฆ where this page comes from
- ietf: rfc4140 2005-08
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms