BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Efectos de cambiar el valor del MTU

BocaDePez
BocaDePez

Soy noob en esto de redes, pero estaba leyendo teoría acerca de este tema, y como algunos dispositivos optan por configurarlo, la mayoría de las veces se configura solo.

Quiero saber, si teniendo conectado un dispositivo vía Ethernet, cambiándolo a un valor menor, ¿qué efecto produciría? La teoría me dice que este es el valor máximo estándar que puede tener un paquete con Ethernet, y que tener un valor más pequeño de repente reduciría la fragmentación de estos paquetes de datos al ir llegando al destino.

El hecho es que tenía problemas de conexión, ésta se perdía copiosamente al querer contactar con el servidor. Cambié el valor de MTU a 1000 (por defecto 1500), y ya no tengo ese problema. Comunicación con el servidor, fluida.

¿A qué puede deberse esto?

superllo

Así a bote pronto se me ocurre que aumente el tráfico de control, sobre todo por las cabeceras, que ahora son más numerosas. Es posible que tuvieras un valor demasiado grande para alguna red intermedia y te estuvieran descartando paquetes pero a ver si alguien te dice algo más coherente.

BocaDePez
BocaDePez
1

Voy a ver si yo puedo ser algo más coherente.

En el mensaje inicial parece que se están mezclando ciertos conceptos que no son del todo correctos. Es completamente anormal que los dispositivos configurasen ellos solos el valor de MTU, otra cosa es que permitan al usuario modificar dicho valor a través de alguna interfaz de configuración. Espero que el autor del hilo no esté confundiendo la autoconfiguración de la ventana de recepción (RWIN) o envío (SWIN) que tiene inherentemente el protocolo TCP, con el valor de MTU. Son conceptos cercanos, pero en absoluto equivalentes.

Qué indica el valor del MTU

El valor de MTU (Máxima Unidad de Transferencia) indica el valor máximo en bytes que puede tener un paquete de datos que circule por un determinado medio "físico/lógico", antes que tengamos que fragmentar el flujo de datos en un nuevo paquete diferente. Hablo de medio "físico/lógico", porque con el tema de la encapsulación de protocolos para que funcionen a través de medios físicos (ondas de radio, hilos de fibra óptica) diferentes a los que inicialmente se diseñaron en su día (cable telefónico, pares de cables trenzados, etc) pues la distinción cada vez es más difusa.

En el protocolo Ethernet (familia IEEE 802.3) el valor de MTU típico es de 1500 bytes. Cuando cada equipo se comunica en un mismo protocolo todo va fluido. El problema viene cuando te comunicas con un equipo remoto a través de un protocolo diferente que tiene un MTU menor. En el caso de protocolos que van encapsulados unos dentro de otros, nos encontramos a veces que tenemos que crear una sesión PPP para conectar nuestro ADSL, o un túnel PPTP para acceder a una VPN remota de forma segura… esos 2 protocolos, por ejemplo, tienen un MTU menor de 1492 bytes.

Cuando tenemos en un extremo una tecnología que parte el flujo de información en trozos de 1500 bytes y al otro extremo otra tecnología que parte el flujo de datos en trozos de 1492 bytes, no queda otro remedio que refragmentar. O creamos 2 paquetes de datos, uno de 1492 y otro de 8, que es bastante ineficiente… o vamos creando trozos al vuelo de tal forma que 373 trozos de uno equivalgan a 375 trozos del otro… esto implica un gasto de memoria para llevar la cuenta, que puede llegar a colapsar un router o un servidor malo.

Qué pasa al bajar el valor del MTU

Si nosotros bajamos en nuestro extremo el MTU, en esos casos generamos trozos de forma diferente, haciendo que no necesitemos refragmentarlos y evitando la carga adicional en los extremos del camino para reordenar los paquetes de datos. Por ello es por lo que al bajar desde 1500 a 1000, viste que el problema desaparecería... aunque 1000 parece un valor extremadamente bajo, hubiese sido mejor averiguar mediante ICMP y anulando la fragmentación (comando ping -f) cuál era el MTU adecuado. Cuantos menos paquetes enviemos, la velocidad mejorará.

Además, cuando nos conectamos a través de Internet, lo hacemos a través de cadenas de routers de carriers internacionales, con diferentes caminos de ida y vuelta de los datos. Es muy atípico, pero en los 10 años que llevo en este foro, se han visto casos de agujeros negros: routers que no admitían determinados tamaños de paquetes, y tenían deshabilitado ICMP (el protocolo que se usa normalmente en los pings y que entre otras cosas sirve para informar a remitente de problemas en la transmisión), con lo que no llegabas a destino y no te informaba de ello, eliminando todos los datos que pasaban por él.

🗨️ 1
BocaDePez
BocaDePez

Un saludo y gracias por tan magnífica respuesta. En efecto el dispositivo permitía cambiar el valor de MTU, llegué el resultado pero lo que no entendía era la razón de ello. Te agradezco el aporte

txuspe

Solo quería comentar que 1500 es el valor MTU típico en Ethernet (y por lo tanto en internet, hoy en día casi todo es Ethernet) pero no es el valor máximo. En algunas redes, por ejemplo en redes educativas y de investigación (NREN), a veces se emplean tamaños de MTU superiores (típicamente 9000) porque a mayor MTU, mejor rendimiento (menos cabeceras).

🗨️ 1
JoeDalton

En almacenamiento iSCSI también se utilizan MTU de 9000 (jumbo frames).

La ventaja es el aumento de rendimiento a la hora de transferir datos ya que se transfieren menos cabeceras como bien dices.

Yo tengo varias redes donde tenemos implementado tramas jumbo y en backup la ventana se ha reducido un 20% en el tiempo de un MTU 1500 pasarlo a 9000.

ivimail

Puedes probar un mtu de 1512 o 1492 para conexiones PPPoE o PPPoA

🗨️ 2
BocaDePez
BocaDePez

¿1512? Me parece que no, en absoluto. Revisa tus cifras y de dónde las has copiado, porque no son correctas.

🗨️ 1
ivimail

no estoy equivocado. 1512 y 1492 son el mtu utilizado para enlaces atm y ppp sobre atm, con encapsulaciones llc y vcmux. si el problema es que pierde paquetes esa puede ser la solucion, ajustar el mtu en el router