RFC 4884:Extended ICMP to Support Multi-Part Messa...
RFC-Ref

ICMP message


Click on the red underlined text to get to the source

... ICMP operation. Protocol designers can make an ICMP message carry additional information by encoding that information in the extension ...
... addresses a fundamental problem in ICMP extensibility. All of the ICMP messages addressed by this memo include an "original datagram" field. The "original datagram ...
... ICMP error message. Although the "original datagram" field is of variable length, the ICMP message does not include a field that specifies its length. ...
... Application software infers the length of the "original datagram" field from the total length of the ICMP message. If an extension structure were appended to the message without adding a length attribute for the "original datagram ...
... extension structure begins. Therefore, this document proposes a length attribute as well as an extension structure that is appended to the ICMP message. The current memo also addresses ...


... When the ICMP Extension Structure is appended to an ICMP message and that ICMP message contains an "original datagram ...
... ICMP Extension Structure is appended to an ICMP message and that ICMP message contains an "original datagram" field, the "original datagram ...
... 64-bit boundary. ICMP messages defined in the future SHOULD indicate whether or not they support the extension mechanism defined in this specification. It is recommended that all new messages support ...


... Echo Request/Reply Many ICMP messages are extensible as currently defined. Protocol designers can extend ICMP messages by simply appending fields or data structures ...
... Many ICMP messages are extensible as currently defined. Protocol designers can extend ICMP messages by simply appending fields or data structures to them. ...
... data structures to them. However, the following ICMP messages are not extensible as currently defined: ...
... original datagram" field which represents the leading octets of the datagram to which the ICMP message is a response. RFC 792std5 defines the "original datagram ...
... RFC1812] extends the "original datagram" field to contain as many octets as possible without causing the ICMP message to exceed the minimum IPv4 reassembly buffer size ...
... 4443draft, the "original datagram" field always contained as many octets as possible without causing the ICMP message to exceed the minimum IPv6 MTU (i.e., 1280 octets ...
... original datagram" field lacks a length attribute. Application software infers the length of this field from the total length of the ICMP message. If an extension structure were appended to the message without adding a length attribute for the "original datagram ...
... The length attribute MUST be specified when the ICMP Extension Structure is appended to the above mentioned ICMP messages. The length attribute represents the length of the "original datagram ...
... In order to achieve backwards compatibility, when the ICMP Extension Structure is appended to an ICMP message and that ICMP message contains an "original datagram ...
... backwards compatibility, when the ICMP Extension Structure is appended to an ICMP message and that ICMP message contains an "original datagram" field, the "original datagram ...
... The following sub-sections depict length attribute as it has been introduced to selected ICMP messages. ...
... ICMP Messages That Can Be Extended ...
... The ICMP Extension Structure MUST NOT be appended to any of the other ICMP messages mentioned in Section 4. Extensions were not defined for the ICMPv6 "Packet Too Big ...


... ICMP messages can be categorized as follows: - Messages that do not include any ICMP extensions ...
... ICMP extensions that are compliant with this specification. Likewise, applications that consume ICMP messages can be categorized as follows: ...
... backwards compatibility, Table 1 describes how members of each application category would parse each category of ICMP message. +----------------+----------------+----------------+----------------+ ...
... In the table above, cells that contain a dash represent the nominal case and require no explanation. In the following sections, we assume that the ICMP message type is "Time Exceeded". ...
... Classic Application Receives ICMP Message with Extensions ...
... When a classic application receives an ICMP message that includes extensions, it will incorrectly interpret those extensions as being part of the "original datagram ...
... Some TCP stacks, when they receive an ICMP message, verify the checksum in the original datagram ...
... checksum is incorrect, the TCP stack discards the ICMP message for security reasons. If the trailing octets of the original datagram ...
... overwritten by ICMP extensions, the TCP stack will discard an ICMP message that it would not otherwise have discarded. The impact of this issue is considered to be minimal because many ICMP messages are ...
... TCP stack will discard an ICMP message that it would not otherwise have discarded. The impact of this issue is considered to be minimal because many ICMP messages are discarded for other reasons (e.g., ICMP filtering ...
... Non-Compliant Application Receives ICMP Message with No Extensions ...
... Non-Compliant Application Receives ICMP Message with Compliant ...
... field. (They assume its value to be 128.) Provided that the entire ICMP message does not exceed the minimum reassembly buffer size (576 octets for ICMPv4 ...
... Compliant Application Receives ICMP Message with No Extensions ...
... When a compliant application receives an ICMP message, it examines the length attribute that is associated with the "original datagram" ...
... Compliant Application Receives ICMP Message with Non-Compliant ...
... When a compliant application receives an ICMP message, it examines the length attribute that is associated with the "original datagram" ...
... case, that determination is technically correct, but not backwards compatible with the non-compliant implementation that originated the ICMP message. So, to ease transition yet encourage compliant implementation, ...
... Specifically, when a TRACEROUTE application operating in non- compliant mode receives a sufficiently long ICMP message that does not specify a length attribute, it will parse for a valid extension header ...


... RFC3022] permits traditional NAT devices to modify selected fields within ICMP messages. These fields include the "original datagram" field mentioned above. However, if a ...


... This memo proposes an optional ICMP Extension Structure that can be appended to the ICMP messages referenced in Section 4.6 of this document. ...
... The Extension Structure contains exactly one Extension Header followed by one or more objects. Having received an ICMP message with extensions, application software MAY process selected objects while ignoring others. The presence of an unrecognized object does ...
... with extensions, application software MAY process selected objects while ignoring others. The presence of an unrecognized object does not imply that an ICMP message is malformed. As stated above, the total length of the ICMP message ...
... ICMP message is malformed. As stated above, the total length of the ICMP message, including extensions, MUST NOT exceed the minimum reassembly buffer size. ...


... Upon receipt of an ICMP message, application software must check it for syntactic correctness. The extension checksum must be verified. ...
... This memo does not define the conditions under which a router sends an ICMP message. Therefore, it does not expose routers to any new denial-of-service attacks ...
... denial-of-service attacks. Routers may need to limit the rate at which ICMP messages are sent. ...



Google
Web
RFC-Ref