好的,我刚刚解决了几个Xserves,一个Netgear GSM7224和一个Drobo B800i之间的巨型帧问题。 事实certificate,Xserves(Mac OS X 10.6.8服务器)和Drobo B800i以通常的预期(1500-9000)字节接受MTU,但是Netgear似乎希望它包括各种以太网头/页脚(拖车),我最终以configuration了9000的MTU和Netgear端口设置为9216的MTU的Xserves&Drobo结束了。
我已经使用了以下命令来testing和validationNetgear上两个Xserver之间的MTU(注意:这些是Mac OS X命令,Windows和Linux的命令不同):
ping -D -s <mtu> <ip_address> traceroute -F <ip_address> <mtu>
前者的用法在man页中标记为“指定要发送的数据字节数,缺省值为56,当与8个字节的ICMP头数据组合时,转换成64个ICMP数据字节。 在testing中,我发现ping -D 1472 <ip_address>相当于MTU 1500,因为有8个字节的ICMP头部数据加上20个字节的IP头部(见本和这个 )。 这一切都是有道理的。
现在,为什么9000 MTU的等价命令ping -D -s 8164 <ip_address> ? 我已经validation这是我明星之前得到“sendto:消息太长”的错误的限制,但也是9000 MTU正常工作作为traceroute -F <ip_address> 9000作品和traceroute -F <ip_address> 9001不。 那么,为什么8164? 我预计8972(MTU – 28字节,就像1500 MTU)。
另外,为什么Netgear 9216 MTU? 我为MAC和以太网报头(包括CRC)计算了42个字节,加上了20个IP报头(应该吃进MTU)。
我在这个math上真的很生疏,知道我只是想念一些东西。
欢迎来到奇怪和神秘的巨型框架世界! 巨型帧以太网设备的MTU> 1518和<65K字节是正常的,您必须find一个设置,这是L2域中最低公分母,以启用适当的巨型stream量。
我的猜测是你的ping / ICMP实现只对8192字节有效负载有效,所以8164 + 28(IP头为20,ICMP头为8)为8192字节。
MTU 9216也是思科许多设备上的标准9K MTU,所以我的假设是,Netgear希望与之“兼容”。
另外请注意,MTU尺寸规格应该认真对待,很多厂商不包括802.1Q(vLAN)甚至L2帧头。 请查看交换机供应商的文档,他们在谈论MTU大小时确实指定了哪些内容。