是否有命令来测试巨型帧是否真的有效?即某种“ping”,报告该包是否在途中被破坏.
我有一台带有Ubuntu VM的ESXi主机,可通过iSCSI安装Dell MD3000i.我怀疑交换机上没有启用巨型帧,并且无法轻松获得管理员访问权限.我可以选择将磁盘阵列直接连接到ESXi主机,但是想要一些确认巨型帧首先出现问题的方法.
启用巨型帧意味着允许更大的最大传输单元(MTU),通常通过将MTU设置为9000.
原文链接:/ubuntu/349086.html要验证这是否有效,您可以使用带有-l标志的ping in windows来设置数据包大小,使用-f标志来设置数据包中的Do not Fragment标志.
ping my.test.host -f -l 8972
如果数据包碎片化,你会看到
Packet needs to be fragmented by DF set
代替你通常会看到的东西.
对于Linux,ping command使用不同的标志. -s设置数据包大小,-M确实设置Do Not Fragment.所以上面的命令是:
ping my.test.host -M do -s 8972
通过调整数据包大小,您可以确定链接的mtu是什么.这将代表路径中任何设备允许的最低mtu,可能是您的交换机,计算机,目标或其他任何设备.
这本身并不能告诉您最低MTU的位置 – 您可以通过将测试运行到路径中的不同设备来解决这个问题,但是可能始终存在限制MTU但不显示的透明路由器用于traceroute.
注意ICMP报头的开销为28字节,因此MTU比通过上述方法建立的数字大28个字节.因此,要检查9000的MTU,您实际上需要将ping数据包大小设置为9000-28 = 8972.
更新我发现了一些资源,它们将专门计算出主机和目标之间路径的MTU:
>对于Windows mturoute
>对于* nix tracepath或traceroute –mtu