ICMP
是“Internet Control Message Protocol”的缩写。
ICMP 是一种用于报告错误的协议,有助于诊断 TCP/IP 网络连接的问题。它是一种网络层协议,可协助在不同网络之间传输数据数据包,也是 Internet Protocol(IP)协议套件的重要组成部分。当数据包无法到达目的地时,路由器和交换机等网络设备会发送 ICMP 错误消息。
两台计算机通过互联网传输数据时,数据需要经过一系列彼此独立的网络连接。每个数据包都会从一个网络传输到另一个网络,并由每个网络的路由器转发到下一步。同一台计算机向另一台计算机发送的一系列数据包,甚至可能经过不同的路由,并在到达目的地重新组装之前乱序到达。如果某个设备无法成功将数据包转发到下一跳,它就会向数据包的源发送 ICMP 错误消息。
ICMP 协议规定了多种错误类型,有助于识别连接问题。例如,“超时”错误表示数据包的 TTL 在到达目的地之前已过期,而“参数问题”错误表示数据包的 IP 标头存在问题。有些错误类型还包含子类型代码,可提供更多细节。例如,“目的地不可达”错误有 16 种可能的子类型,每种子类型描述一种不同的原因。在大多数情况下,源计算机上的软件会自动解决这些错误:重新发送数据包或尝试其他路由,通常不会引起用户注意。不过,Ping 和 Traceroute 等诊断工具会使用 ICMP 消息,帮助你诊断计算机与远程服务器之间的连接问题。
测试你的知识