Treo Blog

En este espacio puedes explorar las últimas tendencias y noticias en tecnología, seguridad informática e infraestructura TI.

  • Jonathan Rodriguez Paipa

Comprensión de TCP multirruta: alta disponibilidad para terminales y la autopista de redes.

Por Paolo Abeni


Crédito: Pexels

Los días en los que viajaba a caballo y en carruaje a la ciudad por un camino polvoriento y lleno de surcos se han ido. Las carreteras de hoy en día son complejas y le ofrecen muchas rutas a la oficina, con carriles para vehículos de alta ocupación (HOV) para ayudar a que su viaje diario sea más rápido. La evolución de las redes es un poco como el crecimiento explosivo de nuestros sistemas de carreteras. En los "viejos" días de la creación de redes, la conectividad se lograba mediante el Protocolo de control de transmisión (TCP), un protocolo de ruta única muy parecido a ese viejo camino de herradura que tenía hierba asomando en el centro. Si bien las redes actuales tienen requisitos de rutas múltiples y supercarreteras (con dispositivos móviles que utilizan múltiples interfaces de radio y centros de datos y despliegues en la nube que utilizan rutas redundantes), estas redes todavía utilizan principalmente TCP de ruta única como mecanismo de transmisión.


Pero Multipath TCP (MPTCP) está ampliando el carril derecho y se fusiona con la escena. MPTCP es la autopista del futuro, que le ofrece una forma de potenciar sus redes inalámbricas, de Internet y de centros de datos. Sin embargo, las mismas características que hacen que MPTCP sea tan poderoso también crean algunos desafíos de seguridad.


En rampa a la autopista


MPTCP es un paso evolutivo hacia adelante para el protocolo TCP para permitir la redundancia para múltiples conexiones de red para cualquier dispositivo. Es como pasar de un carril en construcción a uno que no tiene obstrucciones en millas por delante. Si bien esta ha sido una función disponible en redes WAN, LAN y centros de datos durante algún tiempo a través de la vinculación de dispositivos, se ha limitado a estas implementaciones y no está disponible para dispositivos terminales de usuario como computadoras portátiles y teléfonos inteligentes.


MPTCP puede utilizar eficazmente múltiples rutas dentro de una sola conexión de transporte y mantener una conexión lógica establecida cuando cambia la dirección del punto final. Al brindar redundancia a los dispositivos terminales de los usuarios, MPTCP está alimentando la sed de los usuarios que desean estar conectados todo el tiempo y cada vez que toman su dispositivo, al igual que la gente espera que las estaciones de servicio estén cerca de ellos siempre que necesiten repostar hasta.


La redundancia ofrecida por MPTCP permite la multiplexación inversa de recursos. Originalmente, las redes se diseñaron un poco como las ciudades más antiguas con viajes facilitados a través de calles de superficie de un solo camino. Pero MPTCP ofrece un enfoque de red moderno y optimizado de múltiples carriles, que aumenta el rendimiento de TCP a la suma de todos los canales de nivel de enlace disponibles, al igual que el rendimiento del tráfico aumenta al agregar carriles a una carretera. Además, MPTCP es compatible con versiones anteriores de TCP estándar.


MPTCP realmente se adelanta al resto en el contexto de las redes inalámbricas; con Wi-Fi y redes móviles como casos de uso típicos. Además de las ganancias de rendimiento de la multiplexación inversa, se pueden agregar o eliminar enlaces a medida que el usuario entra o sale de la cobertura sin interrumpir la conexión TCP de un extremo a otro.


Este traspaso de enlace optimizado se maneja mediante abstracción en la capa de transporte, sin ningún mecanismo especial a nivel de red o enlace. Imagínese conduciendo por los Estados Unidos. Puede atravesar de Chicago a San Francisco y visitar el Gran Cañón o la segunda mecedora más grande del mundo sin obstáculos. Al igual que en la aventura a campo traviesa, la funcionalidad de traspaso se implementa en los puntos finales sin requerir ninguna funcionalidad especial en las subredes (de acuerdo con el principio de extremo a extremo de Internet).


Incorporarse al carril de adelantamiento


El traspaso de enlaces optimizado permite a MPTCP cambiar automáticamente a la ruta de movimiento más rápido disponible. Esto es importante para los usuarios que dependen tanto de sus dispositivos para estar siempre en Internet, alimentando su apetito hambriento de ancho de banda por la velocidad más alta. Los dispositivos móviles como los teléfonos inteligentes, los automóviles conectados a Internet y las computadoras portátiles se están moviendo, lo que significa que sus redes disponibles y cada una de sus velocidades pueden variar sustancialmente en un breve período de tiempo, y no solo entre torres celulares, sino también entre conexiones Wi-Fi.


Piense en lo agradable que es tomar un desvío de la autopista hacia algunas carreteras secundarias cuando hay un accidente grave que hace retroceder el tráfico por millas. Considere el modelo de red TCP tradicional. El tráfico TCP se enruta del punto A al punto B y viceversa. Pero MPTCP abre múltiples subflujos y puede elegir qué subflujo tiene la mejor conexión para usar en un momento dado.


Liberando el nitroso en la autopista


El mayor impulso de MPTCP es su capacidad para aumentar el ancho de banda mediante el uso de múltiples conexiones de red TCP, como agregar carriles a una autopista, en comparación con el uso de lo que llamamos la ruta de menor costo.


La ruta de menor costo es como conducir todos los días por una carretera secundaria a lo largo de la orilla del río para ir al trabajo. El paisaje es hermoso y no tendrá que pagar un peaje, pero ¿qué sucede si se queda atascado detrás de un tractor agrícola o el tráfico aumenta drásticamente porque todos deciden tomar la ruta panorámica? Con las redes, el enrutamiento de menor costo es eficiente para una sola ruta, pero al igual que las carreteras, el tráfico de Internet no se distribuye uniformemente entre las conexiones y los enrutadores. Los desvíos de Internet forman una red de conexiones en malla que tiene una gran capacidad subutilizada en diferentes momentos y ubicaciones.


Como un esfuerzo continuo del Grupo de Trabajo MPTCP del Grupo de Trabajo de Ingeniería de Internet (IETF), MPTCP es una extensión TCP especificada en RFC 8684 que permite que los puntos finales utilicen de manera eficiente múltiples interfaces para una sola conexión TCP para maximizar el uso de recursos y aumentar la redundancia. La solución MPTCP permite el uso simultáneo de múltiples conexiones de red para un solo flujo de datos, al mismo tiempo que presenta una interfaz de programación de aplicaciones (API) de socket TCP estándar para la aplicación. Con MPTCP, su viaje es más rápido porque permite aumentar la velocidad de descarga agregando el ancho de banda de todas las interfaces.


Además, al igual que un intercambio de hojas de trébol en una autopista donde el tráfico de una autopista puede fusionarse con la otra con facilidad, MPTCP permite que los hosts móviles transfieran el tráfico de Wi-Fi a celular sin interrumpir la aplicación. Esto es especialmente importante ya que el ancho de banda disponible para las conexiones inalámbricas varía con el tiempo y mientras están en movimiento. Y dado que MPTCP es parte de la pila de redes, es transparente para la aplicación. MPTCP también reduce drásticamente el número de colisiones de red, por lo que nunca alcanza la velocidad máxima de ninguna conexión.


MPTCP también aporta beneficios de rendimiento en entornos de centros de datos. A diferencia de la vinculación de canales Ethernet mediante la agregación de enlaces 802.3ad que vincula hasta ocho puertos del mismo tipo y velocidad, MPTCP puede equilibrar un solo socket en múltiples interfaces de diferentes tipos de puerto y transporte para alcanzar un rendimiento muy alto.





Crédito: Pexels

Turismo a lo largo de la autopista


Debido a que somos criaturas en movimiento, recorriendo la ciudad en nuestros autos hasta la tienda de comestibles o la oficina de correos, también lo son nuestros dispositivos. Cuando los teléfonos inteligentes y los dispositivos celulares móviles viajan al centro comercial desde su hogar, mueven su conexión entre diferentes torres celulares, a veces redes, y están al tanto de las redes Wi-Fi disponibles, como las de la cafetería más cercana. La conmutación por error de una conexión de red (o torre) a otra o de Wi-Fi a celular (o viceversa) es realmente importante, y hacerlo excepcionalmente rápido brinda una experiencia de usuario perfecta. Como cuando atraviesas un atasco y te encuentras al frente del grupo en la autopista sin nada más que una carretera abierta y espacio para acelerar, los usuarios a veces necesitan una ráfaga de tráfico, y cuanto mayor sea el ancho de banda, mejor.


Las puertas de enlace residenciales también pueden beneficiarse del ancho de banda agregado de múltiples conexiones TCP, así como el beneficio de la alta disponibilidad cuando se interrumpe una conexión. Imagínese lo agradable que sería cuando haya desaprobado las velocidades de Internet, seguir conectado la próxima vez que tenga que reiniciar su puerta de enlace o cuando la empresa de servicios públicos esté desenterrando cables de fibra en la calle.


MPTCP es parte de la estandarización inalámbrica 5G que está comenzando a implementar la función de red central para permitir la dirección, conmutación y división del tráfico de acceso (ATSSS). Piense en la dirección como las aplicaciones avanzadas de GPS que le advierten de zonas en construcción o accidentes automovilísticos a lo largo de su ruta prevista y luego lo "desvían" hacia un camino mejor.


Con las redes, la dirección selecciona la mejor conexión de red disponible. La conmutación, como un intercambio de carreteras eficiente, permite el traspaso fluido del tráfico de una conexión a otra. La división permite agregar múltiples redes de una manera similar a las grandes autopistas que agregan tanto carriles rápidos como carriles locales o colectores.


Rompiendo el firewall y el perímetro


Si bien MPTCP ofrece muchos beneficios, también causa algunos problemas nuevos. Imagínese una gran ciudad metropolitana en plena temporada de construcción. Se están pavimentando varias carreteras, lo que ha dado lugar a varios desvíos. Hay tantos desvíos que algunos de los desvíos se superponen y los caminos desde su casa (punto A) hasta la oficina (punto B) se desarticulan. El mismo tipo de situación puede ocurrir con MPTCP.


El enrutamiento de múltiples rutas provoca la fragmentación de datos entre rutas. Desde una perspectiva de seguridad que desafía las soluciones de seguridad en línea (p. Ej., Firewalls, IDS y escáneres de malware) que solo "ven" el tráfico de una ruta. Sin poder ver todas las rutas, estos dispositivos pueden perder la actividad que deben monitorear. Estos dispositivos intermediarios actúan un poco como un escáner corporal de aeropuerto para los pasajeros que desean ingresar al área de la puerta del aeropuerto.


En una oficina o edificio con una sola conexión a Internet, estas soluciones brindan una gran seguridad. Sin embargo, en el mundo actual, a menudo hay varias conexiones físicas de Internet a cada edificio desde varios ISP, pero cada persona en ese edificio lleva consigo un teléfono inteligente, cada uno con su propia conectividad inalámbrica a Internet.


Si bien las soluciones de seguridad en línea pueden monitorear el tráfico en un solo dispositivo físico siempre que todo el tráfico de un solo dispositivo se envíe y reciba a través de la misma conexión a Internet, si algún flujo de tráfico o paquete se distribuye a través de múltiples conexiones, cualquiera de estos dispositivos lo hará carecen de una comprensión completa de cualquier conversación que pueda tener un dispositivo de punto final. Piense en un escáner de aeropuerto que solo escanea una pequeña fracción de su cuerpo y en el amable personal de seguridad del aeropuerto que indica a todos los pasajeros que pasen. ¿Se sentiría menos seguro si solo escanearan la mano derecha de cada pasajero la próxima vez que suba a un avión?


Es fácil encontrar contrabando en el cuerpo de una persona si se escanea todo el cuerpo. Las redes seguras son un poco como esos escáneres. Cuando los dispositivos pueden ver todo el tráfico bidireccional junto con una ruta de ruta única, como un dispositivo perimetral como un firewall o un sistema de detección de intrusos (IDS), entonces hay más opciones sobre lo que se puede hacer con ese tráfico y su metadatos.


Pero, ¿qué pasa si hay muchas entradas a la terminal del aeropuerto y un número limitado de escáneres de seguridad del aeropuerto con personal? En esa situación, un grupo de pasajeros podría dividirse e ingresar a diferentes líneas de seguridad, ya que cada puesto de control de seguridad o personal no sabría qué otros pasajeros viajaban con otros pasajeros. De manera similar, si el dispositivo en el medio solo ve una de las múltiples rutas de datos (o flujos), la capacidad de ese dispositivo para analizar o espiar los datos está obsoleta.


Entonces, ¿eso hace que los firewalls sean inútiles? No claro que no. Las soluciones de seguridad perimetral y en línea, como los cortafuegos y los sistemas de detección de intrusiones, no están muertas. Han cumplido y siempre cumplirán funciones importantes para proteger los perímetros. Los perímetros son más numerosos y ahora incluyen la infraestructura en la nube de una organización. Pero los enfoques de seguridad como Zero Trust y el Perímetro definido por software (SDP) de Cloud Security Alliance brindan un nuevo enfoque que se aplica al mundo donde los dispositivos del usuario final están en todas partes y no se limitan al uso exclusivo de la oficina y las aplicaciones que también están en todas partes, que van desde en las instalaciones a la nube privada y la nube pública.



Crédito: Pexels

¿A dónde irá esta carretera?


Un futuro con MPTCP significa más ancho de banda de red sin procesar. Si algo nos ha enseñado la rápida expansión del trabajo desde casa gracias a COVID es que todo el mundo necesita más ancho de banda. Un hogar con cuatro videoconferencias que ocurren simultáneamente, junto con varios teléfonos inteligentes, tabletas y dispositivos de IoT domésticos, todo suma una demanda significativa en su conexión de red de banda ancha. Y aunque su hogar u oficina puede tener suficiente ancho de banda para la puerta de entrada de su empresa de telecomunicaciones, la empresa de telecomunicaciones agrega estas conexiones a conexiones de enlace ascendente con suscripción excesiva. Al agregar muchos enlaces relativamente baratos, MPTCP puede alcanzar más de 58,1 Gbps en un solo flujo de datos, que es el equivalente por segundo a un DVD.


Otras implementaciones usan MPTCP para agregar el ancho de banda de diferentes redes. Para varios tipos de teléfonos inteligentes, especialmente en Corea, MPTCP se ha utilizado para vincular Wi-Fi y 4G a través de proxies SOCKS. Otro ejemplo son las redes de acceso híbridas que implementan los operadores de red que desean combinar redes xDSL y LTE. En esta implementación, MPTCP se utiliza para equilibrar de manera eficiente el tráfico en la red xDSL y LTE.


¿Qué hay debajo del capó?


Así es como funciona. Una conexión MPTCP gestiona un conjunto de subflujos, cada uno de ellos es un socket TCP que lleva algunos metadatos de sincronización. En cualquier momento, la conexión MPTCP puede utilizar uno o más de los subflujos disponibles. Considere el ejemplo de un dispositivo móvil que se traslada de su automóvil a la cafetería. En esta situación, un subflujo para la conexión de red celular se detiene una vez que se detecta e inicia la conexión Wi-Fi del café.


El protocolo MPTCP define cómo se establecen estos flujos y cómo se sincroniza el lado de carga de datos para cada uno de estos flujos, de modo que la presencia de muchos subflujos sea completamente transparente para la aplicación del usuario final. Mejor aún, MPTCP puede mantener sus "ruedas en el suelo" y mantener una conexión activa incluso cuando no hay subflujos conectados.


Tenga en cuenta que MPTCP se implementa solo en los puntos finales. Si la negociación MPTCP no es posible bidireccionalmente, entonces recurre a TCP.


Cruzar la línea de meta


Como dijo Domiinic Toretto en Fast & Furious, "No importa si ganas por una pulgada o una milla, ganar es ganar". Con MPTCP ejecutándose en sus servidores y puntos finales, estará ganando ya que MPTCP permite que los puntos finales administren la alta disponibilidad (HA) y la confiabilidad incluso mientras se mueven, mejor que el TCP tradicional. La HA ha sido históricamente una característica de los enrutadores y servidores de clase empresarial, mientras que MPTCP lleva esta capacidad a los puntos finales. MPTCP es el turbocargador para su red y aplicaciones que ha estado buscando, ya que proporciona resistencia para sus aplicaciones y desbloquea más ancho de banda a medida que está disponible para nosotros.