与最大以太网帧大小相关的Hyper-V虚拟机网络问题

我今天早些时候解决了一个问题,但我有兴趣了解为什么它有效.
我们设置了一个新的Hyper-V虚拟机,仅发现HTTP流量无法正常工作. HTTPS,ping,其他一切都运行正常.

经过几个月的刺激,我在黑暗中拍了一枪.在Hyper-V主机服务器上,物理NIC卡的高级设置“最大以太网帧大小”设置为1500.将此设置设置为1514后,问题得以解决.或者,将其设置为1512并不能解决问题; 1514是神奇的数字.

我最好的猜测是,当此设置设置为1500时,它允许传入ping,因为数据有效负载比HTTP流量小得多.就HTTPS流量而言,我读到了一个名为“路径MTU发现”的内容,我将假设为什么HTTP流量正常,尽管速度较慢.

Looking at this post,人们同意1518是最大总框架尺寸.为什么我不需要将其更改为1518而不是1514字节?如果这是以太网有效负载的最大大小而不是最大大小,为什么默认帧大小为1500.

最佳答案
1518是“旧学校”802.3以太网的最大帧大小.如果帧校验和序列被卸载到NIC,那么1514是最大帧大小(因为NIC将添加4字节帧校验和).

1500是以太网的IP最大传输单元(MTU),因为1518字节以太网帧中有1500字节的有效载荷.将NIC的最大帧大小设置为1500字节将导致IP MTU为1482字节.

我不清楚为什么有人会将NIC的最大帧大小更改为1500字节.我怀疑有人把最大帧大小与MTU混淆了.没有人会按照你描述的方式来设置它.

转载注明原文:与最大以太网帧大小相关的Hyper-V虚拟机网络问题 - 代码日志