Buenos Días!
Dispongo de una conexión de fibra de 600 con un HGU en modo bridge conectado a un Mikrotik.
Por motivos laborales, gestiono múltiples routers similares y por una coincidencia, acabo de darme cuenta de un detalle que explicaría unos problemas de conectividad que vengo sufriendo.
Por algún motivo o razón, mi router es incapaz de negociar una MTU superior a 1480 sobre la interfaz PPPoE, mientras que en absolutamente todos los routers que gestiono, negocian a 1492
He probado a cambiar la ONT y el router, todo sigue igual. El máximo valor que admite es 1480.
Eso explicaría por qué a la hora de cargar ciertas páginas no lo hace a la primera o lo hace con cierta lentitud.
La pregunta es ¿Depende el valor de MTU de las distintas centrales de Movistar? Podemos tener una central con una valor de MTU distinto a otras?
Saludetes!
El valor de 1480 si no recuerdo mal era de payload, a eso hay que sumarle lo que mete la ONT con lo que nos ibamos a los 1500
Si necesitas soporte técnico en averías de Móvil, Fijo, Movistar+ o Internet Fijo (cobre o fibra), puedes acceder a nuestro apartado de Soporte Técnico o rellenar este formulario. También puedes contactar con nosotros llamando al 1002.
Si necesitas contratar Fibra Óptica, comprobar tu cobertura Adsl y Fibra, o ver información sobre la instalación de la fibra visita nuestra página ADSL y Fibra en movistar.es
Buenas @Frodo_San
El MTU no lo negocia la central, el MTU se negocia entre los dos extremos finales, usando el más pequeño de ambos. En cualquier caso usar un MTU menor, jamás provoca problemas, es al contrario lo que los causa.
Sin entrar en Frames Jumbo, el tamaño máximo de payload de un Frame Ethernet es de 1500Bytes (MTU). Dado que Movistar usa PPPoE para el establecimiento de la conexión, nos quedan 1492Bytes útiles, ergo para nosotros el MTU máximo (que no siempre es el óptimo) es de 1492.
El 99% de todos los dispositivos están preconfigurados para usar MTU de 1500, es decir, Windows, Android y otros. Esto podría ocasionar grandes problemas si realmente emitiesen con dicho MTU, porque al añadirse los 8Bytes de PPPoE excedería el máximo permitido, y muchos frames se perderían. Una solución a esto sería cambiar el MTU de todos los dispositivos conectados a dicho Router, pero lógicamente no es práctico.
Dado que esto no es práctico, lo que se hace es que el 99% de todos los Routers, igualmente, se configuran para establecer un MTU en su WAN. Es una trampa sucia, pero 100% rápida y efectiva!! Todo lo que hace el Router es literalmente interceptar los SYN que envía un equipo de la red anunciando el MTU (que es casi siempre 1500) y lo cambia al vuelo por el MTU establecido en el Router. Bueno, en realidad lo que cambia es el MSS, que para una conexión con MTU de 1492, es un MSS de 1452. Así que cada vez que conectamos a algún sitio externo, nuestro equipo envía un paquete anunciando un MSS de 1460 (MTU de 1500), y así llega al Router, pero el Router lo envía al destino cambiando el MSS a 1452. El destino, generalmente anunciaría un MSS de 1460, pero como el tuyo es menor, responde que se usará un MSS de 1452 que recibe tu equipo, con lo que no hay que modificar nada más por parte del Router, dado que las dos partes se dan por enteradas.
Dependiendo de como se configure un Router, sobre todo si es más configurable/personalizable, puede ser perfectamente que no asuma este tipo de comportamientos, y entonces si tener problemas. Usar, repito, un MSS por debajo de valor, no es problema, más sí.
En cualquier Router de todos modos que deje toquetear esto se soluciona de forma muy simple. Si la interfaz PPPoE se ha establecido un MTU de 1492, sólo hay que meter por iptables una regla básica:
iptables -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
En algunos Routers esto puede causar problemas si no hacen un descubrimiento adecuado, es raro pero puede pasar, en ese caso sería tan sencillo como fijarlo manualmente:
iptables -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
En el pasado, la ONT alcatel tenía un bug que incorrectamente añadía 2 Bytes al frame cuando venían de fuera, cuando se realizaba una conexión entrante desde fuera, pero eran casos aislados, y como digo el MTU es un problema siempre que es de más, no de menos.
Buenos Días y gracias por la respuesta a ambos;
Tengo claro el funcionamiento del MTU, la duda que me asalta es por qué en mi router negocia 1480 en la interface PPPoE cuando en el resto lo hacen a 1492.
Entiendo que no debería ser ningún problema en la navegación, salvo que tengo mas de 50 túneles ipsec y el hecho de tener distintos MTUs me obliga a ajustar el MSS para optimizar el rendimiento de las VPNs.
Si fueran iguales, sería mas sencillo 😉
La pregunta sería ¿Puede Movistar usar distintas MTUs sobre las conexiones de fibra?
Gracias de Nuevo y Saludetes!
Editado 08-06-2018 12:53
Editado 08-06-2018 12:53
Buenas @Frodo_San
No.
Bueno, por poder podría hacerlo, podría modificar al vuelo el MTU que quisiese interceptando tráfico, pero no tendría mucho sentido sinceramente, y jamás he visto que hiciese algo así. El servidor ppoe "negocia" un MTU con el cliente pppoe, pero en última instancia quienes lo negocian son los extremos y el que esté fijado en la interfaz
No, no hay distintas MTU.
Si necesitas soporte técnico en averías de Móvil, Fijo, Movistar+ o Internet Fijo (cobre o fibra), puedes acceder a nuestro apartado de Soporte Técnico o rellenar este formulario. También puedes contactar con nosotros llamando al 1002.
Si necesitas contratar Fibra Óptica, comprobar tu cobertura Adsl y Fibra, o ver información sobre la instalación de la fibra visita nuestra página ADSL y Fibra en movistar.es
La interface PPPoE si que negocia MTU. Lo que puedes forzar es el valor de Max MTU y MRU, pero la MTU se negocia. La demostración abajo 😉
En cualquier router, vemos que tenemos un 'actual MTU' de 1492
Y sin embargo, en el mío:
Eso es lo que me extraña 😉
Gracias a todos!
Buenas @Frodo_San
Las imágenes se bloquean hasta pasado un tiempo con lo que la mejor forma de verlas es usando un servicio externo y enlace, sino imposible verlas.
Los servidores PPPoE especifican un MTU en los paquetes de inicialización y son respondidos por el MTU que, precisamente, se especifica en la interfac PPPoE del cliente, prevalece siempre el más bajo, obviamente, que es por lo general el que el cliente diga.
La interfaz PPPoE la seteas a 1492, y Router debería de fijar las conexiones que salgan por PPPoE a 1492. Da igual el valor que especifique el servidor PPPoE, que muy posiblemente será siempre o 1500 o 1492, dependiendo de como se haya configurado.
Hola Theliel!
Gracias por la respuesta. No sabía lo de las fotos, así que subo enlaces.
Mi Router: http://i65.tinypic.com/308wtts.jpg
Otro Router: http://i64.tinypic.com/2hqgjtt.jpg
En cuanto a lo que comentas, exactamente es lo ocurre. No entiendo como teniendo una MaxMTU de 1492, la MTU efectiva se quede en 1480.
Un Saludo!
Buenas @Frodo_San
Gracias por las imágenes, mejor así 🙂
Lo único que se me ocurre es que el servidor PPPoE esté enviando un MTU de 1480 por un problema de configuración, y que para tu Router prefiera prevalecer dicho valor al especificado manualmente. Podría pasar, si tu Router cree realmente que la conexión se tiene que hacer como máximo a 1480. No he visto nunca una centralita que envíe 1480, si he visto 1500 y 1492 indistintamente, pero en cualquier caso los equipos de Movistar se salvaguardan e ignoran esto, trabajan sí o sí con 1492
De todos modos haz una cosa y podemos tener una idea mucho mejor. Captura el tráfico de la interfaz PPPoE para ver que MTU anuncian, y de paso ver que equipos están usando en esa centralita. Aquí han cambiado el equipamiento hace poco, ahora estoy viendo que estoy conectando a un Alcatel-Luncent, cuando hace unas semanas tenía delante un Juniper
Buenas @Dracot y @Frodo_San
Creo que sé lo que está pasando, y es fallo del mikrotic.
Bueno, en eso tengo que darle algo de razón al amigo @Frodo_San, el servidor PPPoE sí intercambia con el cliente PPPpE un MRU al que supuestamente se tendría que configurar la interfaz. Esto se realiza justo después de establecer la conexión PPPoE (PADS), pero antes de realizar la identificación PPP.
Si la configuración la inicia el servidor PPPoE, este anunciará un MRU de 1500 o 1492 por lo general. A este MRU nuestro cliente PPPoE debería de responder con un correcto 1492, que previamente está seteado y configurado.
Sobre lo que comenta @Dracot, esto es totalmente independiente a PMTU (Path MTU Discovery), que además a día de hoy no se usa por la sencilla razón de que PMTU requiere del tráfico ICMP por lo general, cosa que cada vez está más bloqueado (los routers residenciales todos, en todo caso permiten ICMP Ping). Además, eso sin contar que la mayoría de los Firewalls/Routers también filtran directamente los paquetes fragmentados.
A día de hoy, debido a la imposibilidad por lo geneneral de poder usar PMTU, se usa como decía en un principio un "descubrimiento" de MTU por medio de TCP y los paquetes SYN, donde se indica para que el destino/origen se adecue a un MTU adecuado.
Respecto al problema en cuestión, tu Mikrotic no se debe de estar llevando bien con el servidor PPPoE que está conectando. Mikrotic usa un MTU/MRU por defecto de 1480 para conexiones PPPoE, no 1492. Si por cualquier razón detecta algo incorrecto, revierte dicho valor a 1480, que es lo que te está pasando.
Lo que puede estar pasando internamente es ya especulativo sin una captura de trafico de toda la negociación PPP. En lo personal, lo que creo que está pasando es que en la negociación por alguna razón el Mikrotic está seteando un MTU/MRU de 1500 o algún otro valor no.. "permitido" con lo que ante una respuesta "negativa" del servidor PPPoE este vuelve a renegociarlo a su valor por defecto, que es 1480.
Con una captura de tráfico deberíamos verlo todo totalmente claro.
En cualquier caso, un MTU por debajo de lo que se considera como máximo no es para nada un problema. De echo siempre ha existido la falsa creencia que el MTU máximo a poder usar siempre es el MTU mejor o más eficiente, y esto no es cierto... hace mucho escribí sobre esto, aunque no es extrapolable para las líneas de fibra y fue sólo para conexiones DSL:
http://blog.theliel.es/2011/10/redes-%C2%BFmtu-maximo-u-optimo-para-conexiones-xdsl.html
Buenas @Frodo_San
La centralita, que es lo que tenía mis dudas, está pidiendo dices 1492, con lo que es correcto. Sobre Windows es esperable, el cliente PPPoE de Windows usa por defecto un MTU de 1480, que es el que por tanto el cliente anuncia.
El Mikrotik, por alguna razón que desconozco, pasa por alto el MTU que estableces a su interfaz WAN y lo revierte a su valor por defecto de 1480. Podría ser cualquier problema de compatibilidad con dicha centralita, pero la negociación en principio parece correcta con las capturas que pones.
Quizás el log de la conexión pppoe del Mikrotic pueda decirnos algo más?
Hola otra vez!
Después de dar cambiazo a la ONT, tenemos resultados:
http://i63.tinypic.com/35kr12a.jpg
Efectivamente, ahora tengo una MTU de 1492.
Todo es igual; Mismos aparatos, configuración, red... todo, excepto la HGU (Una Mitrastar en vez de la Askey)
Así que, por ahora, está claro que la Askey en modo Bridge, por lo menos con el Mikrotik, no es capaz de negociar mas de 1480 bytes de MTU.
Voy a realizar alguna prueba más, para ver si saco algo mas en claro.
Saludetes!
Buenas @Frodo_San
Con el ASKEY precisamente si puedo ayudarte que es el que tengo como ONT también en medio-bridge, y 1492 sin problema con diferentes Routers por mi parte. Sin poder replicar el problema y ver que puede estar fallando es ir un poco de ciegas, y no tengo ahora mismo a mano ningún Mikrotic.
Has podido ver algo en el registro PPPoE del propio Mikrotic?
Muy buenas,
@Frodo_San quería preguntarte si has podido solucionar el problema y si al final has podido realizar las pruebas que comentabas..
Yo estoy en un caso muy parecido. Dispongo también de una conexión de 600/600 y tengo una huawei hg8240 (lo quité por un mitrastar HGU) cómo ONT y un mikrotik 3011 recibiendo la pública por pppoe y haciendo el nat.
El valor de la MTU en la interfaz pppoe también se me queda a en 1480. El motivo del porqué he llegado aquí es porque al conectar un pc y en los equipos que tengo en la Lan despues de natearlos con la ip publica que tengo. La velocidad de bajada me ronda los 500-600, pero la subida se queda entre 0.5 y 10mb lo máximo. Es algo muy raro (al menos para mi) xq al hacer el bandwidth test de esta mikrotik a otra (sí que me da unos valores mejores, no son los 600/600 pero no esa velocidad ridícula de subida). El hecho de que el mtu del interfaz donde lo tengo esté en 1500 tanto el ethernet, cómo la vlan 6 (interfaz de la cual cuelga el pppoe), puede estar afectando a esa velocidad??
Alguien me puede echar una mano?
Muchas gracias de antemano.
Buenas @el_neny
Por alguna razón que desconocemos el Mikrotik ve un error en la negociación del MTU y lo restablece a 1480 que es un valor por defecto.
Pero en cualquier caso, al margen de esa discrepancia, no puedes tener ese problema de velocidad debido al MTU. El MTU afecta a la conexión sin duda, pero ni mucho menos a esos niveles. Pueden existir diferencias de un 0-5% a lo mejor como muchísimo. En absoluto un MTU de 1480 mata una conexión. La podría matar si se usase un MTU de más de 1500 porque los frames se descartarían muchos de ellos, pero por debajo de 1492 en principio no pasaría "nada".
Además, el MTU máximo que puede llevar una interfaz WAN no tiene por qué ser el MTU más optimo, a veces un MTU algo más bajo es más eficiente.
Algo está haciendo mal sin nunguna duda el mikrotik...
Editado 03-07-2018 10:56
Editado 03-07-2018 10:56
Yo no entiendo nada del MTU, nunca lo entendí. Pero tengo:
Un HGU GPT-2541GNAC conectado a un Asus OnHub, y no hay manera de que utilizando "PPPoE" me vaya a más de 150-170Mbps. Hace más de 1 año que no estoy usando PPPoE y cada tanto me pongo a probar a ver si algún firmware del Google WiFi o del HGU de Movistar mejoran este inconveniente.
Si utilizo DHCP + DMZ (como workaround al PPPoE), internet me va a 600Mbps. El problema nada mas lo tengo con PPPoE
Hasta me he intentado comprar una ONT de Movistar, pero no la pude hacer funcionar y he desistido.
Buenas @sebastiand
Si no tiene nada que ver tu problema con MTU, no deberías de usar el mismo hilo, se canibaliza y al final quien lo abrió ve como en su hilo aparecen mensajes que no tienen absolutamente nada que ver con el suyo.
Los HGU no tienen ningún problema con poder usar un cliente PPPoE externo. Si usando otro Router haciendo el marcado PPPoE tienes algún problema, es obvio que hay algo que estás haciendo mal, ya sea un problema de configuración o ya sea que tu hardware externo (asus o google en este caso) no es capaz de obtener un mayor throughput. Desde un punto de vista técnico, es totalmente diferente usar DMZ que usarlo para realizar el marcado PPPoE.
Muchos, yo incluído, usamos Routers propios detrás del HGU y no tenemos ningún problema, incluso el cliente propio de Windows. Ergo tendrás que revisar tus configuraciones y ver que está pasando, o si el hardware tiene potencia de sobra o si efectivamente ASUS/Google o el hub que sea tiene algún tipo de problema con su software.