Concepto general
En términos generales el MTU es el mayor tamaño posible de una unidad de datos en un protocolo de capa de red (PDU de capa de red) que puede ser utilizado en una comunicación.
Se lo suele encontrar como parámetro de referencia respecto de las interfaces (la MTU de una interfaz) o de un protocolo (el MTU permitido por un protocolo). Y se lo expresa en Bytes u octetos. Por ejemplo, una interfaz con un MTU de 1500 B indica que esa interfaz soporta paquetes (de cualquier protocolo de capa de red) de hasta 1500 Bytes de tamaño (incluye datos + encabezado de capa de transporte + encabezado de capa de red).
MTU = Datos (Bytes) + Encabezado capa 4 (Bytes) + Encabezado capa 3 (Bytes)
No considera el encabezado de la trama (Ethernet, por ejemplo), ni la sobrecarga que pueden generar sistemas de transmisión en capa física. En algunas publicaciones este parámetro recibe la denominación de MTU de capa 3 haciendo referencia clara a que se trata del tamaño máximo del paquete.
El uso del término en la industria
Más allá del concepto general, algunos fabricantes le dan un sesgo particular en la documentación e interfaces de sus productos.
Algunos de esos usos específicos son los siguientes:
- Dell Force10 utiliza MTU como tamaño máximo de la trama.
- Hewlett Packard utiliza MTU como tamaño máximo de la trama incluyendo el tag de 802.1Q.
- Juniper utiliza MTU de la interfaz física, MTU de la interfaz lógica (coincide con el concepto general) y MTU Máximo.
Cisco adhiere en su documentación a la definición de MTU elaborada por la IETF pero al momento de abordar la configuración de sus interfaces permite definir varios parámetros diferentes asociados al mtu, especialmente en IOS-XR.
En Cisco IOS el comando mtu modifica el parámetro de igual nombre en la interfaz correspondiente, pero coincidiendo con la definición general considera solamente el encabezado capa 3 y no el encabezado capa 2. El MTU por defecto de una interfaz es de 1500 Bytes, y es modificable dentro de la configuración de la interfaz, como ya dije, utilizando el comando mtu.
Cuando se ejecuta un show interface el resultado visible (por defecto) será 1500 B que es lo que corresponde al tamaño máximo del paquete.
RouterIOS#show interfaces Ethernet0
Ethernet 0 is up, line protocol is up
Hardware is MCI Ethernet, address is 0000.0c00.750c (bia 0000.0c00.750c)
Internet address is 131.108.28.8, subnet mask is 255.255.255.0
MTU 1500 bytes, BW 10000 Kbit... [se omite el resto del comando]
En el caso de dispositivos IOS-XR es diferente. Se considera un mtu de capa 2 y otro mtu de capa 3.
- MTU de capa 3.
Se considera la definición de la IETF de MTU incluyendo solamente en encabezado de capa 3. Sin embargo, a nivel configuración, IOS-XR permite diferentes configuraciones según la red.
ipv4 mtu = Datos + Encabezado capa 4 + Encabezado IPv4 = 1500 B
mpls mtu = Datos + Encabezado capa 4 + Encabezado IPv4 + Label = 1504 B
- MTU de capa 2.
Incluye en su consideración el encabezado de capa 2 correspondiente. Por lo tanto
MTU de capa 2 = MTU capa 3 (Bytes) + encabezado capa 2 (Bytes)
De esta manera, en interfaces Ethernet el MTU será de
MTU capa 3 + Encabezado Ethernet = MTU interface
1500 B + 14 B = 1514
En interfaces PPP o HDLC será de
1500 B + 4 B = 1504
RP/0/0/CPU0:RouterIOS-XR# show interfaces tenGigE 0/0/0/1
TenGigE0/0/0/1 is administratively down, line protocol is administratively down
Hardware is TenGigE, address is 0800.4539.d909 (bia 0800.4539.d909)
Description: user defined string
Internet address is Unknown
MTU 1514 bytes, BW 10000000 Kbit
reliability 255/255, txload 0/255, rxload 0/255
[se omite el resto del comando]
[se omite el resto del comando]
Comandos referidos al MTU
En dispositivos Cisco IOS.
- Router(config-if)#mtu 1520
Define el MTU de la interfaz - Router(config-if)#mpls mtu 1520
Define un MTU específico para tramas MPLS. No puede ser superior al MTU de la interfaz.
- RP/0/RP0/CPU0:Router(config-if)#mtu 1522
Define el MTU de la interfaz, en este caso incluye el encabezado Ethernet de la trama. - RP/0/RP0/CPU0:Router(config-if)#mpls mtu 1508
Define un MTU específico para tramas MPLS. Si se le suma el encabezado Ethernet, no puede superar el MTU de la interfaz. - RP/0/RP0/CPU0:Router(config-if)#ipv4 mtu 1500
Define un MTU específico para paquetes IPv4. Al sumarle el encabezado Ethernet no puede superar el MTU de la interfaz. - RP/0/RP0/CPU0:Router(config-if)#ipv6 mtu 1500
Define un MTU específico para paquetes IPv6. Al sumarle el encabezado Ethernet no puede superar el MTU de la interfaz.
Enlaces de referencia
- MTU Behavior on Cisco IOS XR and Cisco IOS Routers
- Cisco IOS XR Interface and Hardware Component Command Reference
Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.
Muy clara la explicación Oscar! Podrías incluir el concepto de jumbo frame?
ResponderBorrarGracias!
Juan
Gracias Juan.
BorrarVeré de hacer un post sobre el tema de jumbo frames y otros conceptos semejantes.
Estimado Óscar,
ResponderBorrarPodrías hacer un post sobre cómo calcular un mtu óptimo en una red grande, Core/Edge/agregation/access para iBGP, BGP, MPLS, Ethernet, y también la diferencia con el mru y mss, cómo calcularlos y cuando usar jumbos, sería muy interesante, gracias.
El cálculo del MTU óptimo es un tema complejo. Veré qué se puede hacer en un post.
BorrarLo sé, por eso sería buena idea que puedas compartirnos en base a tu experiencia o para que vaya poniendome al caso podrías recomendarme algún libro, blog, dónde traten éste tema? Te agradecería mucho.
BorrarNo tengo un manual o sitio web que referir sobre el tema. Lo mejor sugerencia que se me ocurre son las discusiones sobre el tema que se pueden encontrar en el foro de soporte de Cisco.
BorrarOscar, si en IOS-XR tengo un servicio VPN (VRF), o sea que tiene etiquetado MPLS y con QinQ, el MTU de capa 2 sería 1500 + 14B (Header Ethernet) + 4B (1er dot1q) + 4B (2do dot1q) + 4B (etiquetado MPLS) = 1526B
ResponderBorrarEs correcto o no ?
Si Juán José.
Borrar