Mobility Header Home Agent Switch Message
Extracted elements (23)
A sender of the Home Agent Switch message need not be the current home agent (e.g., for reliability protocols), but it MUST have a security association with the mobile node. In this case, the message SHOULD only contain the sender's own address, implying the mobile node should switch to the sender as its new home agent.
RFC 3775 contained no provision for a home agent to inform a mobile node to stop using it, so this new message type was introduced to handle scenarios such as overload, load balancing, maintenance, functional load balancing, and home agent renumbering without requiring a home address change.
The Home Agent Switch message does not address the case where the mobile node's home address must change to switch home agents; this operation is explicitly out of scope and should be avoided using this message.
If a mobile node does not support the Home Agent Switch message (MH Type 12), it will send a Binding Error message with Status field set to 2 (unrecognized MH Type value) as defined in RFC 3775 Section 9.2.
When the home agent addresses in the Home Agent Switch message have a different prefix from the mobile node's home link, choosing such a home agent may require a change of the mobile node's home address, potentially causing loss of connectivity for connections using the current home address.
Applications of the Home Agent Switch message MUST either employ a feedback loop between resources of the new home agent and additional message sending, or apply a maximum rate (defaulting to MAX-HA-SWITCH-TRANSMIT-RATE if no other information is available) to avoid overloading the new home agent.
Attempts by the mobile node to extend the binding lifetime with a Binding Update message SHOULD be rejected, and a Binding Acknowledgement SHOULD be returned with status value 129 (Administratively prohibited).
If home agents are used for load-balancing, they should all be configured with the same set of prefixes so a home agent switch does not require a change of the home address. Switching home agents requiring a home address change is NOT RECOMMENDED.
If no alternate home agent addresses are included in the Home Agent Switch message, the mobile node MUST first perform home agent discovery before registering with a new home agent.
If the home agent does not receive a response (a Binding Update to delete or create a home binding), it SHOULD retransmit using exponential back-off, doubling the timeout each retransmission starting at INITIAL-HA-SWITCH-TIMEOUT until MAX-HA-SWITCH-TIMEOUT is reached.
If the '# of Addresses' field is set to zero in a Home Agent Switch message, the mobile node MUST perform home agent discovery by other means.
Retransmissions by the home agent MUST use an exponential back-off mechanism, doubling the timeout period upon each retransmission until the timeout reaches MAX-HA-SWITCH-TIMEOUT.
The Home Agent Switch message MUST use MH Type value 12. The '# of Addresses' field MUST be set to match the number of home agent addresses included, or zero if none are present.
The Home Agent Switch message MUST use the home agent to mobile node IPsec ESP authentication SA for integrity protection when sending.
Upon receipt of a Home Agent Switch message, the mobile node MUST stop using its current home agent and MUST delete its home binding by sending a Binding Update message as described in RFC 3775 Section 11.7.1, which serves as acknowledgement.
Protocol constants defined: INITIAL-HA-SWITCH-TIMEOUT = 5 seconds (initial retransmission timer), MAX-HA-SWITCH-TIMEOUT = 20 seconds (maximum retransmission interval), MAX-HA-SWITCH-TRANSMIT-RATE = 1 per second (default maximum rate for sending switch messages).
The Binding Refresh Advice mobility option (defined in RFC 3775 Section 6.2.4) is valid for use in the Home Agent Switch message, allowing the home agent to indicate how long (in units of 4 seconds) it will continue providing service before deleting the binding.
The Home Agent Switch message (MH Type 12) is a new Mobility Header message used by a home agent to signal to a mobile node that it should stop using the current home agent and acquire a new one. The message data includes a '# of Addresses' field (8-bit), a Reserved field (8-bit), a list of Home Agent Addresses (IPv6), and Mobility Options.
IANA assigned a new Mobility Header message type value (12) for the Home Agent Switch message defined in Section 4 of this document.
Some operators may not want to reveal the list of alternate home agents to on-path listeners; in such cases, the Home Agent Switch message should use the home agent to mobile node IPsec ESP encryption SA for confidentiality protection.
The Home Agent Switch message MUST use the home agent to mobile node IPsec ESP encryption SA for confidentiality protection and MUST use the IPsec ESP authentication SA for integrity protection, consistent with RFC 3775. The message MAY use the IPsec ESP SA already in place for Binding Updates and Acknowledgements to reduce the number of configured SAs.
Upon receiving a Home Agent Switch message, the mobile node transitions from 'using current home agent' to 'acquiring new home agent'. The trigger is receipt of a valid (IPsec-authenticated) Home Agent Switch message. The node deletes its current home binding (Binding Update) and optionally delays if a Binding Refresh Advice option is present.
The Home Agent Switch message data begins with an 8-bit '# of Addresses' field indicating the count of IPv6 home agent addresses, followed by an 8-bit Reserved field, a variable-length list of IPv6 Home Agent Addresses (16 bytes each), and variable-length Mobility Options. If '# of Addresses' is zero, the mobile node MUST perform home agent discovery.