如何计算 PING 请求的帧大小?

How to calculate Frame size for PING request?

在标准以太网中 TCP/IP,段大小为 1480 字节。数据包大小为 1480 + 20 字节 (IP) = 1500 字节。在帧中,1500 字节是 MTU 大小,帧 header 26 字节(Preamble + SOF + Dest. MAC + ORIG. MAC + CRC)。

现在,在互联网上,我发现 ICMP 帧的 MTU 大小为 1500 - 20 字节 (IP header) - 8 字节 (ICMP header) = 1472 字节。如果以太网帧 MTU 是 1500 字节,我无法理解这个计算,那么为什么我们要为 ICMP 帧发送 1472 字节?

或者简单的说,1472字节的ICMP MTU是由什么组成的?

1500 字节是 MTU 大小 without 以太网帧 header -- 这是以太网数据的传输大小,而不是整个以太网帧。更具体地说,它是整个 IP 数据包的大小。

同样,ICMP的MTU是ICMP数据的传输大小,而不是整个ICMP报文。因此,该数字将为 1500(以太网的最大数据大小)- 20(IP header)- 8(ICMP header)= 1472