RFC 3025
Mobile IP Vendor/Organization-Specific Extensions
RFC 3025: Mobile IP Vendor/Organization-Specific Extensions π¦
okay bestie, this is RFC 3025 from February 2001. It's a Standards Track doc by G. Dommety and K. Leung at cisco Systems, and it adds two new extensions to Mobile IP so vendors and orgs can put their own stuff in Mobile IP messages. It doesn't obsolete or update anything. β¨
Status of this Memo π
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. For the 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. π
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract πΈ
This doc adds two new extensions to Mobile IP. They make it easier for equipment vendors and organizations to use these extensions however they like, for research or deployment. It's giving customization. π
1. Introduction π§
Mobile IP as specified in [1] doesn't let orgs and vendors put org- or vendor-specific info into Mobile IP messages. Mobile IP is about to get deployed everywhere, so vendor or org-specific extensions are kind of necessary now. This doc defines two extensions that vendors and orgs can use for their own purposes. π
1.1. Specification Language π£οΈ
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [3].
Also, these words show up to signal the requirements of the spec:
- silently discard: The implementation discards the datagram without further processing, and without indicating an error to the sender. The implementation SHOULD provide the capability of logging the error, including the contents of the discarded datagram, and SHOULD record the event in a statistics counter. π
2. Vendor/Organization Specific Extensions π¦
There are two of these: the Critical one (CVSE) and the Normal one (NVSE). The big difference is what happens when a receiver hits one it doesn't recognize. If it's a Critical extension, the whole message containing it MUST be silently discarded. If it's a Normal one, the extension SHOULD be ignored, but the rest of the extensions and message data MUST still be processed. The other difference is size: the CVSE has a two-octet length field, and the NVSE only has a one-octet length field. π
2.1. Critical Vendor/Organization Specific Extension (CVSE) π₯
Here's what the format looks like:
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 | Reserved | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor/Org-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor-CVSE-Type | Vendor-CVSE-Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Critical Vendor/Organization Specific Extension
Here's the breakdown of each field:
Type: CVSE-TYPE-NUMBER is 37. π’Reserved: Reserved for future use. It MUST be set to 0 on sending, and MUST be ignored on reception. π«Length: Length in bytes of this extension, not counting the Type and Length bytes. πVendor/Org-ID: The high-order octet is 0, and the low-order 3 octets are the SMI Network Management Private Enterprise Code of the Vendor, in network byte order, as defined in the Assigned Numbers RFC [2]. π·οΈVendor-CVSE-Type: Says which particular type of Vendor-CVSE-Extension this is. The Vendor handles the administration of the Vendor-CVSE-Types. ποΈVendor-CVSE-Value: The vendor or org's own data for this Vendor-CVSE-Extension. These data fields might get published in future RFCs. The Vendor-CVSE-Value is zero or more octets, and you can work out its length from the Length field value. π
If an implementation doesn't recognize the CVSE, according to RFC 2002 [1], the entire packet is to be silently dropped. π
2.2. Normal Vendor/Organization Specific Extension (NVSE) π
Here's the NVSE format:
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 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor/Org-ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor-NVSE-Type | Vendor-NVSE-Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Normal Vendor/Organization Specific Extension
The fields, bestie:
Type: NVSE-TYPE-NUMBER is 133. π’Length: Length in bytes of this extension, not counting the Type and Length bytes. πReserved: Reserved for future use. To be set to 0. π«Vendor/Org-ID: The high-order octet is 0, and the low-order 3 octets are the SMI Network Management Private Enterprise Code of the Vendor, in network byte order, as defined in the Assigned Numbers RFC [2]. π·οΈVendor-NVSE-Type: Says which particular type of Vendor-NVSE-Extension this is. The Vendor handles the administration of the Vendor-NVSE-Types. ποΈVendor-NVSE-Value: The vendor or org's own data for this Vendor-NVSE-Extension. These data fields might get published in future RFCs. The Vendor-NVSE-Value is zero or more octets, and you can compute its length from the Length Field Value. π
2.3 Vendor/Organization Specific Extensions Processing Considerations π§
This section is the important part, so pay attention. π
When a Mobile IP entity gets a registration request message (or any other request/update message) with an extension of type CVSE-TYPE-NUMBER, and it recognizes that extension, but the extension has an unknown/unsupported vendor ID or Vendor-CVSE-Type, a registration reject (or the appropriate deny message) MUST be sent with the error code, to show that the registration was rejected because of the unknown CVSE. π«
When a Mobile IP entity gets a registration reply (or any other Mobile IP reply/acknowledgement message) with an extension of type CVSE-TYPE-NUMBER, and it recognizes that extension, but the extension has an unknown/unsupported vendor ID or Vendor-CVSE-Type, the processing goes like this:
- If the Mobile IP entity is a transit node for the reply (meaning it processes the registration reply and sends it on to another entity), a registration reject (or the appropriate deny message) MUST be sent with the error code, to show that the registration was rejected because of the unknown CVSE. For example, when an FA gets an unknown CVSE in a registration reply from the HA, it should send a registration reject to the MN. π
- If the Mobile IP entity is not a transit node for the reply, the reply is treated as a reject (or the appropriate deny message) because of the unknown CVSE. π
If you're designing enhancements where a CVSE goes in a reply message, know that the reply message could get discarded by the Mobile IP entity processing it. Enhancements that include a CVSE should take that into consideration during design. π€
When a Mobile IP entity gets a Mobile IP related message (registration request/reply, advertisement/solicitation, etc.) with an extension of type NVSE-TYPE-NUMBER, and it recognizes that extension, but the extension has an unknown/unsupported vendor ID or Vendor-NVSE-Type, the entire extension is skipped. βοΈ
NOTE that according to RFC 2002 [1], when an extension numbered within the range 0 through 127 is encountered in a registration message but not recognized, the message containing that extension MUST be silently discarded. This document is compliant with the above specification, and it specifies what to do if the extension of type CVSE-TYPE-NUMBER is encountered and recognized, but doesn't support the vendor ID or the vendor type inside it. π
2.4 Error Codes π¨
These error codes are defined:
Registration denied by the Foreign agent:
ERROR-FA-1 100: Unsupported Vendor-ID or
unable to interpret Vendor-CVSE-Type in the CVSE sent by the
Mobile Node to the Foreign Agent.
ERROR-FA-2 101: Unsupported Vendor-ID or
unable to interpret Vendor-CVSE-Type in the CVSE sent by the
Home Agent to the Foreign Agent.
Registration denied by the Home agent:
ERROR-HA-1 140: Unsupported Vendor-ID or
unable to interpret Vendor-CVSE-Type in the CVSE sent by the
Mobile Node to the Home Agent.
ERROR-HA-2 141: Unsupported Vendor-ID or
unable to interpret Vendor-CVSE-Type in the CVSE sent by the
Foreign Agent to the Home Agent.
3. Restrictions π§
A message can include multiple TLVs with the types CVSE-TYPE-NUMBER and NVSE-TYPE-NUMBER. TLVs with those types can go anywhere after the fixed portion of the Mobile IP message. These TLVs are expected to be protected by the corresponding authenticator as necessary. The ordering of these TLVs should not be modified by intermediate nodes. π
4. IANA Considerations ποΈ
The Critical Vendor/Organization Specific Extension (CVSE), defined in Section 2.1, and the Normal Vendor/Organization Specific Extension (NVSE), defined in section 2.2, are proposed new extensions to the Mobile IP protocol. Mobile IP is defined in RFC 2002 [1] and extended in RFC 2356 [5].
IANA has assigned a Type value of CVSE-TYPE-NUMBER for the Critical Vendor/Organization Specific Extension (CVSE), and a Type value of NVSE-TYPE-NUMBER for the Normal Vendor/Organization Specific Extension (NVSE). The numbers CVSE-TYPE-NUMBER and NVSE-TYPE-NUMBER for the CVSE and the NVSE come from the numbering space defined for Mobile IP registration extensions [1]. π’
IANA has assigned new Foreign Agent Error Codes, ERROR-FA-1 and ERROR-FA-2, taken from the numbering space defined for Mobile IP Foreign Agent error codes [1]. IANA has also assigned new Home Agent Error Codes, ERROR-HA-1 and ERROR-HA-2, taken from the numbering space defined for Mobile IP Home Agent error codes [1]. π
5. Security Considerations π
This document assumes that Mobile IP messages are authenticated using a method defined by the Mobile IP protocol. This document doesn't impose any additional requirements on Mobile IP messages from a security point of view. So this is not expected to be a security issue. π‘οΈ
6. Acknowledgments π«Ά
okay bestie, the authors wanna give a shoutout to TR45.4 WG, TR45.6 WG, Basavaraj Patil, Phil Roberts, Jouni Malinen, and Patrice Calhoun for their useful discussions π the people who help you think it through are literally part of the story β¨
7. References π
- [1] Perkins, C., "IP Mobility Support", RFC 2002, October 1996.
- [2] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994.
- [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [4] Montenegro, G., "Reverse Tunneling for Mobile IP", RFC 2344, May 1998.
- [5] Montenegro, G. and V. Gupta, "Sun's SKIP Firewall Traversal for Mobile IP", RFC 2356, June 1998.
8. Authors' Addresses π
Here's where you can find the authors, bestie π
Gopal Dommety
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134
EMail: gdommety@cisco.com
Kent Leung
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134
EMail: kleung@cisco.com
9. Full Copyright Statement π
Copyright (C) The Internet Society (2001). All Rights Reserved. π
okay so this document, and translations of it, can be copied and handed out to other people. You can also make derivative works that comment on or explain it, or help people implement it, and publish and distribute those too, in whole or in part, with no restrictions of any kind. The one condition is that the copyright notice and this paragraph have to be included on every copy and every derivative work π
The document itself can't be modified in any way, though. You can't remove the copyright notice or the references to the Internet Society or other Internet organizations. There are two exceptions: you can change it as needed for developing Internet standards, in which case the Internet Standards process copyright procedures must be followed, or you can change it to translate it into languages other than English π¦
The limited permissions above are perpetual, and the Internet Society or its successors or assigns won't revoke them β¨
This document and the information in it are provided on an "AS IS" basis. THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. π
Acknowledgement πΈ
Funding for the RFC Editor function is currently provided by the Internet Society. π
π¦ where this page comes from
- ietf: rfc3025 2001-02
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms