Experimental Message, Extensions, and Error Codes for Mobile IPv4
Extracted elements (21)
Non-skippable extensions use a 16-bit Length field (long format) to permit data exceeding 256 bytes, while skippable extensions use an 8-bit Length field (short format) limiting data to less than 256 bytes, consistent with the existing Mobile IPv4 extension architecture.
The experimental message payload is defined as opaque so that the nature and purpose of experiments need not be constrained in advance; interpreting the message based on extensions present within it is suggested as a flexible mechanism.
Without a reserved experimental message type, implementers would have to select type values from the IANA-assignment range, risking collisions with other experimental or standardized messages. Reserving dedicated experimental values (per BCP 82, RFC 3692) avoids this.
Backward compatibility is maintained by requiring silent discard of unrecognized experimental messages, ignore behavior for unrecognized skippable extensions, and silent discard of messages containing unrecognized non-skippable extensions, consistent with RFC 3344 section 1.8.
Experimental extensions MUST NOT be used in deployed products when carried in standards-defined messages; usage must be restricted to experiments only.
Experimental messages MUST be authenticated using any of the authentication mechanisms defined for Mobile IP (RFC 3344 or RFC 3012).
Experimental messages without a valid authenticator SHOULD be discarded.
Foreign Agents and Home Agents SHOULD include an experimental error code in a reply message only if they have a general indication the receiving entity can parse it, such as when the request was of type EXP-MSG-TYPE or contained at least one experimental extension.
Mobility entities that do not understand non-skippable experimental extensions MUST silently discard the message containing them; those that do not understand skippable experimental extensions MUST ignore them.
Mobility entities that do not understand the experimental message type MUST silently discard it.
The experimental message (EXP-MSG-TYPE) is a Mobile IPv4 control message with type 255, sent over UDP port 434, consisting of a 1-byte Type field followed by an opaque payload of zero or more octets whose structure is defined by the specific experiment.
Two experimental error codes are reserved: EXP-FA-ERROR-CODE (127) for use by the Foreign Agent in registration reply messages, and EXP-HA-ERROR-CODE (192) for use by the Home Agent in registration reply messages.
IANA assigned error code 192 (EXP-HA-ERROR-CODE) for use by the Home Agent and error code 127 (EXP-FA-ERROR-CODE) for use by the Foreign Agent in Mobile IPv4 reply messages.
IANA assigned extension number 127 (EXP-NONSKIP-EXT-TYPE) for non-skippable experimental extensions in both Mobile IPv4 control messages and ICMP router discovery messages, and extension number 255 (EXP-SKIP-EXT-TYPE) for skippable experimental extensions in both message types.
IANA assigned Mobile IPv4 message type 255 (EXP-MSG-TYPE) for experimental use, taken from the same number space as Registration Request (1) and Registration Reply (3).
All experimental Mobile IP control messages MUST be authenticated per RFC 3344 or RFC 3012 requirements; messages lacking a valid authenticator SHOULD be discarded to prevent unauthorized use of the experimental number space.
The experimental message wire format carries a 1-byte Type field (value 255) followed by a variable-length Opaque field, transmitted over UDP port 434.
The non-skippable ICMP router discovery experimental extension (EXP-NONSKIP-EXT-TYPE = 127) uses a 1-byte Type, 1-byte Length, and variable-length Opaque field; a node that does not recognize it should ignore it, but a mobility entity that understands the extension type but not the content must drop the router advertisement.
The non-skippable Mobile IPv4 experimental extension (EXP-NONSKIP-EXT-TYPE = 127) uses a long extension format with a 1-byte Type, 1-byte Sub-Type, 2-byte Length (allowing data exceeding 256 bytes), and a variable-length Opaque field.
The skippable ICMP router discovery experimental extension (EXP-SKIP-EXT-TYPE = 255) uses a 1-byte Type, 1-byte Length, and variable-length Opaque field; implementations that do not understand it must ignore it.
The skippable Mobile IPv4 experimental extension (EXP-SKIP-EXT-TYPE = 255) uses a short extension format with a 1-byte Type, 1-byte Length (limiting data to less than 256 bytes), 1-byte Sub-Type, and variable-length Opaque field.