rfc-5568

Mobile IPv6 Fast Handovers

R. Koodli (Editor)
date2009-07 streamIETF areaint wgmipshop statusPROPOSED STANDARD pages51 canonicalhttps://www.rfc-editor.org/rfc/rfc5568 doi10.17487/RFC5568 errataview
Mobile IPv6 enables a mobile node (MN) to maintain its connectivity to the Internet when moving from one Access Router to another, a process referred to as handover. During handover, there is a period during which the mobile node is unable to send or receive packets because of link-switching delay and IP protocol operations. This "handover latency" resulting from standard Mobile IPv6 procedures (namely, movement detection, new Care-of Address configuration, and Binding Update) is often unacceptable to real-time traffic such as Voice over IP (VoIP). Reducing the handover latency could be beneficial to non-real-time, throughput-sensitive applications as well. This document specifies a protocol to improve handover latency due to Mobile IPv6 procedures. This document does not address improving the link-switching latency. This document updates the packet formats for the Handover Initiate (HI) and Handover Acknowledge (HAck) messages to the Mobility Header Type. [STANDARDS-TRACK]

obsoletes

updated by

Extracted elements (31)

design-rationale §1

HI and HAck messages were changed from ICMPv6 to Mobility Header type to enable deployment alongside PMIPv6 and MIPv6, which also use Mobility Header for route-update signaling. Using ICMP for inter-access-router communication created a protocol layering inconsistency when deployed with those protocols.

mobility, ip, v6ops

design-rationale §2

The Fast Neighbor Advertisement (FNA) message from RFC 4068 was deprecated in favor of the Unsolicited Neighbor Advertisement (UNA) with 'O' bit cleared. UNA reuses the standard RFC 4861 message, reducing protocol complexity and avoiding a separate message type for the same function.

mobility, ip, v6ops

interoperability-note §8

This document obsoletes RFC 5268 and updates RFC 4068. It deprecates ICMPv6-format HI and HAck messages from RFC 5268 and specifies Mobility Header formats instead. Implementations receiving RFC 5268-style ICMPv6 HI/HAck MAY interpret them per RFC 5268 for backward compatibility.

mobility, ip, v6ops

interoperability-note §5.2

When DHCP is used for NCoA configuration, the protocol only provides forwarding support for PCoA. The MN must still formulate an NCoA to transmit the FBU, but MUST NOT send data packets using that NCoA; DHCP must be performed upon attaching to NAR's link. This is signaled by PrRtAdv Code 5.

mobility, ip, v6ops

normative-requirement §3.1 MUST

An FBU message MUST contain the Binding Authorization Data for FMIPv6 (BADF) option to ensure that only a legitimate MN that owns the PCoA is able to establish a binding.

mobility, security, ip

normative-requirement §5.6 MUST

An MN returning to the PAR before updating bindings at NAR MUST send an FBU with the Home Address equal to PCoA and Lifetime of zero, causing PAR to terminate the fast-handover tunnel and resume direct delivery.

mobility, ip

normative-requirement §3.1 MUST

Both HI and HAck messages SHOULD be used between access routers. The access routers MUST have the necessary security association established by means outside the scope of this document.

mobility, security, ip

normative-requirement §4 MUST

If the MN receives a NAACK option containing an IP address, it MUST use that address and send an FBU using it. If the address in NAACK is PCoA itself, the MN MUST NOT send any more FBUs.

mobility, ip

normative-requirement §1 MUST NOT

Implementations of this specification MUST NOT send ICMPv6 HI and HAck messages as defined in RFC 5268. They MAY interpret received ICMPv6 HI and HAck messages as defined in RFC 5268.

mobility, ip, v6ops

normative-requirement §5.4 MUST

Routers implementing this specification MUST implement at least the default buffered-packet forwarding algorithm based on original arrival rates. A maximum of 5 packets MAY be sent consecutively; all subsequent packets SHOULD use a rate metered by the buffer's arrival rate, potentially with smoothing techniques.

mobility, ip, qos

normative-requirement §6.1.1 MUST

RtSolPr retransmissions MUST use exponential backoff (doubling the timeout starting from 2×RTT or 100ms), up to RTSOLPR_RETRIES. When sent more than once, RtSolPr messages MUST be rate-limited with MAX_RTSOLPR_RATE per second.

mobility, ip

normative-requirement §3.1 MUST

The MN SHOULD send an FBU from the PAR's link whenever anticipation of handover is feasible. When reverse-tunneling packets to PAR, PAR MUST forward the inner packet to its destination to prevent ingress filtering drops.

mobility, ip, v6ops

normative-requirement §5.5 SHOULD

The protocol SHOULD only be used in deployments where the probability of address collisions is extremely low, because DAD adds handover delays. DAD delay can be eliminated by setting DupAddrDetectTransmits to zero on the NAR.

mobility, ip, v6ops

normative-requirement §6.3 MUST

The Source Address in UNA MUST be the NCoA. The Target Address MUST include the NCoA, and the Target link-layer address MUST include the MN's LLA. The 'O' bit MUST be set to zero (unsolicited advertisement).

mobility, ip

normative-requirement §3.2 MUST

When an assigned NCoA is returned in HAck, the FBack MUST include it, and the MN MUST use the address provided in the FBack rather than the proposed address in the FBU.

mobility, ip

normative-requirement §4 MUST

When the source IP address of the FBU is PCoA (FBU sent from PAR's link), the HI message MUST have Code 0. When the source IP address is not PCoA (FBU from NAR's link), the HI message MUST have Code 1.

mobility, ip

protocol-element §3.2

The Fast Handover protocol defines two operational modes: Predictive (MN sends FBU from PAR's link and receives FBack before disconnecting) and Reactive (MN sends FBU from NAR's link after handover, or resends FBU after connecting to NAR without having received FBack).

mobility, ip, v6ops

registry §11

IANA assigned or updated: Mobility Header Type 8 (Fast Binding Update), Type 9 (Fast Binding Acknowledgment), Type 10 (Handover Initiate), Type 11 (Handover Acknowledge). Also assigned Neighbor Discovery option Type 17 (IP Address/Prefix), Type 19 (Link-Layer Address), Type 27 (NAACK), and Mobility Header option Type 17 (MH IP Address/Prefix), Type 27 (MH-LLA), and BADF option type.

registry, mobility, ip

security-consideration §10

FBU messages must be protected so that the PAR can verify the message was sent by an MN that legitimately owns the PCoA; this is achieved via the BADF option. Inter-access-router messages (HI/HAck) require a pre-established security association (e.g., via IKEv2) between PAR and NAR. When IPsec is used, appropriate SAD and SPD entries must be configured.

security, mobility, ipsec

security-consideration §10

The protocol relies on a trust relationship between PAR and NAR: the NAR may create a forwarding entry for NCoA based on the PAR's approval. Without this trust, an attacker controlling PAR could redirect traffic for any NCoA. Operators must ensure the PAR-NAR security association is properly managed.

security, mobility

security-consideration §10.1

When using IKEv2 to secure inter-access-router communication, the PAD (Peer Authorization Database) must contain entries allowing IKE and ESP/AH SAs between PAR and NAR. The SPD must specify that traffic between PAR and NAR IP addresses is IPsec-protected.

security, mobility, ipsec

state-machine §4

NAR UNA processing: upon receiving UNA, NAR (1) deletes proxy neighbor cache entry and sets state to STALE, forwarding buffered packets, or (2) if entry is INCOMPLETE, updates to STALE and forwards. If NAR wishes to assign a different address, it MUST delete proxy entry and send RA with NAACK option.

mobility, ip, v6ops

wire-format §6.4.5

Binding Authorization Data for FMIPv6 (BADF) option (Section 6.4.5): carried in FBU and FBack to authenticate the MN's ownership of PCoA and to protect the binding operation. This option is mandatory in both FBU and FBack messages.

mobility, security, crypto

wire-format §6.2.3

Fast Binding Acknowledgment (FBack): Mobility Header Type 9, identical format to MIPv6 BAck. Fields: Status (8-bit, <128 accepted / >=128 rejected), 'K' flag, Reserved, Sequence# (16-bit), Lifetime (16-bit). Mobility Options MUST contain BADF option; MUST contain alternate CoA if Status is 1.

mobility, ip

wire-format §6.2.2

Fast Binding Update (FBU): Mobility Header Type 8, identical format to MIPv6 BU. Source is PCoA (from PAR's link) or NCoA (from NAR's link). 'A' flag MUST be 1, 'H' flag MUST be 1. Mobility Options MUST contain alternate CoA (set to NCoA when sent from PAR's link) and BADF option.

mobility, ip

wire-format §6.2.1.2

Handover Acknowledge (HAck): Mobility Header message. Fields: Sequence# (16-bit, copied from HI), Reserved (8-bit), Code (8-bit, values 0–4 for accepted, 128–130 for rejected). When 'S' flag was set in HI, the New Care-of Address option MUST be included in HAck.

mobility, ip

wire-format §6.2.1.1

Handover Initiate (HI): Mobility Header message. Fields: Sequence# (16-bit), 'S' flag (assigned addressing request), 'U' flag (buffer request), Code (0 or 1, 8-bit), Reserved (8-bit), followed by Mobility options including MN LLA (MUST), Previous CoA (SHOULD), and New CoA.

mobility, ip

wire-format §6.4.1

IP Address/Prefix Option (ND option, Type 17): sent in PrRtAdv. Length in 8-octet units. Option-Code distinguishes Old CoA (1), New CoA (2), NAR's IP (3), NAR's Prefix (4). Prefix Length field (8-bit, 0–128). IPv6 address is 128 bits.

mobility, ip

wire-format §6.4.3

Link-Layer Address (LLA) Option (ND option, Type 19): variable-length LLA field, padded to 8-octet boundary. Option-Code values 0–7 encode wildcard (0), new AP LLA (1), MN LLA (2), NAR LLA (3), source LLA (4), same-interface AP (5), no-prefix-info (6), no-fast-handover-support (7).

mobility, ip

wire-format §6.1.2

Proxy Router Advertisement (PrRtAdv): ICMPv6 Type 154, Subtype 3, Code 0–5. Header fields include Subtype (8-bit), Reserved (8-bit), Identifier (16-bit). Options in order: Source LLA, New AP LLA (MUST), New Router LLA (MUST when Code 0 or 1), New Router IP address, New Router Prefix Info, and optional New CoA.

mobility, ip, v6ops

wire-format §6.1.1

Router Solicitation for Proxy Advertisement (RtSolPr): ICMPv6 Type 154, Subtype 2. Header fields: Type (8-bit), Code (0, 8-bit), Checksum (16-bit), Subtype (8-bit), Reserved (8-bit), Identifier (16-bit), followed by options including Source LLA and one or more New Access Point LLA options.

mobility, ip, v6ops