UDP中的MTU是65535,但以太网不允许超过1500字节的帧大小
我正在使用100 Mbps的快速以太网,其帧大小小于1500字节(根据我的教科书,有效负载为1472字节)。 在这种情况下,我能够发送和接收消息大小为65507字节的UDP数据包,这意味着数据包的大小是65507 + 20(IP Header)+8(UDP Header)= 65535。 如果帧的有效负载大小本身最大为1472字节(按照我的教科书),那么IP的数据包大小如何大于65535? 我使用发件人代码 char buffer[100000]; for (int i = 1; i < 100000; i++) { int len = send (socket_id, buffer, i); printf("%d\n", len); } 接收器代码如 while (len = recv (socket_id, buffer, 100000)) { printf("%d\n". len); } 我观察到send在i > 65507 returns -1 , recv打印或接收maximum of length 65507的数据包。