Modificar el parámetro de la MTU o Maximum Transmission Unit, en nuestra tarjeta de red, en Windows, nos permite optimizar la descarga de archivos y la velocidad de la navegación en Internet.
Primero, debemos realizar las pruebas, para comprobar el valor exacto de MTU que necesitamos, para luego poder definir dicho valor en cada conexión de red.
La información en una red se envía agrupada en paquetes de datos. El Maximum Transmission Unit, es la máxima cantidad de datos, que puede ser transmitido en un paquete de datos.
Windows, asigna un valor predeterminado de MTU a cada conexión de red dependiendo del tipo de conexión.
Si el valor por defecto de MTU es demasiado alto puede causar fragmentación de paquetes, y como consecuencia de esa fracmentación, pérdida de paquetes durante el envío, sin embargo, si es inferior a la óptima, no aprovecharemos de forma adecuada nuestra red.
Los valores MTU que asigna Windows por defecto son:
En redes locales Ethernet = 1500 bytes
Redes PPPoE o Point-to-Point Protocol over Ethernet = 1492 bytes
Redes PPPoE (Windows XP) = 1480 bytes
Conexiones dial-up = 576 bytes
Cada MTU, esta formado por las cabeceras más el MSS o Maximum Segment Size.
MSS, es el Tamaño Máximo de Segmento y define la información real que es enviada en un paquete.
Primero, debemos conocer el valor asignado por Windows de MTU a nuestras conexiones de red, utilizaremos el comando NETSH o Network Shell.
Abriremos la consola de CMD y escribiremos el siguiente comando.
netsh interface ipv4 show subinterfaces
Obtendremos, la lista de todos los adaptadores de red instalados en nuestro equipo junto con sus MTU.
En nuestro ejemplo, el valor MTU es 1500, tanto para la Conexión de área local, como para la Conexión de área local 2, que son las tarjetas de red físicas instaladas en nuestro equipo, habiendo obtenido estos datos, debemos calcular el Tamaño Máximo de Segmento o MSS, para hallarlo hay que restarle los 28 bits usados por las cabeceras, IP 20 bytes mas ICMP o Internet Control Message Protocol 8 bytes.
MTU - cabeceras TCP & IP = MSS
1500 - 28 = 1472
1472 es el Tamaño Máximo de Segmento o MSS que usamos en nuestra conexión. Seguidamente comprobaremos si usando dicho valor existe o no fragmentación en los paquetes de datos enviados.
Para determinar si existe o no fragmentación en los datos enviados usando el valor MSS anterior, no hay nada mas fácil, usaremos el comando PING.
Para nuestro ejemplo usaremos los servidores de Google.
Abriremos una consola de CMD y escribiremos.
ping google.com -f -l 1472
La respuesta debe ser la típica del comando PING, Respuesta desde..., desgraciadamente no es nuestro caso, nosotros tenemos fragmentación en los paquetes y nos responde, Es necesario fragmentar el paquete pero se especificó DF.
Así pues, en caso que exista fragmentación, como en nuestro ejemplo, significa que el valor MTU que estamos usando, no es el óptimo, repetiremos la solicitud de PING disminuyendo el valor de MSS en 5, por ejemplo:
ping google.com -f -l 1467
Así procederemos, sucesivamente hasta que nos encontremos con un valor de MSS, que el paquete de datos sea enviado correctamente y no retorne ningún error.
ping google.com -f -l 1472
ping google.com -f -l 1467
ping google.com -f -l 1462
ping google.com -f -l 1457
ping google.com -f -l 1452
ping google.com -f -l 1447
ping google.com -f -l 1442
Al encontrar ese valor, será necesario seguir realizando solicitudes de PING, pero ahora incrementando el valor de MSS en uno, hasta llegar a un punto exacto.
La primera prueba será:
1442 + 1 =1443
ping google.com -f -l 1443
Para nuestro ejemplo, comprobamos, que el valor de MSS ideal es 1442, ya que 1443 vuelve a tener fragmentación.
Finalmente al valor de MSS correcto, tendremos que volver a sumarle la cantidad 28, para obtener el MTU óptimo para nuestra conexión de red.
MTU óptimo: 1442 + 28 = 1470
Seguidamente debemos establecer el valor a nuestra conexión de red, para modificar el valor de MTU en nuestra configuración de red, usaremos de nuevo el comando NETSH.
netsh interface ipv4 set subinterface "Conexión de área local" mtu=1470 store=persistent
Podemos volver a comprobar los cambios mediante el comando.
netsh interface ipv4 show subinterfaces
Espero os sea de utilidad.
Me ha sido de mucha ayuda, en especial con los videojuegos, muchas gracias
ResponderEliminar