draft-ietf-ipngwg-icmp-v3-03.txt | draft-ietf-ipngwg-icmp-v3-04.txt | |||
---|---|---|---|---|
Internet Draft A. Conta, Transwitch | Internet Draft A. Conta, Transwitch | |||
IPv6 Working Group S. Deering, Cisco Systems | IPv6 Working Group S. Deering, Cisco Systems | |||
February 15, 2004 | 1 June 2004 | |||
Internet Control Message Protocol (ICMPv6) | Internet Control Message Protocol (ICMPv6) | |||
for the Internet Protocol Version 6 (IPv6) | for the Internet Protocol Version 6 (IPv6) | |||
Specification | Specification | |||
<draft-ietf-ipngwg-icmp-v3-03.txt> | <draft-ietf-ipngwg-icmp-v3-04.txt> | |||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | By submitting this Internet-Draft, I certify that any applicable | |||
all provisions of Section 10 of RFC2026. | patent or other IPR claims of which I am aware have been disclosed, | |||
and any of which I become aware will be disclosed, in accordance with | ||||
RFC 3668. | ||||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet- Drafts as reference | time. It is inappropriate to use Internet- Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This internet draft will expire on August 20, 2004. | This internet draft will expire on December 4, 2004. | |||
Abstract | Abstract | |||
This document describes the format of a set of control messages used | This document describes the format of a set of control messages used | |||
in ICMPv6 (Internet Control Message Protocol). ICMPv6 is the | in ICMPv6 (Internet Control Message Protocol). ICMPv6 is the | |||
Internet Control Message Protocol for Internet Protocol version 6 | Internet Control Message Protocol for Internet Protocol version 6 | |||
(IPv6). | (IPv6). | |||
Table of Contents | Table of Contents | |||
1. Introduction........................................3 | 1. Introduction.....................................................3 | |||
2. ICMPv6 (ICMP for IPv6)..............................3 | 2. ICMPv6 (ICMP for IPv6)...........................................3 | |||
2.1 Message General Format.......................3 | 2.1 Message General Format....................................3 | |||
2.2 Message Source Address Determination.........5 | 2.2 Message Source Address Determination......................5 | |||
2.3 Message Checksum Calculation.................6 | 2.3 Message Checksum Calculation..............................6 | |||
2.4 Message Processing Rules.....................6 | 2.4 Message Processing Rules..................................6 | |||
3. ICMPv6 Error Messages...............................9 | 3. ICMPv6 Error Messages............................................9 | |||
3.1 Destination Unreachable Message..............9 | 3.1 Destination Unreachable Message...........................9 | |||
3.2 Packet Too Big Message......................11 | 3.2 Packet Too Big Message...................................12 | |||
3.3 Time Exceeded Message.......................12 | 3.3 Time Exceeded Message....................................13 | |||
3.4 Parameter Problem Message...................14 | 3.4 Parameter Problem Message................................15 | |||
4. ICMPv6 Informational Messages......................16 | 4. ICMPv6 Informational Messages...................................17 | |||
4.1 Echo Request Message........................16 | 4.1 Echo Request Message.....................................17 | |||
4.2 Echo Reply Message..........................17 | 4.2 Echo Reply Message.......................................18 | |||
5. Security Considerations............................19 | 5. Security Considerations.........................................20 | |||
6. IANA Considerations................................21 | 5.1 Authentication and Confidentiality of ICMP messages......20 | |||
7. References.........................................21 | 5.2 ICMP Attacks.............................................20 | |||
7.1 Normative...................................21 | 6. IANA Considerations.............................................21 | |||
7.2 Informative.................................22 | 6.1 Procedure for new ICMPV6 Type and Code value assignments.22 | |||
8. Acknowledgments....................................22 | 6.2 Assignments for this document............................22 | |||
9. Authors' Addresses.................................22 | 7. References......................................................23 | |||
Appendix A - Changes since RFC 2463...................22 | 7.1 Normative................................................23 | |||
7.2 Informative..............................................24 | ||||
8. Acknowledgments.................................................24 | ||||
9. Authors' Addresses..............................................24 | ||||
Appendix A - Changes since RFC 2463................................24 | ||||
1. Introduction | 1. Introduction | |||
The Internet Protocol, version 6 (IPv6) is a new version of IP. IPv6 | The Internet Protocol, version 6 (IPv6) is a new version of IP. IPv6 | |||
uses the Internet Control Message Protocol (ICMP) as defined for IPv4 | uses the Internet Control Message Protocol (ICMP) as defined for IPv4 | |||
[RFC-792], with a number of changes. The resulting protocol is | [RFC-792], with a number of changes. The resulting protocol is | |||
called ICMPv6, and has an IPv6 Next Header value of 58. | called ICMPv6, and has an IPv6 Next Header value of 58. | |||
This document describes the format of a set of control messages used | This document describes the format of a set of control messages used | |||
in ICMPv6. It does not describe the procedures for using these | in ICMPv6. It does not describe the procedures for using these | |||
skipping to change at page 4, line 12 | skipping to change at page 4, line 12 | |||
This document defines the message formats for the following ICMPv6 | This document defines the message formats for the following ICMPv6 | |||
messages: | messages: | |||
ICMPv6 error messages: | ICMPv6 error messages: | |||
1 Destination Unreachable (see section 3.1) | 1 Destination Unreachable (see section 3.1) | |||
2 Packet Too Big (see section 3.2) | 2 Packet Too Big (see section 3.2) | |||
3 Time Exceeded (see section 3.3) | 3 Time Exceeded (see section 3.3) | |||
4 Parameter Problem (see section 3.4) | 4 Parameter Problem (see section 3.4) | |||
100 Private experimentation | ||||
101 Private experimentation | ||||
ICMPv6 informational messages: | ICMPv6 informational messages: | |||
128 Echo Request (see section 4.1) | 128 Echo Request (see section 4.1) | |||
129 Echo Reply (see section 4.2) | 129 Echo Reply (see section 4.2) | |||
200 Private experimentation | ||||
201 Private experimentation | ||||
255 Reserved for expansion | ||||
Type values 100, 101, 200, and 201 are reserved for private | ||||
experimentation. These are not intended for general use. It is | ||||
expected that multiple concurrent experiments will be done with the | ||||
same type values. Any wide scale and/or uncontrolled usage should | ||||
obtain real allocations as defined in section 6. | ||||
Type value 255 is reserved for future expansion of the type value | ||||
range if there should be a shortage in the future. The details of | ||||
this are left for future work. One possible way of doing this that | ||||
would not cause any problems with current implementations is if the | ||||
type equals 255, use the code field for the new assignment. Existing | ||||
implementations would ignore the new assignments as specified in | ||||
section 2.4, section (b). The new messages using these expanded type | ||||
values, could assign fields in the message body for it's code values. | ||||
Every ICMPv6 message is preceded by an IPv6 header and zero or more | Every ICMPv6 message is preceded by an IPv6 header and zero or more | |||
IPv6 extension headers. The ICMPv6 header is identified by a Next | IPv6 extension headers. The ICMPv6 header is identified by a Next | |||
Header value of 58 in the immediately preceding header. (NOTE: this | Header value of 58 in the immediately preceding header. (NOTE: this | |||
is different than the value used to identify ICMP for IPv4.) | is different than the value used to identify ICMP for IPv4.) | |||
The ICMPv6 messages have the following general format: | The ICMPv6 messages have the following general format: | |||
0 1 2 3 | 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 | 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 | Code | Checksum | | | Type | Code | Checksum | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+ Message Body + | + Message Body + | |||
| | | | | | |||
skipping to change at page 5, line 20 | skipping to change at page 5, line 43 | |||
| type-specific data (32 bits) | | | type-specific data (32 bits) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| As much of invoking packet | | | As much of invoking packet | | |||
+ as will fit without the ICMPv6 packet + | + as will fit without the ICMPv6 packet + | |||
| exceeding the minimum IPv6 MTU [IPv6] | | | exceeding the minimum IPv6 MTU [IPv6] | | |||
2.2 Message Source Address Determination | 2.2 Message Source Address Determination | |||
A node that sends an ICMPv6 message has to determine both the Source | A node that sends an ICMPv6 message has to determine both the Source | |||
and Destination IPv6 Addresses in the IPv6 header before calculating | and Destination IPv6 Addresses in the IPv6 header before calculating | |||
the checksum. If the node has more than one unicast address, it must | the checksum. If the node has more than one unicast address, it MUST | |||
choose the Source Address of the message as follows: | choose the Source Address of the message as follows: | |||
(a) If the message is a response to a message sent to one of the | (a) If the message is a response to a message sent to one of the | |||
node's unicast addresses, the Source Address of the reply must | node's unicast addresses, the Source Address of the reply MUST | |||
be that same address. | be that same address. | |||
(b) If the message is a response to a message sent to a multicast or | (b) If the message is a response to a message sent to a multicast or | |||
anycast group in which the node is a member, the Source Address | anycast group in which the node is a member, the Source Address | |||
of the reply must be a unicast address belonging to the | of the reply MUST be a unicast address belonging to the | |||
interface on which the multicast or anycast packet was received. | interface on which the multicast or anycast packet was received. | |||
(c) If the message is a response to a message sent to an address | (c) If the message is a response to a message sent to an address | |||
that does not belong to the node, the Source Address should be | that does not belong to the node, the Source Address SHOULD be | |||
that unicast address belonging to the node that will be most | that unicast address belonging to the node that will be most | |||
helpful in diagnosing the error. For example, if the message is | helpful in diagnosing the error. For example, if the message is | |||
a response to a packet forwarding action that cannot complete | a response to a packet forwarding action that cannot complete | |||
successfully, the Source Address should be a unicast address | successfully, the Source Address SHOULD be a unicast address | |||
belonging to the interface on which the packet forwarding | belonging to the interface on which the packet forwarding | |||
failed. | failed. | |||
(d) Otherwise, the node's routing table must be examined to | (d) Otherwise, the node's routing table must be examined to | |||
determine which interface will be used to transmit the message | determine which interface will be used to transmit the message | |||
to its destination, and a unicast address belonging to that | to its destination, and a unicast address belonging to that | |||
interface must be used as the Source Address of the message. | interface MUST be used as the Source Address of the message. | |||
2.3 Message Checksum Calculation | 2.3 Message Checksum Calculation | |||
The checksum is the 16-bit one's complement of the one's complement | The checksum is the 16-bit one's complement of the one's complement | |||
sum of the entire ICMPv6 message starting with the ICMPv6 message | sum of the entire ICMPv6 message starting with the ICMPv6 message | |||
type field, prepended with a "pseudo-header" of IPv6 header fields, | type field, prepended with a "pseudo-header" of IPv6 header fields, | |||
as specified in [IPv6, section 8.1]. The Next Header value used in | as specified in [IPv6, section 8.1]. The Next Header value used in | |||
the pseudo-header is 58. (NOTE: the inclusion of a pseudo-header in | the pseudo-header is 58. (NOTE: the inclusion of a pseudo-header in | |||
the ICMPv6 checksum is a change from IPv4; see [IPv6] for the | the ICMPv6 checksum is a change from IPv4; see [IPv6] for the | |||
rationale for this change.) | rationale for this change.) | |||
skipping to change at page 6, line 28 | skipping to change at page 6, line 47 | |||
Implementations MUST observe the following rules when processing | Implementations MUST observe the following rules when processing | |||
ICMPv6 messages (from [RFC-1122]): | ICMPv6 messages (from [RFC-1122]): | |||
(a) If an ICMPv6 error message of unknown type is received, it MUST | (a) If an ICMPv6 error message of unknown type is received, it MUST | |||
be passed to the upper layer. | be passed to the upper layer. | |||
(b) If an ICMPv6 informational message of unknown type is received, | (b) If an ICMPv6 informational message of unknown type is received, | |||
it MUST be silently discarded. | it MUST be silently discarded. | |||
(c) Every ICMPv6 error message (type < 128) includes as much of the | (c) Every ICMPv6 error message (type < 128) MUST include as much of | |||
IPv6 offending (invoking) packet (the packet that caused the | the IPv6 offending (invoking) packet (the packet that caused the | |||
error) as will fit without making the error message packet | error) as will fit without making the error message packet | |||
exceed the minimum IPv6 MTU [IPv6]. | exceed the minimum IPv6 MTU [IPv6]. | |||
(d) In those cases where the internet-layer protocol is required to | (d) In those cases where the internet-layer protocol is required to | |||
pass an ICMPv6 error message to the upper-layer process, the | pass an ICMPv6 error message to the upper-layer process, the | |||
upper-layer protocol type is extracted from the original packet | upper-layer protocol type is extracted from the original packet | |||
(contained in the body of the ICMPv6 error message) and used to | (contained in the body of the ICMPv6 error message) and used to | |||
select the appropriate upper-layer process to handle the error. | select the appropriate upper-layer process to handle the error. | |||
If the original packet had an unusually large amount of | If the original packet had an unusually large amount of | |||
skipping to change at page 7, line 32 | skipping to change at page 7, line 45 | |||
(e.5) a packet sent as a link-layer broadcast, (the exception | (e.5) a packet sent as a link-layer broadcast, (the exception | |||
from e.3 applies to this case too), or | from e.3 applies to this case too), or | |||
(e.6) a packet whose source address does not uniquely identify | (e.6) a packet whose source address does not uniquely identify | |||
a single node -- e.g., the IPv6 Unspecified Address, an | a single node -- e.g., the IPv6 Unspecified Address, an | |||
IPv6 multicast address, or an address known by the ICMP | IPv6 multicast address, or an address known by the ICMP | |||
message sender to be an IPv6 anycast address. | message sender to be an IPv6 anycast address. | |||
(f) Finally, in order to limit the bandwidth and forwarding costs | (f) Finally, in order to limit the bandwidth and forwarding costs | |||
incurred sending ICMPv6 error messages, an IPv6 node MUST limit | incurred by sending ICMPv6 error messages, an IPv6 node MUST | |||
the rate of ICMPv6 error messages it sends. This situation may | limit the rate of ICMPv6 error messages it sends. This | |||
occur when a source sending a stream of erroneous packets fails | situation may occur when a source sending a stream of erroneous | |||
to heed the resulting ICMPv6 error messages. | packets fails to heed the resulting ICMPv6 error messages. | |||
A recommended method for implementing the rate-limiting function | A recommended method for implementing the rate-limiting function | |||
is a token bucket, limiting the average rate of transmission to | is a token bucket, limiting the average rate of transmission to | |||
N, where N can either be packets/second or a fraction of the | N, where N can either be packets/second or a fraction of the | |||
attached link's bandwidth, but allowing up to B error messages | attached link's bandwidth, but allowing up to B error messages | |||
to be transmitted in a burst, as long as the long-term average | to be transmitted in a burst, as long as the long-term average | |||
is not exceeded. | is not exceeded. | |||
Rate-limiting mechanisms which cannot cope with bursty traffic | Rate-limiting mechanisms which cannot cope with bursty traffic | |||
(e.g., traceroute) are not recommended; for example a simple | (e.g., traceroute) are not recommended; for example a simple | |||
skipping to change at page 10, line 19 | skipping to change at page 10, line 19 | |||
If the reason for the failure to deliver is that the destination is | If the reason for the failure to deliver is that the destination is | |||
beyond the scope of the source address, the Code field is set to 2. | beyond the scope of the source address, the Code field is set to 2. | |||
This condition can occur only when the scope of the source address is | This condition can occur only when the scope of the source address is | |||
smaller than the scope of the destination address (e.g., when a | smaller than the scope of the destination address (e.g., when a | |||
packet has a link-local source address and a global-scope destination | packet has a link-local source address and a global-scope destination | |||
address) and the packet cannot be delivered to the destination | address) and the packet cannot be delivered to the destination | |||
without leaving the scope of the source address. | without leaving the scope of the source address. | |||
If the reason for the failure to deliver can not be mapped to any of | If the reason for the failure to deliver can not be mapped to any of | |||
the specific codes listed above, the Code field is set to 3. The | other codes, the Code field is set to 3. The example of such cases | |||
example of such cases are inability to resolve the IPv6 destination | are inability to resolve the IPv6 destination address into a | |||
address into a corresponding link address, or a link-specific problem | corresponding link address, or a link-specific problem of some sort. | |||
of some sort. | ||||
One specific case in which a Destination Unreachable message with a | One specific case in which a Destination Unreachable message with a | |||
code 3 is sent is in response to a packet received by a router from a | code 3 is sent is in response to a packet received by a router from a | |||
point-to-point link, destined to an address within a subnet assigned | point-to-point link, destined to an address within a subnet assigned | |||
to that same link (other than one of the receiving router's own | to that same link (other than one of the receiving router's own | |||
addresses). In such a case, the packet MUST NOT be forwarded back | addresses). In such a case, the packet MUST NOT be forwarded back | |||
onto the arrival link. | onto the arrival link. | |||
A destination node SHOULD send a Destination Unreachable message with | A destination node SHOULD send a Destination Unreachable message with | |||
Code 4 in response to a packet for which the transport protocol | Code 4 in response to a packet for which the transport protocol | |||
skipping to change at page 10, line 45 | skipping to change at page 10, line 44 | |||
If the reason for the failure to deliver is that packet with this | If the reason for the failure to deliver is that packet with this | |||
source address is not allowed due to ingress or egress filtering | source address is not allowed due to ingress or egress filtering | |||
policies, the Code field is set to 5. | policies, the Code field is set to 5. | |||
If the reason for the failure to deliver is that the route to the | If the reason for the failure to deliver is that the route to the | |||
destination is a reject route, the Code field is set to 6. This may | destination is a reject route, the Code field is set to 6. This may | |||
occur if the router has been configured to reject all the traffic for | occur if the router has been configured to reject all the traffic for | |||
a specific prefix. | a specific prefix. | |||
Codes 5 and 6 are more informative subsets of code 1. | ||||
Upper layer notification | Upper layer notification | |||
A node receiving the ICMPv6 Destination Unreachable message MUST | A node receiving the ICMPv6 Destination Unreachable message MUST | |||
notify the upper-layer process. | notify the upper-layer process. | |||
3.2 Packet Too Big Message | 3.2 Packet Too Big Message | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 19, line 26 | skipping to change at page 19, line 26 | |||
Header or IP Encapsulating Security Payload Header exists for the | Header or IP Encapsulating Security Payload Header exists for the | |||
destination address. The security associations may have been created | destination address. The security associations may have been created | |||
through manual configuration or through the operation of some key | through manual configuration or through the operation of some key | |||
management protocol. | management protocol. | |||
Received ICMP packets that have Authentication Header or | Received ICMP packets that have Authentication Header or | |||
Encapsulating Security Payload Header must be processed as specified | Encapsulating Security Payload Header must be processed as specified | |||
in [IPv6-AUTH] and [IPv6-ESP]. The ICMP packets that fail the | in [IPv6-AUTH] and [IPv6-ESP]. The ICMP packets that fail the | |||
security processing MUST be ignored and discarded. | security processing MUST be ignored and discarded. | |||
It SHOULD be possible for the system administrator to configure a | The system administrator MAY be allowed to configure a node to ignore | |||
node to ignore any ICMP messages that are not authenticated using | any ICMP messages that are not authenticated using either the | |||
either the Authentication Header or Encapsulating Security Payload. | Authentication Header or Encapsulating Security Payload. If | |||
Such a switch SHOULD default to allowing unauthenticated messages. | provided, such a switch SHOULD default to allowing unauthenticated | |||
messages. Note that setting up Security Associations to deal with | ||||
all the required ICMP packets is a very difficult task (e.g., | ||||
consider the Path MTU Discovery packets). So Path MTU Discovery (and | ||||
possibly some others) may not work if the node only allows | ||||
authenticated ICMP packets. | ||||
5.2 ICMP Attacks | 5.2 ICMP Attacks | |||
ICMP messages may be subject to various attacks. A complete | ICMP messages may be subject to various attacks. A complete | |||
discussion can be found in the IP Security Architecture [IPv6-SA]. A | discussion can be found in the IP Security Architecture [IPv6-SA]. A | |||
brief discussion of such attacks and their prevention is as follows: | brief discussion of such attacks and their prevention is as follows: | |||
1. ICMP messages may be subject to actions intended to cause the | 1. ICMP messages may be subject to actions intended to cause the | |||
receiver to believe the message came from a different source than | receiver to believe the message came from a different source than | |||
the message originator. The protection against this attack can be | the message originator. The protection against this attack can be | |||
skipping to change at page 21, line 7 | skipping to change at page 21, line 7 | |||
multicast routers does require the malicious node to be part of | multicast routers does require the malicious node to be part of | |||
the correct multicast path i.e. near to the multicast source. | the correct multicast path i.e. near to the multicast source. | |||
This attack can only be avoided by securing the multicast traffic. | This attack can only be avoided by securing the multicast traffic. | |||
The multicast source should be careful while sending multicast | The multicast source should be careful while sending multicast | |||
traffic with the destination options marked as mandatory because | traffic with the destination options marked as mandatory because | |||
they can cause a denial of service attack to themselves if the | they can cause a denial of service attack to themselves if the | |||
destination option is unknown to a large number of destinations. | destination option is unknown to a large number of destinations. | |||
6. IANA Considerations | 6. IANA Considerations | |||
IANA considerations for the values of ICMPv6 type and code are given | 6.1 Procedure for new ICMPV6 Type and Code value assignments | |||
in [RFC-2780]. | ||||
ICMPv6 type 1 "Destination Unreachable" code 2 that was unassigned in | The IPv6 ICMP header [ICMPV6] contains the following fields that | |||
[RFC-2463], has been assigned to "beyond scope of source address" | carry values assigned from IANA-managed name spaces: Type and Code. | |||
message. | Code field values are defined relative to a specific Type value. | |||
IANA is requested to assign the following two new codes for ICMPv6 | Values for the IPv6 ICMP Type fields are allocated using the | |||
type 1 "Destination Unreachable". | following procedure: | |||
1. The IANA should allocate and permanently register new ICMPv6 type | ||||
codes from IETF RFC publication. This is for all RFC types | ||||
including standards track, informational, experimental status, | ||||
etc. | ||||
2. IETF working groups with working group consensus and area director | ||||
approval can request reclaimable ICMPV6 type code assignments from | ||||
the IANA. The IANA will tag the values as "reclaimable in | ||||
future". | ||||
The "reclaimable in the future" tag will be removed when an is | ||||
published documenting the protocol as defined in 1). This will | ||||
make the assignment permanent. | ||||
At the point where the type values are 85% assigned, the IANA will | ||||
request that the IETF review the assignments tagged "reclaimable | ||||
in the future" and make a recommendation to the IANA which ones | ||||
can be reclaimed and reassigned. | ||||
3. Requests for type value assignments from outside of the IETF | ||||
should be sent to the IETF for review. The general guideline for | ||||
this review is that the assignment should be made if there is | ||||
public and open documentation of the protocol and if the | ||||
assignment is not being used to circumvent an existing IETF | ||||
protocol or work in progress. | ||||
The policy for assigning Code values for new IPv6 ICMP Types should | ||||
be defined in the document defining the new Type values. | ||||
6.2 Assignments for this document | ||||
The following should update the assignments located at: | ||||
http://www.iana.org/assignments/icmpv6-parameters | ||||
The IANA is requested to reassign ICMPv6 type 1 "Destination | ||||
Unreachable" code 2, that was unassigned in [RFC-2463], to: | ||||
2 - beyond scope of source address | ||||
The IANA is requested to assign the following two new codes values | ||||
for ICMPv6 type 1 "Destination Unreachable": | ||||
5 - source address failed ingress/egress policy | 5 - source address failed ingress/egress policy | |||
6 - reject route to destination | 6 - reject route to destination | |||
The IANA is requested to assign the following new type values: | ||||
100 Private experimentation | ||||
101 Private experimentation | ||||
200 Private experimentation | ||||
201 Private experimentation | ||||
255 Reserved for expansion | ||||
7. References | 7. References | |||
7.1 Normative | 7.1 Normative | |||
[IPv6] Deering, S., R. Hinden, "Internet Protocol, Version 6, | [IPv6] Deering, S., R. Hinden, "Internet Protocol, Version 6, | |||
Specification", RFC2460, December 1998. | Specification", RFC2460, December 1998. | |||
[IPv6-ADDR] Hinden, R., S. Deering, "IP Version 6 Addressing | ||||
Architecture", RFC2373, July 1998. | ||||
[IPv6-DISC] Narten, T., E. Nordmark, W. Simpson, "Neighbor Discovery | [IPv6-DISC] Narten, T., E. Nordmark, W. Simpson, "Neighbor Discovery | |||
for IP Version 6 (IPv6)", RFC2461, December, 1998. | for IP Version 6 (IPv6)", RFC2461, December, 1998. | |||
[RFC-792] Postel, J., "Internet Control Message Protocol", STD 5, | [RFC-792] Postel, J., "Internet Control Message Protocol", STD 5, | |||
RFC792, September 1981. | RFC792, September 1981. | |||
[RFC-2463] Conta, A., S. Deering, "Internet Control Message | [RFC-2463] Conta, A., S. Deering, "Internet Control Message | |||
Protocol (ICMPv6) for the Internet Protocol Version 6 | Protocol (ICMPv6) for the Internet Protocol Version 6 | |||
(IPv6) Specification", RFC2463, December, 1998. | (IPv6) Specification", RFC2463, December, 1998. | |||
[RFC-1122] Braden, R., "Requirements for Internet Hosts - | [RFC-1122] Braden, R., "Requirements for Internet Hosts - | |||
Communication Layers", STD 5, RFC1122, August 1989. | Communication Layers", STD 5, RFC1122, August 1989. | |||
[PMTU] McCann, J., S. Deering, J. Mogul, "Path MTU Discovery | ||||
for IP version 6", RFC1981, August 1996. | ||||
[RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP14, RFC2119, March 1997. | Requirement Levels", BCP14, RFC2119, March 1997. | |||
7.2 Informative | ||||
[RFC-2780] Bradner, S., V. Paxson, "IANA Allocation Guidelines For | ||||
Values In the Internet Protocol and Related Headers", | ||||
RFC 2780, March 2000. | ||||
[IPv6-ADDR] Hinden, R., S. Deering, "IP Version 6 Addressing | ||||
Architecture", RFC2373, July 1998. | ||||
[PMTU] McCann, J., S. Deering, J. Mogul, "Path MTU Discovery | ||||
for IP version 6", RFC1981, August 1996. | ||||
[IPv6-SA] Kent, S., R. Atkinson, "Security Architecture for the | [IPv6-SA] Kent, S., R. Atkinson, "Security Architecture for the | |||
Internet Protocol", RFC1825, November 1998. | Internet Protocol", RFC1825, November 1998. | |||
[IPv6-AUTH] Kent, S., R. Atkinson, "IP Authentication Header", RFC | [IPv6-AUTH] Kent, S., R. Atkinson, "IP Authentication Header", RFC | |||
2402, November 1998. | 2402, November 1998. | |||
[IPv6-ESP] Kent, S., R. Atkinson, "IP Encapsulating Security | [IPv6-ESP] Kent, S., R. Atkinson, "IP Encapsulating Security | |||
Payload (ESP)", RFC 2406, November 1998. | Payload (ESP)", RFC 2406, November 1998. | |||
7.2 Informative | ||||
[RFC-2780] Bradner, S., V. Paxson, "IANA Allocation Guidelines For | ||||
Values In the Internet Protocol and Related Headers", | ||||
RFC 2780, March 2000. | ||||
8. Acknowledgments | 8. Acknowledgments | |||
The document is derived from previous ICMP drafts of the SIPP and | The document is derived from previous ICMP drafts of the SIPP and | |||
IPng working group. | IPng working group. | |||
The IPng working group and particularly Robert Elz, Jim Bound, Bill | The IPng working group and particularly Robert Elz, Jim Bound, Bill | |||
Simpson, Thomas Narten, Charlie Lynn, Bill Fink, Scott Bradner, | Simpson, Thomas Narten, Charlie Lynn, Bill Fink, Scott Bradner, | |||
Dimitri Haskin, Bob Hinden, Jun-ichiro Itojun Hagino, Tatuya Jinmei, | Dimitri Haskin, Bob Hinden, Jun-ichiro Itojun Hagino, Tatuya Jinmei, | |||
Brian Zill, Pekka Savola, and Fred Templin (in chronological order) | Brian Zill, Pekka Savola, and Fred Templin (in chronological order) | |||
provided extensive review information and feedback. | provided extensive review information and feedback. | |||
skipping to change at page 23, line 25 | skipping to change at page 24, line 30 | |||
addresses belong to the link itself ("anti-ping-ponging" rule). | addresses belong to the link itself ("anti-ping-ponging" rule). | |||
- Added description of Time Exceeded Code 1 (fragment reassembly | - Added description of Time Exceeded Code 1 (fragment reassembly | |||
timeout). | timeout). | |||
- Added "beyond scope of source address", "source address failed | - Added "beyond scope of source address", "source address failed | |||
ingress/egress policy", and "reject route to destination" messages | ingress/egress policy", and "reject route to destination" messages | |||
to the family of "unreachable destination" type ICMP error | to the family of "unreachable destination" type ICMP error | |||
messages (section 3.1). | messages (section 3.1). | |||
- Reserved some ICMP type values for experimentation. | ||||
- Added a NOTE in section 2.4, that specifies ICMP message | - Added a NOTE in section 2.4, that specifies ICMP message | |||
processing rules precedence. | processing rules precedence. | |||
- Added ICMP REDIRECT to the list in Section 2.4 e) of cases in | - Added ICMP REDIRECT to the list in Section 2.4 e) of cases in | |||
which ICMP error messages are not to be generated. | which ICMP error messages are not to be generated. | |||
- Made minor editorial changes in Section 2.3 on checksum | - Made minor editorial changes in Section 2.3 on checksum | |||
calculation, and in Section 5.2. | calculation, and in Section 5.2. | |||
- Clarified in section 4.2, regarding the Echo Reply Message, that | - Clarified in section 4.2, regarding the Echo Reply Message, that | |||
the source address of an Echo Reply to an anycast Echo Request | the source address of an Echo Reply to an anycast Echo Request | |||
should be a unicast address, as in the case of multicast. | should be a unicast address, as in the case of multicast. | |||
- Revised the Security Considerations section. Added the use of | - Revised the Security Considerations section. Added the use of | |||
Encapsulating Security Payload Header for authentication. | Encapsulating Security Payload Header for authentication. Changed | |||
the requirement of an option of "not allowing unauthenticated ICMP | ||||
messages" to MAY from SHOULD. | ||||
- Added a new attack in the list of possible ICMP attacks in section | - Added a new attack in the list of possible ICMP attacks in section | |||
5.2. | 5.2. | |||
- Separated References into Normative and Informative. | - Separated References into Normative and Informative. | |||
- Added reference to RFC-2780 "IANA Allocation Guidelines For Values | - Added reference to RFC-2780 "IANA Allocation Guidelines For Values | |||
In the Internet Protocol and Related Headers" | In the Internet Protocol and Related Headers" | |||
Full Copyright Statement | ||||
Copyright (C) The Internet Society (2004). 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 Statement | ||||
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. | ||||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |