报告问题而不包办恢复
IP无法保证每份数据报成功抵达。ICMP消息可以报告目的不可达、传送生存限制耗尽或参数问题等情况,帮助端点了解转发过程中发生了什么。
它不是在TCP或UDP应用端口上发送的一封普通业务消息,也不自动把丢失数据重传成功。需要可靠性的上层仍须安排自己的恢复、超时和失败处理。
差错反馈也需要指向原来的通信。ICMPv6差错报文携带触发它的原IPv6报文的一部分,接收端尽可能从中识别应通知的上层;若扩展首部过长等原因使所需信息被截断,便可能无法交给相应上层处理。规范还禁止因收到另一个ICMPv6差错报文而再产生差错,以避免差错递归;这是针对差错消息的规则,不是说回声等全部信息消息都不能引发任何反馈。
回声探测与报文大小
回声请求及回复使用标识、序号和返回数据帮助发送方配对探测。得到回复说明这次相应交互成立,却不证明同一主机上的每个网站或应用都正常。
ICMPv6的Packet Too Big消息告诉发送方,某个包超过下一跳链路的MTU而无法转发。这是路径报文大小发现的重要反馈,与回声探测承担不同作用。
限速、遗漏与机制演变
控制报文也会占用资源,路由器可以对部分ICMP产生速率施加限制。没有收到回复,可能涉及丢失、过滤或限速,不能单凭这一点推断目标已经停止运行。
旧规范中的Source Quench曾用于拥塞提示,但RFC 6633已正式废弃该机制。