Compartir a través de


TechNet - The Cable Guy - Julio de 2004: Enrutadores de agujero negro de la unidad de transmisión máxima de ruta (PMTU)

Enrutadores de agujero negro de la unidad de transmisión máxima de ruta (PMTU)

Publicado: julio 1, aaaa

cable_guy

Por The Cable Guy

Para obtener una lista e información adicional acerca de todas las columnas de The Cable Guy, haga clic aquí

En esta página

Introducción Introducción
Detectar los enrutadores de agujero negro de PMTU Detectar los enrutadores de agujero negro de PMTU
Soluciones para los enrutadores de agujero negro de PMTU Soluciones para los enrutadores de agujero negro de PMTU
Para obtener más información Para obtener más información

Introducción

El Protocolo Internet (IP) se diseñó para funcionar en una red compuesta de distintas tecnologías de red, como Ethernet y Frame Relay. Cada tecnología de red tiene una unidad de transmisión máxima (MTU) distinta, el tamaño máximo de una trama que se puede enviar. La MTU de IP es el paquete IP de tamaño máximo que se puede enviar. Un buen ejemplo lo constituye Ethernet, que tiene una MTU de 1526 bytes. Si se resta el tamaño del encabezado y el finalizador de Ethernet (un total de 26 bytes), la MTU de IP para Ethernet es de 1500 bytes.

Para adaptar los distintos tamaños de MTU de IP de las diferentes tecnologías de red, IP permite que los enrutadores fragmenten los paquetes. Por ejemplo, si un paquete es demasiado grande como para que ajuste a un vínculo sobre el que se está realizando el reenvío, el enrutador IP puede fragmentar la carga del paquete y enviarlo como paquetes IP independientes denominados fragmentos.

Aunque esta característica de IP permite la independencia del nivel de red, también hace un uso intensivo del procesador y la memoria, y puede tener un efecto importante en el rendimiento de los enrutadores IP. Por lo tanto, en redes IP modernas, incluyendo Internet, la fragmentación de los paquetes IP por parte de los enrutadores se evita de la siguiente manera:

  • Al enviar tráfico basado en UDP, el tamaño máximo de los mensajes UDP se establece lo suficientemente bajo como para impedir la fragmentación de enrutador IP.

  • Al enviar tráfico basado en TCP, el indicador DF (Don't Fragment, no fragmentar) del encabezado IP se establece en 1, lo que impide que un enrutador IP fragmente el segmento TCP.

Cuando los interlocutores TCP establecen una conexión TCP, intercambian sus valores de tamaño máximo de segmento (MSS) de TCP. Los interlocutores TCP utilizan el menor de los dos valores MSS para la conexión TCP. El tamaño máximo de segmento de un host siempre ha sido la unidad máxima de transmisión menos 40 bytes para los encabezados IP y TCP. No obstante, la compatibilidad con opciones adicionales de TCP, como las marcas de tiempo y las confirmaciones selectivas, puede aumentar el tamaño del encabezado TCP e IP típico en 52 bytes o más.

Cuando un enrutador debe fragmentar un paquete IP y no puede hacerlo porque el indicador DF está establecido en 1, puede realizar una de las siguientes acciones:

  • Enviar un mensaje de destino de ICMP inaccesible, indicando la necesidad de fragmentación y el establecimiento de un indicador DF según se definió originalmente en el documento RFC 792 y, a continuación, descartar el paquete.

    El formato de mensaje original no contiene información acerca de la MTU de IP del vínculo sobre el que se ha producido el error de reenvío.

  • Enviar un mensaje de destino de ICMP inaccesible, indicando la necesidad de fragmentación y el establecimiento de un indicador DF según se redefinió originalmente en el documento RFC 1191 y, a continuación, descartar el paquete. Este nuevo formato de mensaje contiene un campo MTU, que indica la MTU de IP del vínculo sobre el que se ha producido el error de reenvío.

    El documento RFC 1191 define la detección de MTU de ruta (PMTU), que permite a una pareja de interlocutores TCP detectar automáticamente la MTU de IP y, por lo tanto, el tamaño máximo de segmento de TCP, de la ruta entre ambos. Al recibir un mensaje un mensaje de destino de ICMP inaccesible, indicando la necesidad de fragmentación y el establecimiento de un indicador DF compatible con el documento RFC 1191, TCP ajusta su tamaño máximo de segmento para la conexión a la MTU de IP especificada menos el tamaño de los encabezados TCP e IP para que los siguientes paquetes enviados sobre la conexión TCP no sean mayores que el tamaño máximo que pueda atravesar la ruta sin fragmentación.

  • Descartar silenciosamente el paquete.

    Los enrutadores que descartan silenciosamente paquetes que se tienen que fragmentar pero tienen establecido el indicador DF en 1 se denominan enrutadores de agujero negro de PMTU.

Detectar los enrutadores de agujero negro de PMTU

Los enrutadores de agujero negro de PMTU pueden provocar problemas en las conexiones TCP. Por ejemplo, el protocolo TCP/IP en Microsoft® Windows® XP y Windows Server™ 2003 utiliza la detección de PMTU de forma predeterminada. TCP envía segmentos con el indicador DF establecido en 1 y se basa en la recepción de mensajes de destino de ICMP inaccesible, indicando la necesidad de fragmentación y el establecimiento de un indicador DF compatibles con el documento RFC 1191 que contienen la MTU de IP para cambiar el tamaño máximo de segmento según sea necesario.

Los segmentos TCP intercambiados durante el protocolo de enlace de tres vías TCP no son lo suficientemente grandes como para que los descarten los enrutadores de agujero negro de PMTU. Sin embargo, cuando los datos empiezan a fluir en la conexión, suponiendo que la PMTU determinada y basada en el tamaño máximo de segmento negociado es mayor que la PMTU real, se descartan los paquetes IP de los segmentos TCP que son mayores que la PMTU real.

Por ejemplo, puede utilizar la herramienta de la línea de comandos FTP para crear correctamente una conexión a un servidor FTP e iniciar la sesión. No obstante, cuando intenta descargar o cargar un archivo, un enrutador de agujero negro de PMTU intermedio descarta los segmentos TCP en su tamaño máximo, lo que provoca errores y que la transferencia del archivo no se realice correctamente.

Puede detectar un enrutador de agujero negro de PMTU si utiliza la herramienta Ping con la siguiente sintaxis:

Ping destino –f –l TamañoCargaEcoICMP

  • destino es una dirección IP o un nombre que se puede convertir en una dirección IP

  • La opción -f establece el indicador DF en 1.

  • La opción -l especifica el tamaño de la carga del mensaje eco ICMP.

  • TamañoCargaEcoICMP es el número de bytes de la carga del mensaje eco ICMP.

Para calcular TamañoCargaEcoICMP, reste 28 al tamaño del paquete IP que desea enviar, debido a que hay 20 bytes en el encabezado IP y 8 bytes en el encabezado ICMP de un mensaje eco ICMP. La siguiente figura muestra esta relación.

IP Packet size

Por ejemplo, para enviar un mensaje eco ICMP de 1500 bytes de longitud, se utiliza el siguiente comando:

ping destino –f –l 1472

Si hay vínculos intermedios con MTU de IP menores y un enrutador envía un mensaje de destino de ICMP inaccesible, indicando la necesidad de fragmentación y el establecimiento de un indicador DF, la herramienta Ping muestra el mensaje "Es necesario fragmentar el paquete pero se especificó DF". Si hay vínculos intermedios con MTU de IP menores y un enrutador de agujero negro de PMTU descarta silenciosamente el paquete, la herramienta Ping muestra el mensaje "Tiempo de espera agotado para esta solicitud".

Para encontrar la MTU de IP efectiva de una ruta que contiene enrutadores de agujero negro de PMTU, utilice la herramienta Ping con tamaños de carga de mensaje eco cada vez mayores. Debido a que la MTU de IP menor en las subredes típicas es de 576 bytes, empiece con un tamaño de carga de eco de ICMP de 548 y vaya aumentando de 100 en 100 hasta que llegue a la PMTU efectiva.

Por ejemplo, si el comando ping 10.0.0.10 -f -l 972 muestra "Respuesta desde 10.0.0.10" y el comando ping 10.0.0.10 -f -l 973 muestra "Tiempo de espera agotado para esta solicitud", la PMTU para el nodo que tiene asignada la dirección IP 10.0.0.10 es de 1000 bytes (972+28).

Soluciones para los enrutadores de agujero negro de PMTU

Las siguientes soluciones para los enrutadores de agujero negro de PMTU están ordenadas desde la más sencilla hasta la más complicada.

1. Configurar los enrutadores intermedios para que admitan la detección de PTMU en el enrutador

La solución más sencilla al problema de enrutador de agujero negro de PMTU en una intranet privada consiste en configurar todos los enrutadores para que admitan las especificaciones del documento RFC 1191 en el enrutador y el envío de mensajes de destino de ICMP inaccesible, indicando la necesidad de fragmentación y el establecimiento de un indicador DF con la MTU de IP del vínculo sobre el que se ha producido el error de reenvío. No es lo mismo que configurar un enrutador según las especificaciones del documento RFC 1191 en el host, donde el enrutador utiliza la detección de PMTU para sus propias conexiones TCP.

Al establecer comunicación en Internet, normalmente no es posible volver a configurar los enrutadores de Internet para que admitan la detección de PMTU en el enrutador. En este caso, puede utilizar las soluciones descritas en las siguientes secciones.

2. Habilitar la detección de enrutadores de agujero negro de PMTU

Por motivos de rendimiento, la detección de enrutadores de agujero negro de PMTU está deshabilitada de forma predeterminada para TCP/IP en Windows 2000, Windows XP y Windows Server 2003. Si no puede configurar los enrutadores para que admitan las especificaciones del documento RFC 1191 en el enrutador, puede configurar el siguiente valor del Registro:

Setting: EnablePMTUBHDetect
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value Type: REG_DWORD
Value: 1

Debido a que esta entrada del Registro no está presente de forma predeterminada, tendrá que agregarla mediante la herramienta Editor del Registro y, a continuación, reiniciar Windows para que la configuración surta efecto.

Cuando está habilitada la detección de enrutadores de agujero negro de PMTU, TCP intenta enviar segmentos con el indicador DF establecido en 0 después de varias retransmisiones de un segmento que no se hayan confirmado. Si se confirma un segmento con el indicador DF establecido en 0, el tamaño máximo de mensaje se reduce y el indicador DF se establece en 1 en los segmentos posteriores de la conexión. Habilitar la detección de agujeros negros de PMTU aumenta el número máximo de retransmisiones que se llevan a cabo para un segmento determinado y, por lo tanto, afecta al rendimiento general.

3. Determinar la mejor MTU de IP y establecerla con la configuración del Registro MTU

Una alternativa a la habilitación de la detección de agujeros negros de PMTU consiste en determinar la PMTU efectiva en todas las rutas pertinentes mediante la herramienta Ping tal como se ha descrito anteriormente y, a continuación, configurar manualmente la MTU de IP de una interfaz de envío mediante una configuración del Registro.

Este método impide que los enrutadores de agujero negro de PMTU envíen siempre paquetes IP con el indicador DF establecido en 1 pero con un tamaño que no provoca que dichos enrutadores descarten silenciosamente los paquetes. La especificación manual de la MTU de IP implica que todo el tráfico utilizará el menor tamaño de MTU de IP, incluido el tráfico de subred local y el tráfico por rutas que no contengan enrutadores de agujero negro de PMTU.

Después de determinar la PMTU efectiva, puede especificar manualmente la MTU de IP para una interfaz TCP/IP mediante el procedimiento siguiente:

  1. Abra la carpeta Conexiones de red y anote el nombre de la conexión LAN, como por ejemplo "Conexión de área local".

  2. Haga clic en Inicio, en Ejecutar, escriba regedit.exe y, a continuación, haga clic en Aceptar.

  3. Utilice la vista de árbol (el panel izquierdo) de la herramienta Editor del Registro para abrir la siguiente clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control \Network\{4D36E972-E325-11CE-BFC1-08002BE10318}

  4. En esta clave hay una o varias claves para los identificadores únicos globales (GUID) que corresponden a las conexiones LAN instaladas. Cada una de estas claves GUID tiene una subclave Connection. Abra cada una de las claves GUID\Connection y busque la configuración Name cuyo valor coincida con el nombre de la conexión LAN del paso 1.

  5. Cuando haya encontrado la clave GUID\Connection que contiene la configuración Name que coincida con el nombre de su conexión LAN, anótela o bien anote el valor GUID.

  6. Utilice la vista de árbol de la herramienta Editor del Registro para abrir la siguiente clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip \Parameters\Interfaces\GUID

  7. Haga clic con el botón secundario del mouse (ratón) en la clave GUID de la vista de árbol, seleccione Nuevo y, a continuación, haga clic en Valor DWORD.

  8. En el panel de contenido (panel derecho) de la herramienta Editor del Registro, escriba MTU para el valor de la nueva configuración del Registro y, a continuación, presione ENTRAR.

  9. En el panel de contenido, haga doble clic en la nueva configuración MTU y, en el cuadro de diálogo Editar valor DWORD, haga clic en Decimal y, a continuación, escriba el valor de MTU efectiva en Información del valor.

  10. Haga clic en Aceptar. Cierre la herramienta Editor del Registro.

  11. Reinicie el equipo para que la nueva configuración MTU surta efecto.

4. Deshabilitar la detección de PMTU

Si no es posible o no resulta práctico determinar y configurar los valores de PMTU adecuados para cada una de las interfaces LAN para los equipos basados en Windows de la red, como último recurso puede deshabilitar la detección de PMTU. No se recomienda porque al deshabilitar la detección de PMTU la MTU de IP para todos los destinos remotos se establece en 576 bytes, lo que puede afectar al rendimiento.

Para deshabilitar la detección de PMTU, configure el siguiente valor del Registro:

Setting: EnablePMTUDiscovery
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value Type: REG_DWORD
Value: 0

Debido a que esta entrada del Registro no está presente de forma predeterminada, tendrá que agregarla mediante la herramienta Editor del Registro y, a continuación, reiniciar Windows para que la configuración surta efecto.

Para obtener más información

Para obtener más información acerca de la detección de PMTU y la configuración del Registro de TCP/IP, consulte los siguientes recursos:

Para enviar opiniones relativas al contenido de esta columna, escriba a Microsoft TechNet. Tenga en cuenta que no se trata de un alias de soporte técnico y que no se garantiza la respuesta.

Para obtener una lista e información adicional acerca de todas las columnas de The Cable Guy, haga clic aquí.