RFC 4064
Experimental Message, Extensions, and Error Codes for Mobile IPv4
RFC 4064: Experimental Message, Extensions, and Error Codes for Mobile IPv4 β¨
okay bestie, this one is all about experimental stuff for Mobile IPv4 π¦ It's a Standards Track doc from May 2005, written by A. Patel and K. Leung at Cisco Systems, and it lives in the Network Working Group πΈ
- Category: Standards Track
- Date: May 2005
- Obsoletes/Updates: the title block doesn't list anything this document obsoletes or updates
Status of This Memo
this part is the legal-ish bit π It says this document specifies an Internet standards track protocol for the Internet community and asks for discussion and suggestions for improvements. If you want the current standardization state of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). And distribution of this memo is unlimited π
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
okay so Mobile IPv4 message types go from 0 to 255 π₯ This doc grabs one message type for an individual, company, or organization to use for experiments. The point is to test out enhancements to Mobile IPv4 messages before a formal standards proposal is issued. Experiments first, then the big official stuff π§
Table of Contents
1. Introduction ................................................. 2
2. Terminology .................................................. 3
3. Experimental Message ......................................... 3
4. Experimental Extensions ...................................... 4
4.1. Non-skippable Mobile IPv4 Experimental Extension ....... 5
4.2. Non-skippable ICMP Router Discovery Exp. Extension ..... 5
4.3. Skippable Mobile IPv4 Experimental Extension ........... 6
4.4. Skippable ICMP Router Discovery Experimental Extension . 6
5. Experimental Error Codes ..................................... 7
6. Mobility Entity Considerations ............................... 7
7. IANA Considerations .......................................... 7
7.1. New Message Type ....................................... 8
7.2. New Extension Values ................................... 8
7.3. New Error Codes ........................................ 8
8. Security Considerations ...................................... 8
9. Backward Compatibility Considerations ........................ 9
10. Acknowledgements.............................................. 9
11. References ................................................... 9
11.1. Normative References ................................... 9
11.2. Informative References ................................. 9
1. Introduction π
okay so Mobile IPv4 message types range from 0 to 255 again π This doc reserves a message type for experimental purposes, so people can try out enhancements to Mobile IPv4 messages before anything becomes a formal standards proposal.
Why does this matter? Without an experimental message type, you'd have to grab a type value from the range that IANA hands out for assignment, and that could cause collisions π
Mobile IP also has a general extension mechanism. It lets optional info ride along inside Mobile IP control messages β¨ Extensions defined in the range [0-127] are not skippable, and the ones in [128-255] are skippable. This document reserves extension types in both the skippable and non-skippable ranges for experimental use.
And then there are error codes: Mobile IPv4 defines them for the FA [64-127] and the HA [128-192]. This doc reserves one error code in each of those ranges for experimental use π
The experimental numbers in this document follow the recommendation in Section 2.2 of BCP 82, RFC 3692. π«Ά
2. Terminology π
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [1].
Also, this doc uses some terms a LOT, so here's the squad:
- EXP-MSG-TYPE: a Mobile-IPv4 message number assigned for experimental use. IANA has assigned message number 255 for this.
- EXP-SKIP-EXT-TYPE: a Mobile-IPv4 and ICMP router discovery Agent Advertisement extension number assigned for experimental use. IANA has assigned extension number 255 for this.
- EXP-NONSKIP-EXT-TYPE: a Mobile-IPv4 and ICMP router discovery Agent Advertisement extension number for experimental use. IANA has assigned extension number 127 for this.
- EXP-HA-ERROR-CODE: a Mobile-IPv4 error code the HA uses in MIPv4 reply messages to indicate an error condition. IANA has assigned error code 192 for this.
- EXP-FA-ERROR-CODE: a Mobile-IPv4 error code the FA uses in reply messages to indicate an error condition. IANA has assigned error code 127 for this.
- Mobility Entity: entities as defined in [2] (home agent, foreign agent, and mobile node).
3. Experimental Message π¦
okay so the whole point of an experimental message is that nobody knows its purpose ahead of time π That means its structure is defined as an opaque payload. Whatever entity implements the message can interpret it however it wants. Using the extensions present in the message is one suggestion.
These messages can be used between the mobility entities (Home Agent, Foreign Agent, and Mobile Node). Experimental messages MUST be authenticated using any of the authentication mechanisms defined for Mobile IP ([2], [5]). Non-negotiable, no cap π
This message MAY contain extensions defined in Mobile IP, including vendor-specific extensions [4].
Here's the IP stuff:
- Source Address: typically the interface address the message is sent from.
- Destination Address: the address of the agent or the Mobile Node.
And the UDP stuff:
Source Port Set according to RFC 768 (variable)
Destination Port Set to the value 434
The Mobile IP fields come right after the UDP header, and they look 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Opaque. . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type: 255 (EXP-MSG-TYPE)
- Opaque: zero or more octets of data, with structure defined only by the particular experiment it is used for.
Once an experimental message has been tested and shown to be useful, a permanent number should be obtained through the normal IANA numbers assignment procedures. β¨
A single experimental message type is defined. This message can contain extensions, and those extensions are how the message can be interpreted πΈ
Up-to-date values for the message types for Mobile IP control messages are in the most recent "Assigned Numbers" [3].
4. Experimental Extensions π
This doc reserves Mobile IPv4 extensions in both the skippable and non-skippable ranges for experimental purposes. Mobile IPv4 experimental extensions use the long extension format (for non-skippable extensions) and the short extension format (for skippable extensions), both as defined by [2].
Also, ICMP router discovery extension numbers in both the skippable and non-skippable ranges are reserved for experimental use π§
4.1. Non-skippable Mobile IPv4 Experimental Extension π
This format is for non-skippable extensions, and it can carry info more than 256 bytes. Yep, it's giving big π
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Sub-Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opaque. . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type: 127 (EXP-NONSKIP-EXT-TYPE) is the type, which describes an experimental extension.
- Sub-Type: a unique number given to each member in the aggregated type.
- Length: the length (in bytes) of the data field in this extension. It not include the Type, Sub-Type, and Length fields.
- Opaque: zero or more octets of data, with structure defined only by the particular experiment it is used for.
Because the length field is 16 bits wide, the extension data can go past 256 bytes π
4.2. Non-skippable ICMP Router Discovery Exp. Extension π
This format is for non-skippable extensions.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Opaque . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type: 127 (EXP-NONSKIP-EXT-TYPE) is the type, which describes an ICMP router discovery experimental extension.
- Length: the length (in bytes) of the data field in this extension. It does not include the Type and Length fields.
- Opaque: zero or more octets of data, with structure defined only by the particular experiment it is used for.
A node that gets a router advertisement with this extension should ignore the extension if it doesn't recognize it.
A mobility entity that understands this extension but doesn't recognize it should drop (ignore) the router advertisement. π ββοΈ
4.3. Skippable Mobile IPv4 Experimental Extension π
This format is for skippable extensions, which carry info less than 256 bytes.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Sub-Type | Opaque. . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type: 255 (EXP-SKIP-EXT-TYPE) is the type, which describes an experimental extension.
- Length: the length (in bytes) of the data field in this extension. It does not include the Type and Length fields.
- Sub-Type: a unique number given to each member in the aggregated type.
- Opaque: zero or more octets of data, with structure defined only by the particular experiment it is used for.
Because the length field is 8 bits wide, the extension data cannot go past 256 bytes in length π
4.4. Skippable ICMP Router Discovery Experimental Extension π§
This format is for skippable ICMP router discovery extensions. This extension should be ignored if an implementation doesn't understand it.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Opaque. . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Type: 255 (EXP-SKIP-EXT-TYPE) is the type, which describes an experimental extension.
- Length: the length (in bytes) of the data field in this extension. It does not include the Type and Length fields.
- Opaque: zero or more octets of data, with structure defined only by the particular experiment it is used for.
5. Experimental Error Codes π¨
okay so this document reserves the reply error code EXP-FA-ERROR-CODE for the FA π and the reply error code EXP-HA-ERROR-CODE for the HA π¦. these experimental error codes can show up in registration reply messages π
it is recommended that experimental error codes get used with experimental messages and extensions whenever none of the standardized error codes fit β¨ basically, reach for the experimental one only when the normal ones don't cover what happened π
6. Mobility Entity Considerations πΈ
mobility entities can send AND receive experimental messages π¨ if an implementation doesn't understand the message type, it SHOULD silently discard the message π
experimental extensions can ride along in experimental messages and in standards-defined messages π§ but in the second case, it is suggested that experimental extensions MUST NOT be used in deployed products, and that their usage be restricted to experiments only π§ͺ that's a hard no for production, bestie π
7. IANA Considerations π
this document defines a control message for mobility entities to use with each other, two new extension formats, and two new error codes π so that interop stays solid, IANA reserved values in the Mobile IPv4 number space (as defined in [2]) for one new message type, two new extensions, and two error codes π«Ά
7.1. New Message Type π¦
a new Mobile IPv4 control message using UDP port 434, type 255 (EXP-MSG-TYPE), has been defined by IANA π this value came from the same number space as Mobile IP Registration Request (Type = 1) and Mobile IP Registration Reply (Type = 3) π₯
7.2. New Extension Values π
the following extension types are introduced by this specification β¨
Experimental non-skippable extension: the value 127 (EXP-NONSKIP-EXT-TYPE) has been assigned from the numbering space for non-skippable extensions, which may appear in Mobile IPv4 control messages π
also, the same number, 127 (EXP-NONSKIP-EXT-TYPE), has been assigned from the numbering space for non-skippable extensions, which may appear in ICMP router discovery messages πΈ two places, one number, very efficient π
Experimental skippable extension: the value 255 (EXP-SKIP-EXT-TYPE) has been assigned from the numbering space for skippable extensions, which may appear in Mobile IPv4 control messages π
also, the same number, 255 (EXP-SKIP-EXT-TYPE), has been assigned from the numbering space for skippable extensions, which may appear in ICMP router discovery messages π§
7.3. New Error Codes π¨
the value 192 (EXP-HA-ERROR-CODE) has been defined by IANA to be used as a code field in messages generated by the HA π
also, the value 127 (EXP-FA-ERROR-CODE) has been defined by IANA to be used as the code field in messages generated by the FA π·
8. Security Considerations π
okay this part is SERIOUS bestie π like all Mobile IP control messages, the experimental messages MUST be authenticated per the requirements specified in [2] or [5] π‘οΈ experimental messages without a valid authenticator SHOULD be discarded ποΈ no authenticator, no entry, no exceptions π
9. Backward Compatibility Considerations π
mobility entities that don't understand the experimental message MUST silently discard it π
mobility entities that don't understand the experimental skippable extensions MUST ignore them β¨ but mobility entities that don't understand the non-skippable experimental extensions MUST silently discard the message containing them π that's the whole point of "non-skippable," iykyk π this behavior is consistent with section 1.8 of [2] π
Foreign Agents and Home Agents SHOULD include an experimental error code in a reply message only if they have a general indication that the receiving entity would be able to parse it π this is indicated if the request message was of type EXP-MSG-TYPE or contained at least one experimental extension π«Ά
10. Acknowledgements π
the authors would like to acknowledge Henrik Levkowetz for his detailed review of the document and for suggesting that experimental extensions be incorporated in this draft π
the authors would also like to acknowledge Thomas Narten for his initial review of the document and for the reference to [6] for general guidelines π
11. References π
11.1. Normative References π
- [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [2] Perkins, C., "IP Mobility Support for IPv4", RFC 3344, August 2002.
- [3] Reynolds, J., "Assigned Numbers: RFC 1700 is Replaced by an On-line Database", RFC 3232, January 2002.
11.2. Informative References π·
- [4] Dommety, G. and K. Leung, "Mobile IP Vendor/Organization-Specific Extensions", RFC 3115, April 2001.
- [5] Perkins, C. and P. Calhoun, "Mobile IPv4 Challenge/Response Extensions", RFC 3012, November 2000.
- [6] Narten, T., "Assigning Experimental and Testing Numbers Considered Useful", BCP 82, RFC 3692, January 2004.
Authors' Addresses π‘
questions and comments about this document should be directed to the Mobile IPv4 working group π¬
mip4@ietf.org
questions and comments about this document may also be directed to the authors β¨
Alpesh Patel Cisco Systems 170 W. Tasman Drive, San Jose, CA 95134 USA
Phone: +1 408-853-9580 EMail: alpesh@cisco.com
Kent Leung Cisco Systems 170 W. Tasman Drive, San Jose, CA 95134 USA
Phone: +1 408-526-5030 EMail: kleung@cisco.com
Full Copyright Statement Β©
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
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 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 π
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
Acknowledgement π
Funding for the RFC Editor function is currently provided by the Internet Society. π
π¦ where this page comes from
- ietf: rfc4064 2005-05
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms