UDP中的MTU如何为65535,但以太网不允许帧大小超过1500字节
我正在使用100 Mbps的快速以太网,其帧大小小于1500字节(根据我的教科书,有效负载为1472字节)。这样,我能够发送和接收消息大小为65507字节的UDP数据包,这意味着数据包大小为65507 + 20(IP报头)+ 8(UDP报头)= 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 returns -1上i > 65507和recv打印或接收的分组maximum of length 65507。