RFC 5142
Mobility Header Home Agent Switch Message
1. Introduction β¨
Okay bestie, let's talk about RFC 5142: Mobility Header Home Agent Switch Message π¦ It's a Standards Track doc from January 2008, written by B. Haley (Hewlett-Packard), V. Devarapalli (Azaire Networks), H. Deng (China Mobile), and J. Kempf (DoCoMo USA Labs). Its title block doesn't have any Obsoletes or Updates line, so it isn't replacing or patching anything. It's a brand-new message type for Mobile IPv6 πΈ
Status of This Memo
This document specifies an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements π¬ If you want the official standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited π
Abstract
This doc defines a new Mobility Header message type π It lets a home agent and a mobile node talk to each other so the home agent can tell the mobile node, "hey, go get a new home agent" π§
Table of Contents
1. Introduction ....................................................2
2. Terminology .....................................................3
3. Scenarios .......................................................3
3.1. Overloaded .................................................3
3.2. Load Balancing .............................................3
3.3. Maintenance ................................................3
3.4. Functional Load Balancing ..................................3
3.5. Home Agent Renumbering .....................................4
4. Home Agent Switch Message .......................................4
5. Home Agent Operation ............................................6
5.1. Sending Home Agent Switch Messages .........................6
5.2. Retransmissions ............................................7
5.3. Mobile Node Errors .........................................7
6. Mobile Node Operation ...........................................8
6.1. Receiving Home Agent Switch Messages .......................8
6.2. Selecting a Home Agent .....................................9
7. Operational Considerations ......................................9
8. Protocol Constants .............................................10
9. IANA Considerations ............................................10
10. Security Considerations .......................................10
11. References ....................................................11
11.1. Normative References .....................................11
11.2. Informative References ...................................11
Acknowledgments ...................................................11
1. Introduction
Here's the tea β [RFC3775] has no way for a home agent to tell a mobile node "bye, you need to stop using me as your home agent." That's a problem, because a home agent might need to hand off some of its mobile nodes to another home agent. Maybe it's overloaded, or maybe it's going offline π
So this protocol defines a signaling message called the Home Agent Switch message. It's the thing a home agent and mobile node use to send a handoff notification to each other π¨
Now, the Home Agent Switch message doesn't try to fix every problem about changing a mobile node's home agent π Specifically, this protocol is NOT trying to solve these two things:
- The case where the Home Address of a mobile node has to change in order to switch to a new home agent. Using this message for that should be avoided.
- Deciding when a home agent should actively move mobile nodes over to another home agent. That decision should be made by a backend protocol, for example, as described in [hareliability].
2. Terminology
Okay, the key words here are the important part π In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [RFC2119]. Don't skip over these, they're load-bearing π
3. Scenarios
Here are some example scenarios where a home agent signaling message would be super useful π
3.1. Overloaded
There are a bunch of reasons a home agent might count as overloaded π© One is that it's at, or close to, its limit on how many home bindings it's willing to accept. Another is that it's hit a pre-determined level of system resource usage, like memory, CPU cycles, and so on. Either way, it'd be really nice for a home agent to bring down the number of home bindings before something actually breaks π
3.2. Load Balancing
A home agent might know about other home agents that aren't as heavily loaded as it is. It could learn about them through some other mechanism that's outside the scope of this document π An operator might want to balance the load so that if something fails, it only disrupts a smaller percentage of mobile nodes. That's giving smart planning energy π§
3.3. Maintenance
Most operators do periodic maintenance to keep things reliable π§Ή If a home agent is being shut down for maintenance, it'd be great to tell the mobile nodes so they don't lose their mobility service π«Ά
3.4. Functional Load Balancing
A Mobile IPv6 home agent gives mobile nodes two basic services π First, it acts as a rendezvous server, which is where correspondent nodes can look up the mobile node's current care-of address. Second, it acts as an overlay router that tunnels traffic to and from the mobile node at its current care-of address.
A mobility service provider could use two different sets of home agents, one for each function π The rendezvous function could live on a machine built for high-speed transaction processing, and the overlay router function could live on a machine with high data throughput.
A mobile node would start out on the rendezvous server home agent and stay there if it does route optimization. But if the original home agent notices that the mobile node isn't doing route optimization and is reverse-tunneling its traffic instead, it could redirect the mobile node to a home agent with better data throughput π₯
3.5. Home Agent Renumbering
Every so often, a mobility service provider might want to shut down home agent services at one set of IPv6 addresses and bring them back up at a new set π This doesn't have to be as complicated as IPv6 network renumbering [RFC4192]. It might just mean changing the addresses of the home agents. With a signaling message, the service provider could tell mobile nodes to go look for a new home agent π¦
4. Home Agent Switch Message
The Home Agent Switch message is how a home agent tells a mobile node that it needs to stop acting as its home agent and go acquire a new one π Home Agent Switch messages are sent the way Section 5 describes.
The message below follows the Mobility Header format from Section 6.1 of [RFC3775] π¦
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Proto | Header Len | MH Type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
. .
. Message Data .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Home Agent Switch Message uses the MH Type value (12) π When that value shows up in the MH Type field, the Message Data field is laid out like this:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|# of Addresses | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
. .
. Home Agent Addresses .
. .
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
. .
. Mobility Options .
. .
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
# of Addresses
An 8-bit unsigned integer that tells you how many IPv6 home agent addresses are in the message π’ If it's set to zero, the mobile node MUST perform home agent discovery. No skipping that step!
Reserved
An 8-bit field that's reserved for future use π The sender MUST initialize the value to zero, and the receiver MUST ignore it.
Home Agent Addresses
A list of alternate home agent addresses for the mobile node π The number of addresses in the list is given by the # of Addresses field in the Home Agent Switch message.
Mobility Options
This is a variable-length field, sized so that the whole Mobility Header ends up as an integer multiple of 8 octets long β¨ It holds zero or more TLV-encoded mobility options. The encoding and format of the defined options MUST follow the format in Section 6.2 of [RFC3775]. The receiver MUST ignore and skip any options it doesn't understand.
The Binding Refresh Advice mobility option, defined in Section 6.2.4 of [RFC3775], is valid for the Home Agent Switch message π¦
If there are no home agent addresses and no options in this message, then no padding is needed, and the Header Len field in the Mobility Header will be set to zero π§
5. Home Agent Operation β¨
Ooh, we're about to get into what the home agent actually does π I'm so ready. Stay tuned for part 2 π«Ά
5.1. Sending Home Agent Switch Messages π
Okay so when a sending node makes a Home Agent Switch message π , it builds the packet just like any other Mobility Header, with a few tweaks:
- The
MH Typefield MUST be set to (12). π¦ - If alternative home agent addresses are known, the sending home agent SHOULD include them in the list of suggested alternate home agents. The home agent addresses field should be constructed as described in Section 10.5.1 of [RFC3775], which will randomize addresses of the same preference in the list. π
- The
# of Addressesfield MUST be filled in to match the number of home agent addresses included in the message. If no addresses are present, the field MUST be set to zero, which forces the mobile node to do home agent discovery some other way. π - If the home agent can keep offering services to the mobile node for a while, it MAY include a Binding Refresh Advice mobility option. This tells the mobile node the time (in units of 4 seconds) until the binding will be deleted. β°
The Home Agent Switch message MUST use the home agent to mobile node IPsec ESP (Encapsulating Security Payload) authentication SA (Security Association) for integrity protection. Main character energy, protected π
A home agent SHOULD send a Home Agent Switch message when a known period of unavailability is coming up, so the mobile node has enough time to find another suitable home agent. Planning ahead is everything πΈ
The sending node doesn't need to be the current home agent for the mobile node, like in the scenario described in [hareliability]. It MUST still have a security association with the mobile node so the message doesn't get rejected. In this case, the Home Agent Switch message SHOULD only contain the address of the home agent sending it in the Home Agent Addresses field. That basically implies the mobile node should switch over to the sender as its new home agent. Iconic handoff π
5.2. Retransmissions π
If the home agent doesn't get a response from the mobile node, then it SHOULD keep retransmitting the message until one arrives. That response is either a Binding Update message to delete its home binding (if it's the current home agent) or a Binding Update message to create a home binding (if it's not). The initial value for the retransmission timer is INITIAL-HA-SWITCH-TIMEOUT. β±οΈ
The retransmissions by the home agent MUST use an exponential back-off mechanism. The timeout period doubles with each retransmission, until either the home agent gets a response from the mobile node to delete its binding, or the timeout period hits MAX-HA-SWITCH-TIMEOUT. After that, the home agent MAY keep sending these messages at this slower rate indefinitely. Patient bestie energy π’
If the home agent included a Binding Refresh Advice mobility option, then it SHOULD delay any retransmissions until at least one half of the time period has expired, or until INITIAL-HA-SWITCH-TIMEOUT, whichever value is less. β¨
5.3. Mobile Node Errors π ββοΈ
If a mobile node doesn't understand how to process a Home Agent Switch message, it will send a Binding Error message as described in Section 6.1. Not it being confused π
If a mobile node is unreachable (in other words, it still has a home binding with the home agent after the timeout period of MAX-HA-SWITCH-TIMEOUT has passed), the home agent SHOULD NOT make any conclusions about its status. The vibe here is no assumptions, no drama π«Ά
In either case, the home agent SHOULD attempt to keep providing services until the lifetime of the binding expires. π
Attempts by the mobile node to extend the binding lifetime with a Binding Update message SHOULD be rejected. A Binding Acknowledgement SHOULD be returned with status value 129 (Administratively prohibited), as specified in Section 6.1.8 of [RFC3775]. Denied, babe π«
6. Mobile Node Operation π§
6.1. Receiving Home Agent Switch Messages π©
Upon receiving a Home Agent Switch message, the Mobility Header MUST be verified as specified in [RFC3775]. Specifically:
- The Checksum, MH type, Payload Proto, and Header Len fields MUST meet the requirements of Section 9.2 of [RFC3775]. π
- The packet MUST be covered by the home agent to mobile node IPsec ESP authentication SA for integrity protection. π
If the packet gets dropped because of the tests above, the receiving node MUST follow the processing rules that Section 9.2 of [RFC3775] defines. For example, it MUST send a Binding Error message with the Status field set to 2 (unrecognized MH Type value) if it doesn't support the message type. π
When a mobile node receives a Home Agent Switch message, it MUST stop using its current home agent for services. It MUST also delete its home binding by sending a Binding Update message, as described in Section 11.7.1 of [RFC3775]. This acts as an acknowledgement of the Home Agent Switch message. Alternatively, if the sender of the message is not the current home agent, sending a Binding Update message to create a home binding will act as an acknowledgement of the Home Agent Switch message. Retransmissions of Binding Update messages MUST use the procedures described in Section 11.8 of [RFC3775]. Ack, and then move on π
If a Binding Refresh Advice mobility option is present, the mobile node MAY delay deleting its home binding and keep using its current home agent until the calculated time period has expired. Extra time, who dis π·
If the Home Agent Switch message contains a list of alternate home agent addresses, the mobile node SHOULD select a new home agent as described in Section 6.2. It should then set up the necessary IPsec security associations with the new home agent, by whatever means are required as part of the mobile node/home agent bootstrapping protocol for the home agent's mobility service provider. If no alternate home agent addresses are in the list, the mobile node MUST first perform home agent discovery. πΊοΈ
6.2. Selecting a Home Agent π―
In most cases, the home agent addresses in the Home Agent Switch message will belong to other home agents on the home link of the mobile node (the computed prefix is the same). In this case, the mobile node SHOULD select a new home agent from the addresses in the order they appear in the list. If the first address in the list can't provide service, then the subsequent addresses in the list should be tried in order. Next in line, please πββοΈ
In the case that the home agent addresses in the Home Agent Switch message are not all home agents on the home link of the mobile node (the computed prefix is different), the mobile node SHOULD select one with its home network prefix first, if one is available. After that, it should pick home agents with other prefixes. Choosing a home agent with a different prefix might require a change of the mobile node's home address, which could cause a loss of connectivity for any connections using the current home address. Plot twist, but make it cute π
7. Operational Considerations π οΈ
This document doesn't specify how an operator might use the Home Agent Switch message in its network. However, the following requirements are placed on its usage:
- The use of this message needs to take into account possible signaling overhead, congestion, load from the mechanism itself, and the resulting registration to another home agent. A home agent may provide service for thousands, if not millions, of mobile nodes. Careless application of the Home Agent Switch message may cause the new home agent, or some other parts of the network, to suffer. As a result, it is REQUIRED that applications of this message either employ a feedback loop between resources of the new home agent and the sending of additional Home Agent Switch messages, or apply a maximum rate at which mobile nodes can be informed of the switch. That rate has to be far below the designated capacity of new registrations that the set of home agents can process. If no other information is available, this maximum rate should default to MAX-HA-SWITCH-TRANSMIT-RATE. π¦
- In general, switching the home agent of a mobile node should only be done when absolutely necessary. It might cause a service disruption if the switch to a new home agent fails, if the new home agent is itself under an overload condition, or if the network connection of the new home agent is congested. π
Similarly, the path characteristics via the new home agent may be different, which may cause temporary difficulties for end-to-end transport layer operation. π₯Ί
- If this message is being used for load-balancing between a set of home agents, they should all be configured with the same set of prefixes. That way a home agent switch doesn't require a change of the home address for a mobile node. That operation is NOT RECOMMENDED and should be avoided. π ββοΈ
8. Protocol Constants π’
INITIAL-HA-SWITCH-TIMEOUT 5 seconds
MAX-HA-SWITCH-TIMEOUT 20 seconds
MAX-HA-SWITCH-TRANSMIT-RATE 1 per second
9. IANA Considerations π·
IANA has assigned a new Mobility Header type for the following new message, described in Section 4:
(12) Home Agent Switch message
10. Security Considerations π
As with other messages in [RFC3775], the Home Agent Switch message MUST use the home agent to mobile node ESP encryption SA for confidentiality protection. It MUST also use the home agent to mobile node ESP authentication SA for integrity protection. Locked down, no crumbs for the hackers π¨
The Home Agent Switch message MAY use the IPsec ESP SA that's already in place for Binding Updates and Acknowledgements, as specified in Section 5.1 of [RFC3775]. This is a way to reduce the number of configured security associations. It also gives the message authenticity protection. β
Some operators may not want to reveal the list of home agents to on-path listeners. In such a case, the Home Agent Switch message should use the home agent to mobile node IPsec ESP encryption SA for confidentiality protection. Keep the guest list private π€«
11. References π
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility
Support in IPv6", RFC 3775, June 2004.
11.2. Informative References
[RFC4192] Baker, F., Lear, E., and R. Droms, "Procedures for
Renumbering an IPv6 Network without a Flag Day", RFC
4192, September 2005.
[hareliability] Wakikawa, R., Ed., "Home Agent Reliability Protocol",
Work in Progress, November 2007.
Acknowledgments π«Ά
We would like to thank the authors of a number of previous documents that contributed content to this RFC:
- Ryuji Wakikawa, Pascal Thubert, and Vijay Devarapalli, "Inter Home Agents Protocol Specification", March 2006. π§βπ»
- Hui Deng, Brian Haley, Xiaodong Duan, Rong Zhang, and Kai Zhang, "Load Balance for Distributed Home Agents in Mobile IPv6", October 2004. βοΈ
- James Kempf, "Extension to RFC 3775 for Alerting the Mobile Node to Home Agent Unavailability", October 2005. π£
- Brian Haley and Sri Gundavelli, "Mobility Header Signaling Message", September 2007. π
Thanks also to Kilian Weniger, Jixing Liu, Alexandru Petrescu, Jouni Korhonen, and Wolfgang Fritsche for their review and feedback. The real MVPs πβ¨
Author's Addresses π
okay bestie, here are the four legends who wrote this, with their addresses and emails so you can reach out π«Ά
Brian Haley
Hewlett-Packard Company
110 Spitbrook Road
Nashua, NH 03062, USA
EMail: brian.haley@hp.com
Vijay Devarapalli
Azaire Networks
3121 Jay Street
Santa Clara, CA 95054 USA
EMail: vijay.devarapalli@azairenet.com
James Kempf
DoCoMo USA Labs
181 Metro Drive
Suite 300
San Jose, CA 95110 USA
EMail: kempf@docomolabs-usa.com
Hui Deng
China Mobile
53A, Xibianmennei Ave.
Xuanwu District
Beijing 100053
China
EMail: denghui@chinamobile.com
Full Copyright Statement π
the IETF Trust holds the copyright here, Copyright (C) The IETF Trust (2008). β¨
this doc is under the rights, licenses and restrictions in BCP 78, and except for what BCP 78 says, the authors keep all their rights π
and here's the legal disclaimer, word for word because it's important, so no skipping it π
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, THE IETF TRUST 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 doesn't take a side on whether any intellectual property rights are valid or how far they reach, and it might not know whether a license is available for the tech in here. it also hasn't done its own digging to find any of those rights, ngl π€·ββοΈ if you want the rules for rights in RFC docs, check BCP 78 and BCP 79 π
copies of IPR disclosures sent to the IETF Secretariat, plus any promised licenses, or the results of anyone trying to get a general license or permission to use those proprietary rights, can be found in the IETF's online IPR repository at http://www.ietf.org/ipr π
and the IETF is totally inviting anyone to speak up if they know about copyrights, patents, patent applications, or other proprietary rights that might cover tech needed to implement this standard. send that info to the IETF at ietf-ipr@ietf.org π
π¦ where this page comes from
- ietf: rfc5142 2008-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms