En alguna ocasión seguro que habéis tenido problemas con lo valores por defecto de la MTU de vuestra conexión de red.
Red | MTU (Bytes) |
---|---|
——————————– | —————– |
Token Ring de 16 Mbps | 17914 |
Token Ring de 4 Mbps | 4464 |
FDDI | 4352 |
Ethernet | 1500 |
IEEE 802.3/802.2 | 1492 |
X.25 | 576 |
Lo primero que vamos a ver el tamaño actual de la MTU que tienen nuestras interfaces de red, para ello abrimos un CMD con derechos administrativos y escribimos el siguente comando: netsh interface ipv4 show subinterfaces
Como vemos nos muestra el listado de Interfaces con varios valores y entre uno de ellos la MTU (por defecto 1500Bytes)
Para identificar el valor de MTU que debemos aplicar, podemos hacer algo muy sencillo que es lanzar un ping desde nuestra maquina a otro host de la red (preferiblemente un enrutador o dispositivo con funciones similares) con los siguientes modificadores: -f (Establecer marca No fragmentar en paquetes) y -l (Enviar tamaño del búfer). Si superamos el tamaño máximo de MTU obtendremos la siguiente respuesta:
Debemos repetir el test hasta que obtengamos el siguiente resultado (decreciendo el valor de MTU en valores de 10)
Una vez que hemos encontrado el valor de MTU que se ajuste a nuestras necesidades, debemos establecerlo en nuestras interfaces de red. Esto podemos hacerlo con el siguiente comando:
netsh interface ipv4 set subinterface "Nombre_Interface" mtu=1300 store=persistent
Si ahora ejecutamos el primer comando (netsh interface ipv4 show subinterfaces) para que nos muestre el resumen de las interfaces y sus valores, como se aprecia se han establecido en función de nuestros parámetros
También os muestro una herramienta gráfica para realizar el cambio de MTU: DRTCP021
Los síntomas de un exceso de MTU suelen ser la lentitud, pérdida de paquetes, microcortes, acceso a Internet lento e incluso sin llegar a cargar las páginas web que queremos visitar, etc… además puede tener otros comportamientos muy extraños. En algunas ocasiones he visto enlaces de VPN a través de los cuales los usuarios se conectaban a los servidores de RDS y no les mostraba la pantalla de login pero si el resto de la ventana!!!! Ante estos síntomas a veces hasta el ingeniero de redes más experimentado tiene problemas para detectarlo.
Yo suelo utilizar una herramienta más pontente para tratar de detectar problemas de MTU, y que me permite tener estadísticas de todo el recorrido de la conexión. Tiene un nombre muy acorde con el tema: MTUROUTE. Os muestro el listado completo de sus modificadores:
mturoute [-t] [-f] [-m MAX_PAYLOAD_SIZE] host
-t : Toggles 'traceroute' mode. (Default is off)
-f : Allow fragmentation. This will return the max ping size that the
target host will respond to, but not necessarily the MTU
-w : Set the number of milliseconds to wait for a response (default 3000).
-r : Set the maximum number of probe retries on timeout (default = 3).
-i : Set the interval between two echo requests
-d : Increases the debugging level. Reports ICMP status/failures
-m : Sets a maximum payload size to test. (Default is 10000)
-v : Print version info and exit
-z : Fill ICMP packets with random data
-p : Fill ICMP packets with a specified pattern
-s : Skip speed optimizations
-x : Redact IP addresses in output
Este es un ejemplo sin modificadores y veréis como hace pequeños muestreos para verificar cual es el valor más acertado en función de los resultados:
En este caso se ha ajustado No muestra que la MTU es de 1200, y está en lo cierto porque el enlace en donde lo estoy probando es una VPN IPSec Site-to-Site y las interfaces de los Firewalls están ajustadas a una MTU de 1200Bytes. Ahora vamos a ver otra comprobación de MTU pero en un red algo más "grande" con el modificador -t:
Como ves ve nos va mostrando el valor de MTU por cada enlace que atraviesa, esto nos facilita mucho la vida :-). También debemos tener en cuenta que a cada salto que vamos atravesando desde nuestro equipo al host de destino, los dipostivos intermedios pueden tener valores de MTU más pequeños que nosotros, lo que hará que nos muestre siempre el valor más pequeño aunque el host de destino tenga una MTU de 1500. Pensad que al fin y al cabo nosotros debemos pasar por esos enlaces y con este tamaño de MTU, si quisieramos forzar el atravesarlos con nuestra MTU … es cuando tendríamos el problema, puesto que empezaríamos a fragmentar de tal forma empezaríamos a sufrir los síntomas comentados. Aqui tenéis una imagen súper clara de lo comentado, nuestro equipo y el destino tienen una MTU de 1500Bytes, pero en cuanto pasa por el salto C ya nos mostrará el salto D y el destino con la MTU del C.
Como podéis ver es una herramienta estupenda, aqui os dejo el enlace de descarga: MTUROUTE
Espero que les sea de utilidad!!
Leave a Reply