网络通不通,先问谁?你在终端里敲下一条 `ping`,几毫秒之内就知道对方是否在线、延迟多少。这条简单的命令背后,藏着一个专门负责"报告网络状况"的协议——**互联网控制消息协议(ICMP, Internet Control Message Protocol)**。今天这一讲,我们就把 `ping` 和 `traceroute` 这两个最常用的诊断工具拆开,看看它们到底是怎么工作的。 ## ICMP 是干什么的 前几讲我们讲过,**网际协议(IP, Internet Protocol)**负责把数据包从源主机送到目的主机,但它本身是"尽力而为"的——丢了就丢了,IP 协议自己不会告诉任何…