IP Mobility Support for IPv4
Extracted elements (28)
Foreign agent care-of addresses are preferred over co-located care-of addresses because they allow many mobile nodes to share a single care-of address, reducing pressure on the limited IPv4 address space. Co-located addresses require a pool of addresses per foreign subnet and are harder to manage at scale.
Registration messages are sent over UDP port 434 rather than a new IP protocol number so that they can traverse NATs and firewalls that pass UDP traffic, and to leverage existing UDP checksum and demultiplexing infrastructure without requiring kernel changes on intermediate routers.
The sequence number rollover rule (0xffff → 256 rather than 0) allows mobile nodes to distinguish a post-reboot restart of the counter (which begins at 0) from a normal rollover, enabling correct re-registration decisions without false move detection.
Mobile IP is designed so that correspondent nodes and non-Mobile-IP routers require no protocol changes; only mobile nodes, home agents, and foreign agents need the new logic. Datagrams from the mobile node are delivered via standard IP routing and do not necessarily pass through the home agent.
On a given subnet, either all mobility agents MUST include the Prefix-Lengths Extension in their Agent Advertisements or all MUST NOT; mixing is prohibited because it breaks move-detection Algorithm 2, which requires both the current and new agent to include the extension for a valid prefix comparison.
A home agent MUST be able to attract and intercept datagrams destined to the home address of any registered mobile node. A mobile node and foreign agent MUST be able to exchange datagrams without relying on standard IP routing (e.g., by sharing a link and using link-layer addresses directly).
A mobile node MUST NOT register more frequently than once per second on average. After the initial three solicitations at up to one per second, subsequent Agent Solicitations MUST use a binary exponential backoff up to a maximum interval of at least one minute.
A mobile node registering a foreign agent care-of address MUST register via that foreign agent. If using a co-located care-of address without an 'R' bit requirement, the mobile node MUST register directly with its home agent. When returning home, the mobile node MUST register (deregister) directly with the home agent.
After booting, an agent MUST use sequence number 0 for its first Agent Advertisement. Each subsequent advertisement MUST increment by one, except that sequence number 0xffff MUST be followed by 256 (not 0), allowing mobile nodes to distinguish rollover from reboot.
All Registration Request and Reply messages MUST include an authorization-enabling extension (e.g., Mobile-Home Authentication Extension). All implementations of Mobile IP MUST implement HMAC-MD5 as the default authentication algorithm, and MUST be able to associate any SPI with any supported authentication algorithm.
An Agent Advertisement MUST NOT have the 'B' (busy) bit set unless the 'F' (foreign agent) bit is also set. At least one of the 'F' bit or 'H' (home agent) bit MUST be set in any Agent Advertisement. The 'R' bit MUST NOT be set unless the 'F' bit is also set.
SPI values 0 through 255 are reserved and MUST NOT be used in any Mobility Security Association. All mobility agents MUST process packets addressed to the Mobile-Agents multicast group at 224.0.0.11.
The foreign agent MUST NOT increase the Lifetime selected by the mobile node in the Registration Request, and the home agent MUST NOT increase the Lifetime from the Registration Request either. If the Lifetime in the Reply is greater than in the Request, the Request's Lifetime MUST be used.
The protocol reveals the mobile node's current location to the home agent and any foreign agent with which it registers. Movement patterns, home address, and care-of address are exposed. No privacy mechanisms are defined within this specification; external encryption (e.g., IPsec ESP) is required to protect location information.
Agent Discovery extends ICMP Router Discovery (RFC 1256): an Agent Advertisement is an ICMP Router Advertisement carrying a Mobility Agent Advertisement Extension. An Agent Solicitation is an ICMP Router Solicitation with IP TTL set to 1. All mobility agents MUST process packets to the Mobile-Agents multicast group 224.0.0.11.
Mobile IP introduces three new architectural entities: Mobile Node (host/router that changes point of attachment while keeping its IP address), Home Agent (router on home network that tunnels datagrams to the mobile node), and Foreign Agent (router on visited network providing routing services and detunneling datagrams for the mobile node).
Registration Reply message (Type 3) is returned by the home agent (possibly relayed by foreign agent) and contains: Type (1 byte), Code (1 byte indicating accept/deny reason), Lifetime (2 bytes), Home Address (4 bytes), Home Agent (4 bytes), Identification (8 bytes), followed by extensions. Code 0 indicates acceptance; codes 64-88 denote foreign agent denials; codes 128-136 denote home agent denials.
Registration Request message (Type 1) is sent via UDP to port 434 and contains: Type (1 byte), flags S/B/D/M/G/r/T/x (1 byte), Lifetime (2 bytes, 0=deregister, 0xffff=infinity), Home Address (4 bytes), Home Agent (4 bytes), Care-of Address (4 bytes), Identification (8 bytes), followed by extensions including a mandatory authorization-enabling extension.
Two care-of address modes: (a) Foreign agent care-of address — provided by the FA in its Agent Advertisement; the FA is the tunnel endpoint and decapsulates datagrams. (b) Co-located care-of address — acquired by the mobile node itself (e.g., via DHCP); the mobile node is the tunnel endpoint. The 'D' bit in the Registration Request indicates co-located mode.
IANA registries created or updated: (1) Mobile IP Message Types (Type 1 = Registration Request, Type 3 = Registration Reply); (2) Extensions to RFC 1256 Router Advertisement (Type 0 = One-byte Padding, Type 16 = Mobility Agent Advertisement, Type 19 = Prefix-Lengths); (3) Extensions to Mobile IP Registration Messages (Type 32 = Mobile-Home Auth, Type 33 = Mobile-Foreign Auth, Type 34 = Foreign-Home Auth); (4) Code Values for Registration Reply (0–1 success, 64–88 FA denial, 128–136 HA denial).
All registration messages must be authenticated to prevent remote redirection attacks. The default authentication uses HMAC-MD5. Replay protection is mandatory and can be achieved via timestamps (with a 7-second window and clock synchronization requirement) or nonces (challenge-response using the Identification field). The Mobility Security Association defines which replay protection style is in use.
Ingress filtering (RFC 2827) can drop datagrams sent by a visiting mobile node because the source address (home address) does not match the prefix of the visited link. Reverse tunneling (requested via the 'T' bit) addresses this by routing outbound mobile-node datagrams through the foreign agent back to the home agent before onward delivery.
Mobile IP does not itself provide payload encryption; datagrams routed to/from a mobile node may be intercepted or analyzed, exposing location information and traffic patterns. IPsec or other mechanisms must be applied separately if confidentiality is required.
Mobile node attachment state: (1) On home network — operates without mobility services; if returning from away, deregisters with home agent. (2) On foreign network — obtains care-of address, registers with home agent (via FA or directly). Transition triggers: receiving Agent Advertisement from home agent (return home), receiving advertisement from different subnet (move detection via Lifetime expiry or Prefix-Lengths mismatch).
Long Extension Format for non-skippable extensions carrying more than 256 bytes: Type (1 byte), Sub-Type (1 byte), Length (2 bytes, 16-bit field), Data (variable). Short Extension Format for skippable extensions up to 256 bytes: Type (1 byte), Length (1 byte), Sub-Type (1 byte), Data (variable).
Mobile-Home Authentication Extension (Type 32) is the mandatory authorization-enabling extension in all Registration Requests and Replies: Type (1 byte), Length (1 byte, 4 plus authenticator length), SPI (4 bytes), Authenticator (variable). HMAC-MD5 over the UDP payload, all prior extensions, and the Type/Length/SPI fields is the default algorithm.
Mobility Agent Advertisement Extension (Type 16) appended to ICMP Router Advertisement: Type (1 byte), Length (1 byte, 6+4*N), Sequence Number (2 bytes), Registration Lifetime (2 bytes, 0xffff=infinity), flags R/B/H/F/M/G/r/T (1 byte), reserved (1 byte), followed by N Care-of Addresses (4 bytes each). The 'F' bit indicates foreign agent service; 'H' indicates home agent service.
TLV extension format for Mobile IPv4 (simple format): Type (1 byte), Length (1 byte, not including Type/Length), Data (variable). Extensions with Type 0-127 that are unrecognized cause the entire message to be silently discarded; Types 128-255 that are unrecognized are skipped and the rest of the message is still processed.