IP Mobility Support for IPv4, Revised
obsoletes
- rfc-3344 — IP Mobility Support for IPv4
Extracted elements (31)
The Agent Advertisement sequence number rolls over from 0xffff to 256 (not 0) so that a mobile node can distinguish a reboot-induced reset (sequence in range 0–255) from a normal rollover (sequence >= 256). This prevents unnecessary re-registrations after rollover.
The foreign agent care-of address mode is preferred over co-located because it allows many mobile nodes to share a single IP address at the foreign agent, reducing demand on the already-limited IPv4 address space. Co-located mode requires a pool of addresses per visited subnet.
The Long and Short Extension formats with Sub-Type fields were introduced to prevent exhaustion of the 255-value Extension Type space. Grouping related extensions under one Type value with Sub-Types allows new extensions to be added without consuming additional Type numbers.
Mobile IP is designed for 'macro' mobility — movement between IP subnets — and is not well-suited for 'micro' mobility such as handoff among wireless transceivers covering small areas. For intra-subnet movement, link-layer mechanisms offer faster convergence and lower overhead.
A home agent MUST be able to attract and intercept datagrams destined to the home address of any of its registered mobile nodes. A mobile node and a current foreign agent MUST be able to exchange datagrams without relying on standard IP routing mechanisms.
A mobile node using a co-located care-of address MUST be located on the link identified by the network prefix of that care-of address; otherwise datagrams to the care-of address would be undeliverable.
All implementations of Mobile IP MUST implement HMAC-MD5 as the default authentication algorithm, and MUST be able to associate any SPI value with any authentication algorithm and mode that they implement.
If a mobile node is registering a foreign agent care-of address, it MUST register via that foreign agent. If using a co-located care-of address and returning home, the mobile node MUST register directly with its home agent.
Registration messages between a mobile node and its home agent MUST be authenticated with an authorization-enabling extension (e.g., the Mobile-Home Authentication Extension). At least one such extension MUST be present in all Registration Requests and all Registration Replies generated by the home agent.
SPI values 0 through 255 are reserved and MUST NOT be used in any Mobility Security Association.
The Agent Advertisement sequence number MUST start at 0 after booting; each subsequent advertisement MUST increment by one, except that sequence number 0xffff MUST be followed by 256 (not 0), allowing mobile nodes to distinguish reboot-driven resets from normal rollover.
The foreign agent MUST NOT increase the Lifetime selected by the mobile node in the Registration Request, and the home agent MUST NOT increase it either. If the Reply Lifetime exceeds the Request Lifetime, the Request value MUST be used.
The mobile node's solicitation rate MUST be limited; after three initial solicitations at up to one per second, subsequent solicitations MUST use binary exponential backoff up to a maximum interval that SHOULD be at least one minute.
A Mobility Security Association (MSA) is a collection of security contexts between a pair of nodes applicable to Mobile IP messages. Each context specifies an authentication algorithm and mode, a shared secret or key pair, and a replay-protection style. The MSA is indexed by SPI and IP address.
Mobile IP introduces three new functional entities: Mobile Node (a host or router that changes its point of attachment without changing its IP address), Home Agent (a router on the home network that tunnels datagrams to the mobile node when away), and Foreign Agent (a router on the visited network that provides routing services and detunnels datagrams for registered mobile nodes).
Two types of care-of address are defined: a 'foreign agent care-of address' is an IP address of a foreign agent listed in its Agent Advertisement; a 'co-located care-of address' is a local IP address acquired by the mobile node itself (e.g., via DHCP) and associated with one of its own interfaces. The foreign agent type is preferred as it allows many mobile nodes to share one address.
Code Values for Mobile IP Registration Reply Messages registry: 0–1 indicate acceptance; 64–88 and 194 indicate denial by the foreign agent; 128–136 indicate denial by the home agent. Up-to-date values are maintained in the IANA online database.
Extensions to ICMP Router Advertisement Messages registry: Type 0 = One-byte Padding, Type 16 = Mobility Agent Advertisement, Type 19 = Prefix-Lengths. These types are distinct from the numbering space used in Mobile IP control messages.
Extensions to Mobile IP Registration Messages registry: Type 0 = One-byte Padding, Type 32 = Mobile-Home Authentication, Type 33 = Mobile-Foreign Authentication, Type 34 = Foreign-Home Authentication. Separate numbering space from ICMP Router Advertisement extensions.
Mobile IP Message Types registry: Type 1 = Registration Request, Type 3 = Registration Reply. All Mobile IP control messages are sent via UDP to well-known port 434. Up-to-date values are maintained in the IANA online database.
Ingress filtering by ISPs may discard packets from a mobile node using its home address as the source while attached to a foreign network, since that address does not match the foreign network's prefix. Reverse tunneling (flag T) is recommended to work around this.
The home address of a mobile node is visible in the IP source address of packets the mobile node sends, revealing its identity and home network regardless of current location. Observers on any network the mobile node visits can track its persistent identity.
Two replay protection mechanisms are specified: timestamp-based (mobile node and home agent clocks synchronized within a window; the Identification field encodes a timestamp) and nonce-based (home agent sends a nonce in the Reply; mobile node uses it in the next Request). The Mobility Security Association between each pair of nodes defines which style is in use.
A mobile node transitions between 'at home' (no mobility services, deregister on return), 'away from home via foreign agent' (register foreign agent care-of address through FA), and 'away from home co-located' (register directly with home agent). Move detection triggers re-registration; loss of agent advertisement Lifetime or prefix change are the two primary triggers.
Mobile-Home Authentication Extension (Type=32): 8-bit Type, 8-bit Length (4 plus authenticator bytes), 32-bit SPI, variable-length Authenticator. The default authenticator is HMAC-MD5 over the UDP payload, all prior extensions in their entirety, and the Type/Length/SPI of this extension.
Mobility Agent Advertisement Extension (Type=16) appended to ICMP Router Advertisement: 8-bit Type, 8-bit Length (6+4*N), 16-bit Sequence Number, 16-bit Registration Lifetime, 16-bit flags (R/B/H/F/M/G/r/T/U/X/I/reserved), followed by N×32-bit Care-of Addresses. At least one care-of address MUST be included when the 'F' bit is set.
Registration Reply (Type=3) is a UDP message containing: 8-bit Type, 8-bit Code, 16-bit Lifetime, 32-bit Home Address, 32-bit Home Agent, 64-bit Identification, followed by Extensions. The Code field encodes success (0–1) or denial by the foreign agent (64–88, 194) or home agent (128–136).
Registration Request (Type=1) is a UDP message to port 434 containing: 8-bit Type, 8-bit flags (S/B/D/M/G/r/T/x), 16-bit Lifetime, 32-bit Home Address, 32-bit Home Agent, 32-bit Care-of Address, 64-bit Identification, followed by one or more Extensions including a mandatory authorization-enabling extension.
The Long Extension Format provides: 8-bit Type, 8-bit Sub-Type, 16-bit Length (bytes of Data only), variable Data. It is used for non-skippable extensions carrying more than 256 bytes; skippable extensions MUST NOT use this format.
The Short Extension Format provides: 8-bit Type, 8-bit Length (1 plus total Data bytes), 8-bit Sub-Type, variable Data. It is compatible with skippable extensions but is limited to at most 256 bytes of data.
The simple TLV Extension Format consists of: 8-bit Type, 8-bit Length (bytes of Data only, not including Type and Length), variable Data. Extensions with Type 0–127 that are unrecognized cause the message to be silently discarded; extensions with Type 128–255 that are unrecognized are skipped and processing continues.