Según la Wikipedia MTU "[...] es un término de redes de computadoras que expresa el tamaño en bytes de la unidad de datos más grande que puede enviarse usando un Protocolo de Internet [...]".
Cuando un host tiene que enviar información a la red, realiza varios cálculos para determinal el tamaño que debe tener el paquete.
Estos encabezados hacen que la capacidad útil de transporte de datos (el payload) se vea reducida, pero aseguran que la comunicación entre extremos funcione. A su vez, cada capa ve como payload el payload propiamente dicho más los encabezados de las capas superiores.
De esta forma, a nivel de Capa 2 veremos:
Generalmente cuando hablamos de MTU ejemplificamos dando los valores para el protocolo Ethernet.que puede tener 1500 bytes de payload (más el encabezado y trailer de capa 2).
Ahora bien, no todos los protocolos de capa 2 tienen definida la misma MTU, e idealmente todo el camino que nuestros paquetes tienen que atravesar para llegar al destino debería tener el mismo valor.
Pero en la realidad utilizamos diversos caminos con diversas encapsulaciones y protocolos de capa 2, por lo que seguramente se deberá recurrir al proceso de fragmentación.
Esto genera una sobrecarga en los equipos, dado que el router debe generar nuevos encabezados para enviar los fragmentos y el host receptor debe esperar a recibirlos todos y ensamblarlos para poder enviar el TCP ACK, por lo que estamos dando más trabajo a los equipos.
En algunos protocolos de enrutamiento (como OSPF) es importante que la MTU de las interfases de los vecinos coincida, dado que los paquetes de información del estado enlace pueden armarse de un valor mayor a la MTU del otro lado, por lo que se descartaría información dado que no se usa TCP.
Una posible solución para evitar la sobrecarga de los equipos es activar el campo de "Don't Fragment" del encabezado IP, que vemos a continuación en el diagrama:
Ahora la problemática de esto es que si el paquete llega con el bit "DF" activado, y el router detecta que se necesita fragmentación por existir una MTU menor, el router directamente descartará el paquete y generará un paquete de aviso de ICMP (Fragmentación Necesaria).
¿Cómo averiguo la MTU mínima del camino hasta un host?
Existen varias herramientas que nos informan acerca de esto:
Para GNU/Linux disponemos de una que se llama tracepath:
ariel@c8$ tracepath -n 10.0.0.22 1: 10.1.0.2 0.059ms pmtu 1500 2: 10.1.0.1 0.120ms pmtu 1400 2: 10.0.0.22 0.514ms reached Resume: pmtu 1400 hops 2 back 254
Entonces cualquier paquete que enviemos con más de 1400 bytes será fragmentado o descartado de acuerdo a las opciones que estén configuradas en el camino.
Nos vemos en la próxima. (¡¡¡Que lindo estar de vuelta!!!)
4 comentarios:
Interesante che..! Y siendo newbie en todo esto entendí tuito!!! jo! quien me ha visto y quien me ve..!! Alpargata'e'yute, facón'cruzao y en la cli de un 2811 configurando interfaces..! Se vemo pronto, y buen enlace...!
Damián.
Muy interesente todo este tema, pero necesito saber si existe un comando similar al tracepath para win xp?
Saludos
Jorge
Prueba con mturoute, disponible en http://www.elifulkerson.com/projects/mturoute.php
Saludos
ping google.com -f -l 1450
Don JAMES TROLEX
Publicar un comentario