testing巨型帧是否实际工作

有没有一个命令来testing巨型帧是否真的在工作? 即某种forms的“ping”,用来报告这个数据包是否被破坏。

我有一个ESXi主机和一个通过iSCSI挂载Dell MD3000i的Ubuntu VM。 我怀疑在交换机上没有启用巨型帧,并且不能轻易获得pipe理员访问权限。 我可以select将磁盘arrays直接连接到ESXi主机,但想要确认巨型帧是否首先出现问题。

启用巨帧意味着允许更大的最大传输单元(MTU),通常通过将MTU设置为9000。

为了validation这一点,你可以在窗口中使用-l标志设置数据包大小,使用-f标志在数据包中设置Do not Fragment标志。

ping my.test.host -f -l 8972 

如果数据包被分割,你会看到

 Packet needs to be fragmented by DF set 

代替你通常会看到的东西。

对于Linux, ping命令使用不同的标志。 -s设置数据包的大小, -M do设置Do Not Fragment。 所以上面的命令是:

 ping my.test.host -M do -s 8972 

通过调整数据包的大小,你可以计算出链接的mtu是什么。 这将代表path中任何设备允许的最低mtu,这可能是您的交换机,计算机,目标或其他任何设备。

这本身并不能告诉你最低的MTU在哪里 – 你可以通过在path中的不同设备上运行testing来解决这个问题,但是总是有透明路由器限制MTU,但是不会显示出来为traceroute

请注意 ,ICMP标头的开销为28字节,因此MTU比通过上述方法build立的数字大28个字节。 所以要检查9000的MTU,你实际上需要设置你的ping数据包大小为9000-28 = 8972。

更新我发现了一些资源,将具体找出跨主机和目标之间的path的MTU:

  • 对于Windows mturoute
  • 对于* nix tracepath或traceroute –mtu

还有一些关于寻找pathMTU的讨论 。

我不确定这会工作,但你可以试试看:

在具有MDSM客户端的计算机上确保支持并启用巨型帧,然后转到MDSM客户端的支持选项卡并select“收集支持信息”链接,在MDSM客户端上select一个位置以下载文件,在MDSM客户端上启动数据包捕获,然后单击开始button开始收集和下载支持信息(zip文件)。 收集/下载完成后,查看捕获情况,看看MD3000i到MDSM客户端的以太网帧有多大。 如果交换机,MD300i和MDSM客户端都configuration为巨帧,则应该在捕获中的以太网帧大小中看到。

在ESXi中,您需要指定要使用的接口,否则ping将通过mgmt接口进行路由,并在-d中设置DF(不分段):

vmkping -I vmkX -s 8972 -d xxxx

http://kb.vmware.com/kb/1003728

您也可以通过SSH从ESXi控制台检查:打开安全 – >防火墙 – >远程技术支持(SSH),并在login后执行“vmkping -s 8000”或类似的东西(不记得它的选项)