El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento proporciona una descripción general de TCP de ruta múltiple (MPTCP), su impacto en la inspección de flujo y los productos de Cisco que se ven afectados y no lo son.
Los hosts conectados a Internet o dentro de un entorno de Data Center suelen estar conectados por varias rutas. Sin embargo, cuando se utiliza TCP para el transporte de datos, la comunicación se restringe a una única ruta de red. Es posible que algunas trayectorias entre los dos hosts estén congestionadas, mientras que las trayectorias alternativas están infrautilizadas. Es posible un uso más eficiente de los recursos de red si se utilizan simultáneamente estas varias rutas. Además, el uso de varias conexiones mejora la experiencia del usuario, ya que proporciona un mayor rendimiento y una resistencia mejorada frente a los fallos de la red.
MPTCP es un conjunto de extensiones a TCP normal que permite separar un flujo de datos único y transportarlo a través de varias conexiones. Consulte RFC6824: Extensiones TCP para Operación de Trayectoria Múltiple con Direcciones Múltiples para obtener más información.
Como se muestra en este diagrama, MPTCP puede separar el flujo de 9 mbps en tres subflujos diferentes en el nodo del remitente, que luego se agrega de nuevo al flujo de datos original en el nodo receptor.
Los datos que ingresan a la conexión MPTCP actúan exactamente como lo hace a través de una conexión TCP regular; los datos transmitidos han garantizado una entrega en orden. Dado que MPTCP ajusta la pila de red y funciona dentro de la capa de transporte, la aplicación la utiliza de forma transparente.
MPTCP utiliza las opciones TCP para negociar y orquestar la separación y el reensamblado de datos sobre los subflujos múltiples. La opción 30 de TCP está reservada por la Autoridad de Números Asignados de Internet (IANA) para uso exclusivo de MPTCP. Consulte Parámetros de protocolo de control de transmisión (TCP) para obtener más información. En el establecimiento de una sesión TCP regular, se incluye una opción MP_CAPABLE en el paquete de sincronización inicial (SYN). Si el respondedor admite y elige negociar MPTCP, también responde con la opción MP_CAPABLE en el paquete SYN-confirm (ACK). Las claves intercambiadas dentro de este intercambio de señales se utilizan en el futuro para autenticar la unión y la eliminación de otras sesiones TCP en este flujo MPTCP.
Cuando se considere necesario, Host-A podría iniciar subflujos adicionales originados en una interfaz o dirección diferente al Host-B. Al igual que con el subflujo inicial, las opciones TCP se utilizan para indicar el deseo de fusionar este subflujo con el otro subflujo. El Host-B utiliza las claves que se intercambian dentro del establecimiento inicial de subflujo (junto con un algoritmo de hashing) para confirmar que la solicitud de unión es efectivamente enviada por el Host-A. El subflujo secundario de 4 tuplas (IP de origen, IP de destino, puerto de origen y puerto de destino) es diferente del subflujo principal; este flujo puede tomar un trayecto diferente a través de la red.
Host-A tiene varias interfaces y es posible que Host-B tenga varias conexiones de red. El Host B aprende implícitamente sobre las direcciones A1 y A2 como resultado de los subflujos de suministro del Host A desde cada una de sus direcciones destinadas a B1. Es posible que Host-B anuncie su dirección adicional (B2) al Host-A para que otros subflujos se hagan a B2. Esto se completa a través de la opción TCP 30. Como se muestra en este diagrama, Host-B anuncia su dirección secundaria (B2) al Host-A, y se crean dos subflujos adicionales. Dado que MPTCP funciona sobre la capa de red de la pila de interconexión de sistema abierto (OSI), las direcciones IP anunciadas pueden ser IPv4, IPv6 o ambas. Es posible que algunos de los subflujos sean transportados por IPv4 simultáneamente, ya que otros subflujos son transportados por IPv6.
El remitente debe segmentar y distribuir un flujo de datos que la aplicación ha dado a MPTCP entre los subflujos múltiples. A continuación, se debe volver a ensamblar en el flujo de datos único antes de que se devuelva a la aplicación.
MPTCP inspecciona el rendimiento y la latencia de cada subflujo y ajusta dinámicamente la distribución de los datos para obtener el máximo rendimiento agregado. Durante la transferencia de datos, la opción de encabezado TCP incluye información sobre los números de secuencia/reconocimiento MPTCP, el número de secuencia/reconocimiento de flujo secundario actual y una suma de comprobación.
Muchos dispositivos de seguridad podrían poner en cero o sustituir las opciones TCP desconocidas por un valor de opción sin opción (NOOP). Si el dispositivo de red hace esto al paquete TCP SYN en el subflujo inicial, el anuncio MP_CAPABLE se elimina. Como resultado, el servidor considera que el cliente no admite MPTCP y vuelve a la operación TCP normal.
Si se conserva la opción y MPTCP puede establecer varios subflujos, es posible que el análisis de paquetes en línea por los dispositivos de red no funcione de forma fiable. Esto se debe a que sólo se trasladan partes del flujo de datos a cada subflujo. El efecto de la inspección de protocolo en MPTCP puede variar de nada a la interrupción completa del servicio. El efecto varía en función de qué datos se inspeccionan y de la cantidad de datos que se inspeccionan. El análisis de paquetes puede incluir firewall Application Layer Gateway (ALG o fixup), traducción de direcciones de red (NAT) ALG, visibilidad y control de aplicaciones (AVC), reconocimiento de aplicaciones basadas en red (NBAR) o servicios de detección de intrusiones (IDS/IPS). Si se requiere la inspección de la aplicación en su entorno, se recomienda que la limpieza de la opción TCP 30 esté habilitada.
Si el flujo no se puede inspeccionar debido al cifrado o si el protocolo es desconocido, entonces el dispositivo en línea no debería tener impacto en el flujo MPTCP.
MPTCP afecta a estos productos:
Cada producto se describe en detalle en las secciones posteriores de este documento.
De forma predeterminada, el firewall Cisco ASA reemplaza las opciones TCP no admitidas, que incluyen la opción MPTCP 30, por la opción NOOP (opción 1). Para permitir la opción MPTCP, utilice esta configuración:
tcp-map my-mptcp
tcp-options range 30 30 allow
class-map my-tcpnorm
match any
policy-map my-policy-map
class my-tcpnorm
set connection advanced-options my-mptcp
service-policy my-policy-map global
El ASA admite la inspección de muchos protocolos. El efecto que el motor de inspección puede tener en la aplicación varía. Se recomienda que, si se requiere inspección, NO se aplique el mapa TCP descrito anteriormente.
Dado que el FTD realiza una inspección profunda de paquetes para los servicios IPS/IDS, no se recomienda modificar el tcp-map para permitir que pase la opción TCP.
CBAC no quita las opciones TCP de la secuencia TCP. MPTCP crea una conexión a través del firewall.
Cisco IOS y IOS-XE ZBFW no quitan las opciones TCP de la secuencia TCP. MPTCP crea una conexión a través del firewall.
De forma predeterminada, el dispositivo ACE elimina las opciones TCP de las conexiones TCP. La conexión MPTCP vuelve a las operaciones TCP normales.
El dispositivo ACE se puede configurar para permitir las opciones TCP a través del comando tcp-options, como se describe en la sección Configuración de cómo la ACE maneja las opciones TCP de la Guía de Seguridad vA5(1.0), Cisco ACE Application Control Engine. Sin embargo, esto no siempre se recomienda, ya que los subflujos secundarios pueden equilibrarse a diferentes servidores reales y la unión falla.
Por lo general, cualquier dispositivo que no inspeccione los flujos TCP o la información de Capa 7 tampoco modifica las opciones TCP y, como resultado, debe ser transparente para MPTCP. Estos dispositivos pueden incluir: