我今天早些时候解决了一个问题,但是我很想学习为什么它工作。 我们build立了一个新的Hyper-V虚拟机,只是为了发现HTTPstream量不工作。 HTTPS,坪,其他一切工作正常。
经过几个月的刺激,我在黑暗中射中了一枪。 在Hyper-V主机服务器上,物理NIC卡的“Max Ethernet Frame Size”设置为1500.将此设置设置为1514后,问题得到解决。 或者,将其设置为1512并不能解决问题。 1514是魔术数字。
我最好的猜测是,当这个设置被设置为1500时,它允许传入ping,因为数据有效载荷比HTTPstream量要小得多。 就HTTPSstream量而言,我读了一些名为“pathMTU发现”的内容,我将假设为什么HTTPstream量正在好转,尽pipe速度较慢。
看这个post ,人们同意1518是最大的总帧尺寸。 为什么我不需要把它改为1518而不是1514字节? 为什么默认帧大小为1500,如果这是以太网有效载荷的最大大小而不是最大大小。
1518是“老式”802.3以太网的最大帧大小。 如果将帧校验和序列卸载到NIC,则1514是最大帧大小(因为NIC将添加4字节帧校验和)。
1500是以太网的IP最大传输单元(MTU),因为1500字节的有效载荷在1518字节的以太网帧中可用。 将NIC的最大帧大小设置为1500字节将导致IP MTU 1482字节。
目前还不清楚为什么有人将网卡的最大帧大小更改为1500字节。 我怀疑有人把最大帧大小与MTU混淆。 没有人会用你描述的方式来设定。