Probar si los marcos jumbo realmente funcionan

28

¿Hay un comando para probar si los marcos jumbo realmente funcionan? es decir, algún tipo de "ping" que informa si el paquete se rompió o no en el camino.

Tengo un host ESXi con una máquina virtual Ubuntu que monta un Dell MD3000i a través de iSCSI. Sospecho que los marcos jumbo no están habilitados en el conmutador y no pueden obtener acceso de administrador fácilmente. Tengo la opción de conectar la matriz de discos directamente al host ESXi, pero me gustaría alguna forma de confirmar que las tramas gigantes son un problema primero.

pez globo
fuente

Respuestas:

42

Habilitar Jumbo Frames significa permitir una Unidad de transmisión máxima (MTU) más grande, generalmente configurando la MTU en 9000.

Para verificar que esto ha funcionado, puede usar ping en ventanas con el indicador -l para establecer el tamaño del paquete y el indicador -f para establecer el indicador No fragmentar en el paquete.

ping my.test.host -f -l 8972

Si el paquete se fragmenta, verá

Packet needs to be fragmented by DF set

en lugar de lo que normalmente verías.

Para Linux, el comando ping utiliza diferentes indicadores. -sestablece el tamaño del paquete y -M doestablece No fragmentar. Entonces el comando anterior sería:

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

Al ajustar el tamaño del paquete, puede averiguar cuál es el mtu para el enlace. Esto representará los mtu más bajos permitidos por cualquier dispositivo en el camino, que podría ser su interruptor, su computadora, destino o cualquier otra cosa intermedia.

Esto por sí solo no le dirá dónde está la MTU más baja: puede resolverlo ejecutando la prueba en diferentes dispositivos en la ruta, pero siempre podría haber enrutadores transparentes que limiten la MTU pero no aparezcan para traceroute.

Tenga en cuenta que hay una sobrecarga de 28 bytes para los encabezados ICMP, por lo que la MTU es 28 bytes más grande que la cifra que establece a través del método anterior. Entonces, para verificar una MTU de 9000, en realidad necesita establecer el tamaño de su paquete de ping en 9000-28 = 8972.

Actualización Encontré algunos recursos que determinarán específicamente la MTU en la ruta entre el host y el destino:

  • Para Windows mturoute
  • Para * nix tracepath o traceroute --mtu

Y un poco más de discusión sobre cómo encontrar el MTU de un camino .

dunxd
fuente
+1. Buena respuesta. Pensé en esto también, pero no estaba seguro de si le permitiría detectar cuál era el tamaño de trama admitido por el interruptor. No pensé en ello como prueba de la ruta MTU.
joeqwerty
1
Agradable ... en Windows. Pequeño cambio para que funcione en Linux. [ping 10.1.1.101 -s 1472] donde 1472 es el tamaño de MTU. Por favor, edite su pregunta para incluir esto y voy a aceptar
pez globo
Aquí hay una utilidad que utiliza el método descrito por dunxd: elifulkerson.com/projects/mturoute.php
Chris
2
Ok, la página man te habría ayudado de inmediato, pero he actualizado con los detalles específicos de Linux. No se requiere fragmentar el indicador para que la prueba funcione correctamente, y esto no es tan claro en el ping de Linux como en Windows.
dunxd
1
Si primero habilita SSH en el host ESXi e vmkping -d -s 8972 10.1.1.101inicia sesión, puede usar , donde -s establece el tamaño del paquete y -d establece el indicador No fragmentar.
Eric3
1

No estoy seguro de que esto funcione, pero podrías intentarlo:

En la computadora que tiene el cliente MDSM, asegúrese de que los Jumbo Frames sean compatibles y estén habilitados, luego vaya a la pestaña de soporte en el cliente MDSM y seleccione el enlace "Recopilar información de soporte", seleccione una ubicación en el cliente MDSM para descargar el archivo, inicie una captura de paquetes en el cliente MDSM y haga clic en el botón de inicio para comenzar a recopilar y descargar la información de soporte (archivo zip). Cuando finalice la recopilación / descarga, observe la captura y vea qué tan grandes son las tramas Ethernet desde el MD3000i hasta el cliente MDSM. Si el conmutador, el MD300i y el cliente MDSM están configurados para tramas Jumbo, debería verlo en el tamaño de trama de Ethernet en la captura.

joeqwerty
fuente
1

En ESXi, debe especificar qué interfaz usaría, de lo contrario, el ping se enruta a través de la interfaz mgmt, más en -d para establecer DF (no fragmentar):

vmkping -I vmkX -s 8972 -d xxxx

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

Jay Ge
fuente
-1

También puede verificarlo desde la consola ESXi a través de SSH: active Seguridad-> Firewall-> Remote Tech.support (SSH) y después de iniciar sesión en ssh haga "vmkping -s 8000" o algo así (no recuerde exactamente sus opciones)

Dyr
fuente
44
Busque las opciones y alguien podría votarlo.
dunxd