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

Bre*_*son 3 networking ethernet hyper-v hyper-v-server-2008-r2

我今天早些时候解决了一个问题,但我有兴趣了解它为什么起作用。我们设置了一个新的 Hyper-V 虚拟机只是为了发现 HTTP 流量不起作用。HTTPS,pings,其他一切正常。

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

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

看看这篇文章,人们同意 1518 是最大总帧大小。为什么我不需要将其更改为 1518 而不是 1514 字节?如果这是以太网有效负载的最大大小而不是最大大小,为什么默认帧大小是 1500 。

Eva*_*son 5

1518 是“老派”802.3 以太网的最大帧大小。如果将帧校验和序列卸载到 NIC,则 1514 是最大帧大小(因为 4 字节帧校验和将由 NIC 添加)。

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

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