Network Working Group A. Conta Request for Comments: 2463 Lucent Obsoletes: 1885 S. Deering Category: Standards Track Cisco Systems December 1998
Network Working Group A. Conta Request for Comments: 2463 Lucent Obsoletes: 1885 S. Deering Category: Standards Track Cisco Systems December 1998
Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
Internet协议版本6(IPv6)规范的Internet控制消息协议(ICMPv6)
Status of this Memo
本备忘录的状况
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (C) The Internet Society (1998). All Rights Reserved.
版权所有(C)互联网协会(1998年)。版权所有。
Abstract
摘要
This document specifies a set of Internet Control Message Protocol (ICMP) messages for use with version 6 of the Internet Protocol (IPv6).
本文档指定了一组用于Internet协议(IPv6)版本6的Internet控制消息协议(ICMP)消息。
Table of Contents
目录
1. Introduction........................................2 2. ICMPv6 (ICMP for IPv6)..............................2 2.1 Message General Format.......................2 2.2 Message Source Address Determination.........3 2.3 Message Checksum Calculation.................4 2.4 Message Processing Rules.....................4 3. ICMPv6 Error Messages...............................6 3.1 Destination Unreachable Message..............6 3.2 Packet Too Big Message...................... 8 3.3 Time Exceeded Message....................... 9 3.4 Parameter Problem Message...................10 4. ICMPv6 Informational Messages......................11 4.1 Echo Request Message........................11 4.2 Echo Reply Message..........................12 5. Security Considerations............................13 6. References.........................................14 7. Acknowledgments....................................15
1. Introduction........................................2 2. ICMPv6 (ICMP for IPv6)..............................2 2.1 Message General Format.......................2 2.2 Message Source Address Determination.........3 2.3 Message Checksum Calculation.................4 2.4 Message Processing Rules.....................4 3. ICMPv6 Error Messages...............................6 3.1 Destination Unreachable Message..............6 3.2 Packet Too Big Message...................... 8 3.3 Time Exceeded Message....................... 9 3.4 Parameter Problem Message...................10 4. ICMPv6 Informational Messages......................11 4.1 Echo Request Message........................11 4.2 Echo Reply Message..........................12 5. Security Considerations............................13 6. References.........................................14 7. Acknowledgments....................................15
8. Authors' Addresses.................................16 Appendix A - Changes since RFC 1885...................17 Full Copyright Statement..............................18
8. Authors' Addresses.................................16 Appendix A - Changes since RFC 1885...................17 Full Copyright Statement..............................18
The Internet Protocol, version 6 (IPv6) is a new version of IP. IPv6 uses the Internet Control Message Protocol (ICMP) as defined for IPv4 [RFC-792], with a number of changes. The resulting protocol is called ICMPv6, and has an IPv6 Next Header value of 58.
Internet协议版本6(IPv6)是IP的新版本。IPv6使用为IPv4[RFC-792]定义的Internet控制消息协议(ICMP),但做了一些更改。产生的协议称为ICMPv6,其IPv6下一个报头值为58。
This document describes the format of a set of control messages used in ICMPv6. It does not describe the procedures for using these messages to achieve functions like Path MTU discovery; such procedures are described in other documents (e.g., [PMTU]). Other documents may also introduce additional ICMPv6 message types, such as Neighbor Discovery messages [IPv6-DISC], subject to the general rules for ICMPv6 messages given in section 2 of this document.
本文档描述了ICMPv6中使用的一组控制消息的格式。它没有描述使用这些消息实现路径MTU发现等功能的过程;其他文件(如[PMTU])中描述了此类程序。根据本文档第2节中给出的ICMPv6消息的一般规则,其他文档也可能引入其他ICMPv6消息类型,例如邻居发现消息[IPv6光盘]。
Terminology defined in the IPv6 specification [IPv6] and the IPv6 Routing and Addressing specification [IPv6-ADDR] applies to this document as well.
IPv6规范[IPv6]和IPv6路由和寻址规范[IPv6 ADDR]中定义的术语也适用于本文档。
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 [RFC-2119].
本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC-2119]中所述进行解释。
ICMPv6 is used by IPv6 nodes to report errors encountered in processing packets, and to perform other internet-layer functions, such as diagnostics (ICMPv6 "ping"). ICMPv6 is an integral part of IPv6 and MUST be fully implemented by every IPv6 node.
IPv6节点使用ICMPv6报告处理数据包时遇到的错误,并执行其他internet层功能,如诊断(ICMPv6“ping”)。ICMPv6是IPv6不可分割的一部分,必须由每个IPv6节点完全实现。
ICMPv6 messages are grouped into two classes: error messages and informational messages. Error messages are identified as such by having a zero in the high-order bit of their message Type field values. Thus, error messages have message Types from 0 to 127; informational messages have message Types from 128 to 255.
ICMPv6消息分为两类:错误消息和信息消息。错误消息通过其消息类型字段值的高位中的零来识别。因此,错误消息的消息类型从0到127;信息性消息的消息类型从128到255。
This document defines the message formats for the following ICMPv6 messages:
本文档定义了以下ICMPv6消息的消息格式:
ICMPv6 error messages:
ICMPv6错误消息:
1 Destination Unreachable (see section 3.1) 2 Packet Too Big (see section 3.2) 3 Time Exceeded (see section 3.3) 4 Parameter Problem (see section 3.4)
1无法到达目的地(见第3.1节)2数据包太大(见第3.2节)3超过时间(见第3.3节)4参数问题(见第3.4节)
ICMPv6 informational messages:
ICMPv6信息性消息:
128 Echo Request (see section 4.1) 129 Echo Reply (see section 4.2)
128回送请求(见第4.1节)129回送回复(见第4.2节)
Every ICMPv6 message is preceded by an IPv6 header and zero or more IPv6 extension headers. The ICMPv6 header is identified by a Next Header value of 58 in the immediately preceding header. (NOTE: this is different than the value used to identify ICMP for IPv4.)
每个ICMPv6消息前面都有一个IPv6头和零个或多个IPv6扩展头。ICMPv6标头由前一个标头中的下一个标头值58标识。(注意:这与用于标识IPv4的ICMP的值不同。)
The ICMPv6 messages have the following general format:
ICMPv6消息具有以下通用格式:
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Message Body + | |
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Message Body + | |
The type field indicates the type of the message. Its value determines the format of the remaining data.
类型字段指示消息的类型。其值决定剩余数据的格式。
The code field depends on the message type. It is used to create an additional level of message granularity.
代码字段取决于消息类型。它用于创建额外级别的消息粒度。
The checksum field is used to detect data corruption in the ICMPv6 message and parts of the IPv6 header.
校验和字段用于检测ICMPv6消息和IPv6标头部分中的数据损坏。
A node that sends an ICMPv6 message has to determine both the Source and Destination IPv6 Addresses in the IPv6 header before calculating the checksum. If the node has more than one unicast address, it must choose the Source Address of the message as follows:
发送ICMPv6消息的节点必须在计算校验和之前确定IPv6标头中的源IPv6地址和目标IPv6地址。如果节点有多个单播地址,则必须按如下方式选择消息的源地址:
(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 be that same address.
(a) 如果消息是对发送到节点单播地址之一的消息的响应,则应答的源地址必须是该地址。
(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 of the reply must be a unicast address belonging to the interface on which the multicast or anycast packet was received.
(b) 如果该消息是对发送到该节点是其成员的多播或选播组的消息的响应,则应答的源地址必须是属于接收多播或选播数据包的接口的单播地址。
(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 unicast address belonging to the node that will be most helpful in diagnosing the error. For example, if the message is a response to a packet forwarding action that cannot complete successfully, the Source Address should be a unicast address belonging to the interface on which the packet forwarding failed.
(c) 如果该消息是对发送到不属于该节点的地址的消息的响应,则源地址应该是属于该节点的单播地址,该地址在诊断错误时最有帮助。例如,如果消息是对无法成功完成的包转发操作的响应,则源地址应该是属于包转发失败的接口的单播地址。
(d) Otherwise, the node's routing table must be examined to determine which interface will be used to transmit the message to its destination, and a unicast address belonging to that interface must be used as the Source Address of the message.
(d) 否则,必须检查节点的路由表,以确定将使用哪个接口将消息传输到其目的地,并且必须使用属于该接口的单播地址作为消息的源地址。
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 type field, prepended with a "pseudo-header" of IPv6 header fields, 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 ICMPv6 checksum is a change from IPv4; see [IPv6] for the rationale for this change.)
校验和是整个ICMPv6消息的补码和的16位1的补码,从ICMPv6消息类型字段开始,前面有IPv6报头字段的“伪报头”,如[IPv6,第8.1节]中所述。伪报头中使用的下一个报头值是58。(注意:在ICMPv6校验和中包含伪报头是对IPv4的更改;有关此更改的基本原理,请参阅[IPv6])
For computing the checksum, the checksum field is set to zero.
为了计算校验和,校验和字段设置为零。
Implementations MUST observe the following rules when processing ICMPv6 messages (from [RFC-1122]):
在处理ICMPv6消息(来自[RFC-1122])时,实现必须遵守以下规则:
(a) If an ICMPv6 error message of unknown type is received, it MUST be passed to the upper layer.
(a) 如果收到未知类型的ICMPv6错误消息,则必须将其传递给上层。
(b) If an ICMPv6 informational message of unknown type is received, it MUST be silently discarded.
(b) 如果收到未知类型的ICMPv6信息性消息,则必须以静默方式将其丢弃。
(c) Every ICMPv6 error message (type < 128) includes as much of the IPv6 offending (invoking) packet (the packet that caused the error) as will fit without making the error message packet exceed the minimum IPv6 MTU [IPv6].
(c) 每个ICMPv6错误消息(类型<128)都包含尽可能多的IPv6违规(调用)数据包(导致错误的数据包),而不会使错误消息数据包超过最小IPv6 MTU[IPv6]。
(d) In those cases where the internet-layer protocol is required to pass an ICMPv6 error message to the upper-layer process, the upper-layer protocol type is extracted from the original packet (contained in the body of the ICMPv6 error message) and used to select the appropriate upper-layer process to handle the error.
(d) 在需要internet层协议将ICMPv6错误消息传递给上层进程的情况下,上层协议类型从原始数据包(包含在ICMPv6错误消息正文中)中提取,并用于选择适当的上层进程来处理错误。
If the original packet had an unusually large amount of extension headers, it is possible that the upper-layer protocol type may not be present in the ICMPv6 message, due to truncation of the original packet to meet the minimum IPv6 MTU [IPv6] limit. In that case, the error message is silently dropped after any IPv6-layer processing.
如果原始数据包具有异常大量的扩展头,则由于原始数据包被截断以满足最小IPv6 MTU[IPv6]限制,ICMPv6消息中可能不存在上层协议类型。在这种情况下,在任何IPv6层处理之后,错误消息都会自动删除。
(e) An ICMPv6 error message MUST NOT be sent as a result of receiving:
(e) ICMPv6错误消息不能作为接收以下信息的结果发送:
(e.1) an ICMPv6 error message, or
(e.1)ICMPv6错误消息,或
(e.2) a packet destined to an IPv6 multicast address (there are two exceptions to this rule: (1) the Packet Too Big Message - Section 3.2 - to allow Path MTU discovery to work for IPv6 multicast, and (2) the Parameter Problem Message, Code 2 - Section 3.4 - reporting an unrecognized IPv6 option that has the Option Type highest-order two bits set to 10), or
(e.2)发送到IPv6多播地址的数据包(此规则有两个例外:(1)数据包太大消息-第3.2节-不允许路径MTU发现用于IPv6多播,以及(2)参数问题消息,代码2-第3.4节-报告选项类型最高阶2位设置为10的无法识别的IPv6选项),或
(e.3) a packet sent as a link-layer multicast, (the exception from e.2 applies to this case too), or
(e.3)作为链路层多播发送的数据包(e.2的例外情况也适用于这种情况),或
(e.4) a packet sent as a link-layer broadcast, (the exception from e.2 applies to this case too), or
(e.4)作为链路层广播发送的数据包(e.2的例外情况也适用于这种情况),或
(e.5) a packet whose source address does not uniquely identify a single node -- e.g., the IPv6 Unspecified Address, an IPv6 multicast address, or an address known by the ICMP message sender to be an IPv6 anycast address.
(e.5)其源地址不能唯一标识单个节点的数据包,例如,IPv6未指定地址、IPv6多播地址或ICMP消息发送方已知为IPv6选播地址的地址。
(f) Finally, in order to limit the bandwidth and forwarding costs incurred sending ICMPv6 error messages, an IPv6 node MUST limit the rate of ICMPv6 error messages it sends. This situation may occur when a source sending a stream of erroneous packets fails to heed the resulting ICMPv6 error messages. There are a variety of ways of implementing the rate-limiting function, for example:
(f) 最后,为了限制发送ICMPv6错误消息所产生的带宽和转发成本,IPv6节点必须限制其发送ICMPv6错误消息的速率。当发送错误数据包流的源未能注意到产生的ICMPv6错误消息时,可能会发生这种情况。有多种实现速率限制功能的方法,例如:
(f.1) Timer-based - for example, limiting the rate of transmission of error messages to a given source, or to any source, to at most once every T milliseconds.
(f.1)基于计时器-例如,将错误消息传输到给定源或任何源的速率限制为最多每T毫秒一次。
(f.2) Bandwidth-based - for example, limiting the rate at which error messages are sent from a particular interface to some fraction F of the attached link's bandwidth.
(f.2)基于带宽-例如,将从特定接口发送错误消息的速率限制为连接链路带宽的某一部分。
The limit parameters (e.g., T or F in the above examples) MUST be configurable for the node, with a conservative default value (e.g., T = 1 second, NOT 0 seconds, or F = 2 percent, NOT 100 percent).
必须为节点配置限制参数(例如,上述示例中的T或F),并使用保守的默认值(例如,T=1秒,而不是0秒,或F=2%,而不是100%)。
The following sections describe the message formats for the above ICMPv6 messages.
以下各节介绍上述ICMPv6消息的消息格式。
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
IPv6 Fields:
IPv6字段:
Destination Address
目的地址
Copied from the Source Address field of the invoking packet.
从调用数据包的源地址字段复制。
ICMPv6 Fields:
ICMPv6字段:
Type 1
类型1
Code 0 - no route to destination 1 - communication with destination administratively prohibited 2 - (not assigned) 3 - address unreachable 4 - port unreachable
代码0-没有到目的地1的路由-与目的地的通信管理禁止2-(未分配)3-地址不可访问4-端口不可访问
Unused This field is unused for all code values. It must be initialized to zero by the sender and ignored by the receiver.
未使用此字段未用于所有代码值。发送方必须将其初始化为零,接收方必须将其忽略。
Description
描述
A Destination Unreachable message SHOULD be generated by a router, or by the IPv6 layer in the originating node, in response to a packet that cannot be delivered to its destination address for reasons other than congestion. (An ICMPv6 message MUST NOT be generated if a packet is dropped due to congestion.)
目的地不可到达消息应由路由器生成,或由发起节点中的IPv6层生成,以响应由于拥塞以外的原因而无法传递到其目的地地址的数据包。(如果数据包因拥塞而丢失,则不得生成ICMPv6消息。)
If the reason for the failure to deliver is lack of a matching entry in the forwarding node's routing table, the Code field is set to 0 (NOTE: this error can occur only in nodes that do not hold a "default route" in their routing tables).
如果发送失败的原因是转发节点的路由表中缺少匹配项,则“代码”字段设置为0(注意:此错误只能在其路由表中不包含“默认路由”的节点中发生)。
If the reason for the failure to deliver is administrative prohibition, e.g., a "firewall filter", the Code field is set to 1.
如果未能交付的原因是行政禁止,例如“防火墙过滤器”,则代码字段设置为1。
If there is any other reason for the failure to deliver, e.g., inability to resolve the IPv6 destination address into a corresponding link address, or a link-specific problem of some sort, then the Code field is set to 3.
如果有任何其他原因导致无法交付,例如无法将IPv6目标地址解析为相应的链路地址,或某种特定于链路的问题,则代码字段设置为3。
A destination node SHOULD send a Destination Unreachable message with Code 4 in response to a packet for which the transport protocol (e.g., UDP) has no listener, if that transport protocol has no alternative means to inform the sender.
如果传输协议(例如UDP)没有侦听器,则目标节点应发送代码为4的目标不可到达消息,以响应该传输协议(例如UDP)没有侦听器的数据包,前提是该传输协议没有其他方法通知发送方。
Upper layer notification
上层通知
A node receiving the ICMPv6 Destination Unreachable message MUST notify the upper-layer process.
接收ICMPv6目的地不可到达消息的节点必须通知上层进程。
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
IPv6 Fields:
IPv6字段:
Destination Address
目的地址
Copied from the Source Address field of the invoking packet.
从调用数据包的源地址字段复制。
ICMPv6 Fields:
ICMPv6字段:
Type 2
类型2
Code Set to 0 (zero) by the sender and ignored by the receiver
发送方将代码设置为0(零),接收方将其忽略
MTU The Maximum Transmission Unit of the next-hop link.
MTU下一跳链路的最大传输单位。
Description
描述
A Packet Too Big MUST be sent by a router in response to a packet that it cannot forward because the packet is larger than the MTU of the outgoing link. The information in this message is used as part of the Path MTU Discovery process [PMTU].
太大的数据包必须由路由器发送,以响应它无法转发的数据包,因为该数据包大于传出链路的MTU。此消息中的信息用作路径MTU发现过程[PMTU]的一部分。
Sending a Packet Too Big Message makes an exception to one of the rules of when to send an ICMPv6 error message, in that unlike other messages, it is sent in response to a packet received with an IPv6 multicast destination address, or a link-layer multicast or link-layer broadcast address.
发送数据包过大的消息会对何时发送ICMPv6错误消息的规则之一造成例外,因为与其他消息不同,它是响应使用IPv6多播目标地址或链路层多播或链路层广播地址接收的数据包而发送的。
Upper layer notification
上层通知
An incoming Packet Too Big message MUST be passed to the upper-layer process.
传入的数据包过大消息必须传递给上层进程。
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
IPv6 Fields:
IPv6字段:
Destination Address Copied from the Source Address field of the invoking packet.
从调用数据包的源地址字段复制的目标地址。
ICMPv6 Fields:
ICMPv6字段:
Type 3
类型3
Code 0 - hop limit exceeded in transit
代码0-传输过程中超出跃点限制
1 - fragment reassembly time exceeded
1-超过碎片重新组装时间
Unused This field is unused for all code values. It must be initialized to zero by the sender and ignored by the receiver.
未使用此字段未用于所有代码值。发送方必须将其初始化为零,接收方必须将其忽略。
Description
描述
If a router receives a packet with a Hop Limit of zero, or a router decrements a packet's Hop Limit to zero, it MUST discard the packet and send an ICMPv6 Time Exceeded message with Code 0 to the source of the packet. This indicates either a routing loop or too small an initial Hop Limit value.
如果路由器接收到跃点限制为零的数据包,或路由器将数据包的跃点限制减至零,则必须丢弃该数据包,并向数据包源发送代码为0的ICMPv6超时消息。这表示路由循环或初始跃点限制值太小。
The rules for selecting the Source Address of this message are defined in section 2.2.
第2.2节定义了选择此消息源地址的规则。
Upper layer notification
上层通知
An incoming Time Exceeded message MUST be passed to the upper-layer process.
传入的超时消息必须传递给上层进程。
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | As much of invoking packet | + as will fit without the ICMPv6 packet + | exceeding the minimum IPv6 MTU [IPv6] |
IPv6 Fields:
IPv6字段:
Destination Address
目的地址
Copied from the Source Address field of the invoking packet.
从调用数据包的源地址字段复制。
ICMPv6 Fields:
ICMPv6字段:
Type 4
类型4
Code 0 - erroneous header field encountered
代码0-遇到错误的标题字段
1 - unrecognized Next Header type encountered
1-遇到无法识别的下一个标头类型
2 - unrecognized IPv6 option encountered
2-遇到无法识别的IPv6选项
Pointer Identifies the octet offset within the invoking packet where the error was detected.
指针标识检测到错误的调用数据包内的八位字节偏移量。
The pointer will point beyond the end of the ICMPv6 packet if the field in error is beyond what can fit in the maximum size of an ICMPv6 error message.
如果错误字段超出了ICMPv6错误消息的最大大小,指针将指向ICMPv6数据包的结尾。
Description
描述
If an IPv6 node processing a packet finds a problem with a field in the IPv6 header or extension headers such that it cannot complete processing the packet, it MUST discard the packet and SHOULD send an ICMPv6 Parameter Problem message to the packet's source, indicating the type and location of the problem.
如果处理数据包的IPv6节点发现IPv6报头或扩展报头中的字段存在问题,以致无法完成对数据包的处理,则必须丢弃该数据包,并应向数据包的源发送ICMPv6参数问题消息,指示问题的类型和位置。
The pointer identifies the octet of the original packet's header where the error was detected. For example, an ICMPv6 message with Type field = 4, Code field = 1, and Pointer field = 40 would indicate
指针标识检测到错误的原始数据包头的八位字节。例如,类型字段为4、代码字段为1、指针字段为40的ICMPv6消息将指示
that the IPv6 extension header following the IPv6 header of the original packet holds an unrecognized Next Header field value.
原始数据包的IPv6标头后面的IPv6扩展标头包含无法识别的下一个标头字段值。
Upper layer notification
上层通知
A node receiving this ICMPv6 message MUST notify the upper-layer process.
接收此ICMPv6消息的节点必须通知上层进程。
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-
IPv6 Fields:
IPv6字段:
Destination Address
目的地址
Any legal IPv6 address.
任何合法的IPv6地址。
ICMPv6 Fields:
ICMPv6字段:
Type 128
128型
Code 0
代码0
Identifier An identifier to aid in matching Echo Replies to this Echo Request. May be zero.
标识符用于帮助匹配对此回显请求的回显答复的标识符。可能是零。
Sequence Number
序列号
A sequence number to aid in matching Echo Replies to this Echo Request. May be zero.
一个序列号,用于帮助匹配对此回送请求的回送回复。可能是零。
Data Zero or more octets of arbitrary data.
数据任意数据的零个或多个八位字节。
Description
描述
Every node MUST implement an ICMPv6 Echo responder function that receives Echo Requests and sends corresponding Echo Replies. A node SHOULD also implement an application-layer interface for sending Echo Requests and receiving Echo Replies, for diagnostic purposes.
每个节点都必须实现ICMPv6回显响应器功能,该功能接收回显请求并发送相应的回显响应。节点还应该实现一个应用层接口,用于发送回显请求和接收回显回复,以便进行诊断。
Upper layer notification
上层通知
Echo Request messages MAY be passed to processes receiving ICMP messages.
回显请求消息可以传递给接收ICMP消息的进程。
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-
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 | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+-
IPv6 Fields:
IPv6字段:
Destination Address
目的地址
Copied from the Source Address field of the invoking Echo Request packet.
从调用回显请求数据包的源地址字段复制。
ICMPv6 Fields:
ICMPv6字段:
Type 129
129型
Code 0
代码0
Identifier The identifier from the invoking Echo Request message.
标识符调用回显请求消息中的标识符。
Sequence The sequence number from the invoking Echo Request Number message.
从调用回显请求编号消息中对序列号进行排序。
Data The data from the invoking Echo Request message.
数据来自调用回显请求消息的数据。
Description
描述
Every node MUST implement an ICMPv6 Echo responder function that receives Echo Requests and sends corresponding Echo Replies. A node SHOULD also implement an application-layer interface for sending Echo Requests and receiving Echo Replies, for diagnostic purposes.
每个节点都必须实现ICMPv6回显响应器功能,该功能接收回显请求并发送相应的回显响应。节点还应该实现一个应用层接口,用于发送回显请求和接收回显回复,以便进行诊断。
The source address of an Echo Reply sent in response to a unicast Echo Request message MUST be the same as the destination address of that Echo Request message.
为响应单播回显请求消息而发送的回显回复的源地址必须与该回显请求消息的目标地址相同。
An Echo Reply SHOULD be sent in response to an Echo Request message sent to an IPv6 multicast address. The source address of the reply MUST be a unicast address belonging to the interface on which the multicast Echo Request message was received.
应发送回显回复以响应发送到IPv6多播地址的回显请求消息。应答的源地址必须是属于接收多播回显请求消息的接口的单播地址。
The data received in the ICMPv6 Echo Request message MUST be returned entirely and unmodified in the ICMPv6 Echo Reply message.
在ICMPv6回显请求消息中接收的数据必须在ICMPv6回显回复消息中完全返回且不作修改。
Upper layer notification
上层通知
Echo Reply messages MUST be passed to the process that originated an Echo Request message. It may be passed to processes that did not originate the Echo Request message.
回送回复消息必须传递给发出回送请求消息的进程。它可能会传递给未发起回显请求消息的进程。
ICMP protocol packet exchanges can be authenticated using the IP Authentication Header [IPv6-AUTH]. A node SHOULD include an Authentication Header when sending ICMP messages if a security association for use with the IP Authentication Header exists for the destination address. The security associations may have been created through manual configuration or through the operation of some key management protocol.
ICMP协议数据包交换可以使用IP身份验证头[IPv6 AUTH]进行身份验证。如果目标地址存在与IP身份验证标头一起使用的安全关联,则节点在发送ICMP消息时应包括身份验证标头。安全关联可能是通过手动配置或某些密钥管理协议的操作创建的。
Received Authentication Headers in ICMP packets MUST be verified for correctness and packets with incorrect authentication MUST be ignored and discarded.
必须验证ICMP数据包中接收到的身份验证头的正确性,并且必须忽略并丢弃身份验证不正确的数据包。
It SHOULD be possible for the system administrator to configure a node to ignore any ICMP messages that are not authenticated using either the Authentication Header or Encapsulating Security Payload. Such a switch SHOULD default to allowing unauthenticated messages.
系统管理员应该可以将节点配置为忽略任何未使用身份验证标头或封装安全负载进行身份验证的ICMP消息。这种开关应该默认为允许未经验证的消息。
Confidentiality issues are addressed by the IP Security Architecture and the IP Encapsulating Security Payload documents [IPv6-SA, IPv6- ESP].
IP安全体系结构和IP封装安全有效负载文档[IPv6 SA,IPv6-ESP]解决了机密性问题。
ICMP messages may be subject to various attacks. A complete discussion can be found in the IP Security Architecture [IPv6-SA]. A brief discussion of such attacks and their prevention is as follows:
ICMP消息可能会受到各种攻击。完整的讨论可以在IP安全体系结构[IPv6 SA]中找到。关于此类攻击及其预防的简要讨论如下:
1. ICMP messages may be subject to actions intended to cause the receiver believe the message came from a different source than the message originator. The protection against this attack can be achieved by applying the IPv6 Authentication mechanism [IPv6-Auth] to the ICMP message.
1. ICMP消息可能会受到旨在使接收方相信消息来自与消息发起人不同的来源的行为的影响。可以通过对ICMP消息应用IPv6身份验证机制[IPv6 Auth]来实现对此攻击的保护。
2. ICMP messages may be subject to actions intended to cause the message or the reply to it go to a destination different than the message originator's intention. The ICMP checksum calculation provides a protection mechanism against changes by a malicious interceptor in the destination and source address of the IP packet carrying that message, provided the ICMP checksum field is protected against change by authentication [IPv6-Auth] or encryption [IPv6-ESP] of the ICMP message.
2. ICMP消息可能会受到旨在使消息或对消息的回复到达与消息发起人意图不同的目的地的操作的影响。如果ICMP校验和字段通过ICMP消息的身份验证[IPv6 Auth]或加密[IPv6 ESP]进行保护,则ICMP校验和计算提供了一种保护机制,防止恶意拦截器在承载该消息的IP数据包的目标和源地址中进行更改。
3. ICMP messages may be subject to changes in the message fields, or payload. The authentication [IPv6-Auth] or encryption [IPv6-ESP] of the ICMP message is a protection against such actions.
3. ICMP消息可能会在消息字段或有效负载中发生更改。ICMP消息的身份验证[IPv6身份验证]或加密[IPv6 ESP]是针对此类操作的保护。
4. ICMP messages may be used as attempts to perform denial of service attacks by sending back to back erroneous IP packets. An implementation that correctly followed section 2.4, paragraph (f) of this specifications, would be protected by the ICMP error rate limiting mechanism.
4. ICMP消息可通过发送背对背的错误IP数据包来尝试执行拒绝服务攻击。正确遵循本规范第2.4节(f)段的实施将受到ICMP错误率限制机制的保护。
[IPv6] Deering, S. and R. Hinden, "Internet Protocol, Version 6, (IPv6) Specification", RFC 2460, December 1998.
[IPv6]Deering,S.和R.Hinden,“互联网协议,第6版,(IPv6)规范”,RFC 2460,1998年12月。
[IPv6-ADDR] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 2373, July 1998.
[IPv6地址]Hinden,R.和S.Deering,“IP版本6寻址体系结构”,RFC 23731998年7月。
[IPv6-DISC] Narten, T., Nordmark, E. and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998.
[IPv6光盘]Narten,T.,Nordmark,E.和W.Simpson,“IP版本6(IPv6)的邻居发现”,RFC 2461,1998年12月。
[RFC-792] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792, September 1981.
[RFC-792]Postel,J.,“互联网控制消息协议”,STD 5,RFC 792,1981年9月。
[RFC-1122] Braden, R., "Requirements for Internet Hosts - Communication Layers", STD 5, RFC 1122, August 1989.
[RFC-1122]Braden,R.,“互联网主机的要求-通信层”,STD 5,RFC 1122,1989年8月。
[PMTU] McCann, J., Deering, S. and J. Mogul, "Path MTU Discovery for IP version 6", RFC 1981, August 1996.
[PMTU]McCann,J.,Deering,S.和J.Mogul,“IP版本6的路径MTU发现”,RFC 1981,1996年8月。
[RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC-2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[IPv6-SA] Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998.
[IPv6 SA]Kent,S.和R.Atkinson,“互联网协议的安全架构”,RFC 2401,1998年11月。
[IPv6-Auth] Kent, S. and R. Atkinson, "IP Authentication Header", RFC 2402, November 1998.
[IPv6认证]Kent,S.和R.Atkinson,“IP认证头”,RFC 2402,1998年11月。
[IPv6-ESP] Kent, S. and R. Atkinson, "IP Encapsulating Security Protocol (ESP)", RFC 2406, November 1998.
[IPv6 ESP]Kent,S.和R.Atkinson,“IP封装安全协议(ESP)”,RFC 2406,1998年11月。
The document is derived from previous ICMP drafts of the SIPP and IPng working group.
本文件源自SIPP和IPng工作组先前的ICMP草案。
The IPng working group and particularly Robert Elz, Jim Bound, Bill Simpson, Thomas Narten, Charlie Lynn, Bill Fink, Scott Bradner, Dimitri Haskin, and Bob Hinden (in chronological order) provided extensive review information and feedback.
IPng工作组,特别是Robert Elz、Jim Bond、Bill Simpson、Thomas Narten、Charlie Lynn、Bill Fink、Scott Bradner、Dimitri Haskin和Bob Hinden(按时间顺序)提供了广泛的审查信息和反馈。
Alex Conta Lucent Technologies Inc. 300 Baker Ave, Suite 100 Concord, MA 01742 USA
Alex Conta-Lucent Technologies Inc.美国马萨诸塞州康科德贝克大道300号100室01742
Phone: +1 978 287-2842 EMail: aconta@lucent.com
Phone: +1 978 287-2842 EMail: aconta@lucent.com
Stephen Deering Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA
史蒂芬·迪林思科系统公司,美国加利福尼亚州圣何塞市西塔斯曼大道170号,邮编95134-1706
Phone: +1 408 527-8213 EMail: deering@cisco.com
Phone: +1 408 527-8213 EMail: deering@cisco.com
Appendix A - Changes from RFC 1885
附录A-RFC 1885的变更
Version 2-02
版本2-02
- Excluded mentioning informational replies from paragraph (f.2) of section 2.4. - In "Upper layer notification" sections changed "upper-layer protocol" and "User Interface" to "process". - Changed section 5.2, item 2 and 3 to also refer to AH authentication. - Removed item 5. from section 5.2 on denial of service attacks. - Updated phone numbers and Email addresses in the "Authors' Addresses" section.
- 不包括第2.4节第(f.2)段中提及的信息性回复。-在“上层通知”部分中,将“上层协议”和“用户界面”更改为“过程”。-将第5.2节第2项和第3项更改为也参考AH认证。-删除项目5。来自第5.2节拒绝服务攻击。-更新“作者地址”部分中的电话号码和电子邮件地址。
Version 2-01
版本2-01
- Replaced all references to "576 octets" as the maximum for an ICMP message size with "minimum IPv6 MTU" as defined by the base IPv6 specification. - Removed rate control from informational messages. - Added requirement that receivers ignore Code value in Packet Too Big message. - Removed "Not a Neighbor" (code 2) from destination unreachable message. - Fixed typos and update references.
- 将所有对“576八位字节”的引用替换为基本IPv6规范定义的“最小IPv6 MTU”,作为ICMP消息大小的最大值。-已从信息性消息中删除速率控制。-增加了接收者忽略数据包太大消息中的代码值的要求。-已从目标不可访问消息中删除“非邻居”(代码2)。-修复了打字错误和更新引用。
Version 2-00
版本2-00
- Applied rate control to informational messages - Removed section 2.4 on Group Management ICMP messages - Removed references to IGMP in Abstract and Section 1. - Updated references to other IPv6 documents - Removed references to RFC-1112 in Abstract, and Section 1, and to RFC-1191 in section 1, and section 3.2 - Added security section - Added Appendix A - changes
- 将速率控制应用于信息性消息-删除关于组管理ICMP消息的第2.4节-删除摘要中对IGMP的引用和第1节。-更新了对其他IPv6文件的引用-删除了对RFC-1112的抽象引用,以及第1节中的RFC-1191和第3.2节-增加了安全部分-增加了附录A-更改
Full Copyright Statement
完整版权声明
Copyright (C) The Internet Society (1998). All Rights Reserved.
版权所有(C)互联网协会(1998年)。版权所有。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。
This document and the information contained herein is provided on an "AS IS" basis and 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.
本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。