Red de distribución de aplicaciones
Una red de distribución de aplicaciones (ADN) es un conjunto de tecnologías que, cuando se implementan en conjunto, proporcionan disponibilidad, seguridad, visibilidad y aceleración para aplicaciones de Internet, como sitios web. Los componentes de ADN proporcionan una funcionalidad de soporte que permite que el contenido del sitio web se entregue a los visitantes y otros usuarios de ese sitio web de una manera rápida, segura y confiable.
Gartner define la red de distribución de aplicaciones como la combinación de controladores de optimización de WAN (WOC) y controladores de distribución de aplicaciones (ADC). En el extremo del centro de datos de una ADN se encuentra el ADC, un dispositivo de gestión de tráfico avanzado que a menudo también se conoce como conmutador web, conmutador de contenido o conmutador multicapa, cuyo propósito es distribuir el tráfico entre varios servidores o sitios geográficamente dislocados según criterios específicos de la aplicación. En la parte de la sucursal de una ADN se encuentra el controlador de optimización de WAN, que trabaja para reducir la cantidad de bits que fluyen por la red mediante el almacenamiento en caché y la compresión, y da forma al tráfico TCP mediante la priorización y otras técnicas de optimización. Algunos componentes WOC se instalan en PC o clientes móviles, y normalmente hay una parte del WOC instalada en el centro de datos. Algunos proveedores de CDN también ofrecen redes de distribución de aplicaciones.
El ADC, un componente de un ADN, evolucionó a partir de los conmutadores de capa 4 a 7 a fines de la década de 1990, cuando se hizo evidente que las técnicas tradicionales de equilibrio de carga no eran lo suficientemente robustas para manejar la combinación cada vez más compleja de tráfico de aplicaciones que se entregaba a través de una variedad más amplia de opciones de conectividad de red.
Técnicas de ejecución
Internet fue diseñado según el principio de extremo a extremo. Este principio mantiene la red central relativamente simple y traslada la inteligencia lo más posible a los puntos finales de la red: los hosts y los clientes. Una red de distribución de aplicaciones (ADN) mejora la distribución de aplicaciones a través de Internet mediante el empleo de una serie de técnicas de optimización. Muchas de estas técnicas se basan en las mejores prácticas establecidas que se emplean para enrutar de manera eficiente el tráfico en la capa de red, incluida la redundancia y el equilibrio de carga.
En teoría, una red de distribución de aplicaciones (ADN) está estrechamente relacionada con una red de distribución de contenido. La diferencia entre las dos redes de distribución reside en la inteligencia de la ADN para comprender y optimizar las aplicaciones, lo que suele denominarse fluidez de la aplicación. La red de fluidez de aplicaciones (AFN) se basa en el concepto de fluidez de aplicaciones para referirse a las técnicas de optimización de WAN aplicadas desde la capa cuatro hasta la capa siete del modelo OSI para redes. La fluidez de aplicaciones implica que la red es fluida o inteligente en la comprensión y la capacidad de optimizar la distribución de cada aplicación. La red de fluidez de aplicaciones es una adición de las capacidades de SDN. Alcatel-Lucent Enterprise utiliza el acrónimo 'AFN' para referirse a una red de fluidez de aplicaciones.
La distribución de aplicaciones utiliza uno o más conmutadores de capa 4 a 7, también conocidos como conmutadores web, conmutadores de contenido o conmutadores multicapa para distribuir de forma inteligente el tráfico a un grupo, también conocido como clúster o granja, de servidores. Al controlador de distribución de aplicaciones (ADC) se le asigna una única dirección IP virtual (VIP) que representa el grupo de servidores. El tráfico que llega al ADC se dirige a uno de los servidores del grupo (clúster, granja) en función de una serie de factores, incluidos los valores de datos específicos de la aplicación, el protocolo de transporte de la aplicación, la disponibilidad de los servidores, las métricas de rendimiento actuales y los parámetros específicos del cliente. Un ADN ofrece las ventajas de distribución de carga, aumento de la capacidad de los servidores, escalabilidad mejorada, seguridad y mayor confiabilidad a través de controles de estado específicos de la aplicación.
Cada vez más, el ADN comprende un par redundante de ADC en el que se integran una serie de conjuntos de características diferentes diseñados para proporcionar funciones de seguridad, disponibilidad, confiabilidad y aceleración. En algunos casos, estos dispositivos siguen siendo entidades separadas, implementadas juntas como una red de dispositivos a través de la cual se entrega el tráfico de la aplicación, y cada uno proporciona una funcionalidad específica que mejora la entrega de la aplicación.
técnicas de optimización ADN
TCP multiplexing
La multiplexación TCP se basa en gran medida en las técnicas de agrupación de conexiones establecidas que utilizan las plataformas de servidores de aplicaciones para optimizar la ejecución de consultas de bases de datos desde dentro de las aplicaciones. Un ADC establece una serie de conexiones con los servidores de su grupo y mantiene las conexiones abiertas. Cuando el ADC recibe una solicitud del cliente, la evalúa y luego la dirige a un servidor a través de una conexión existente. Esto tiene el efecto de reducir la sobrecarga impuesta por el establecimiento y la interrupción de la conexión TCP con el servidor, lo que mejora la capacidad de respuesta de la aplicación.
Algunas implementaciones de ADN llevan esta técnica un paso más allá y también multiplexan las solicitudes HTTP y de la aplicación. Esto tiene la ventaja de ejecutar las solicitudes en paralelo, lo que mejora el rendimiento de la aplicación.
Optimización TCP
Existen varias solicitudes de comentarios (RFC) que describen mecanismos para mejorar el rendimiento de TCP. Muchos ADN implementan estas RFC para proporcionar una mejor entrega de aplicaciones a través de un uso más eficiente de TCP.
Las RFC que se implementan con mayor frecuencia son:
- Reconocimientos retrasados
- Nagle Algorithm
- Reconocimientos selectivos
- Explicit Congestion Notification ECN
- Retransmisiones limitadas y rápidas
- Congestión inicial adaptativa Windows
Compresión y caché de datos
Las ADN también permiten optimizar los datos de las aplicaciones mediante técnicas de compresión y almacenamiento en caché. En la actualidad, las ADN utilizan dos tipos de compresión: la compresión HTTP estándar de la industria y los algoritmos de reducción de datos patentados. Es importante tener en cuenta que el costo en ciclos de CPU para comprimir los datos al atravesar una LAN puede tener un impacto negativo en el rendimiento y, por lo tanto, las mejores prácticas son utilizar la compresión solo cuando se entregan aplicaciones a través de una WAN o un enlace de datos de alta velocidad particularmente congestionado.
La compresión HTTP es asimétrica y transparente para el cliente. La compatibilidad con la compresión HTTP está integrada en los servidores y navegadores web. Actualmente, todos los productos comerciales de ADN admiten la compresión HTTP.
Una segunda técnica de compresión se logra a través de algoritmos de reducción de datos. Debido a que estos algoritmos son propietarios y modifican el tráfico de la aplicación, son simétricos y requieren un dispositivo para volver a ensamblar el tráfico de la aplicación antes de que el cliente pueda recibirlo. Una clase separada de dispositivos conocidos como controladores de optimización de WAN (WOC) proporcionan esta funcionalidad, pero la tecnología se ha agregado lentamente a la cartera de ADN durante los últimos años a medida que esta clase de dispositivo continúa adquiriendo más conciencia de las aplicaciones, brindando características adicionales para aplicaciones específicas como CIFS y SMB.
técnicas de fiabilidad y disponibilidad de ADN
Verificación avanzada de salud
La comprobación avanzada del estado es la capacidad de un ADN de determinar no solo el estado del servidor en el que se aloja una aplicación, sino también el estado de la aplicación que está entregando. Las técnicas de comprobación avanzada del estado permiten al ADC determinar de forma inteligente si el contenido que devuelve el servidor es correcto y debe entregarse al cliente.
Esta función permite otras funciones de confiabilidad en el ADN, como reenviar una solicitud a un servidor diferente si se descubre que el contenido devuelto por el servidor original es erróneo.
algoritmos de equilibrio de carga
Los algoritmos de equilibrio de carga que se encuentran en los ADN actuales son mucho más avanzados que los algoritmos simplistas de round-robin y de mínimas conexiones que se usaban a principios de los años 90. Estos algoritmos se basaban originalmente en algoritmos de programación de sistemas operativos, pero desde entonces han evolucionado para tener en cuenta las condiciones propias de los entornos de redes y aplicaciones. Es más preciso describir los algoritmos de "equilibrio de carga" actuales como algoritmos de enrutamiento de aplicaciones, ya que la mayoría de los ADN emplean el conocimiento de la aplicación para determinar si una aplicación está disponible para responder a una solicitud. Esto incluye la capacidad del ADN de determinar no solo si la aplicación está disponible, sino también si la aplicación puede responder o no a la solicitud dentro de parámetros específicos, a menudo denominados acuerdo de nivel de servicio.
Entre los algoritmos de equilibrio de carga estándar de la industria disponibles en la actualidad se incluyen los siguientes:
- Round Robin
- Menos conexiones
- Tiempo de respuesta más rápido
- Weighted Round Robin
- Menos conexiones ponderadas
- Valores personalizados asignados a servidores individuales en una piscina basada en SNMP u otro mecanismo de comunicación
Tolerancia por defecto
El ADN proporciona tolerancia a fallos a nivel de servidor, dentro de grupos o granjas. Esto se logra designando servidores específicos como "respaldo" que el ADN activa automáticamente en caso de que el servidor o los servidores principales del grupo fallen.
El ADN también garantiza la disponibilidad y la fiabilidad de las aplicaciones gracias a su capacidad de realizar una conmutación por error sin problemas a un dispositivo secundario en caso de que se produzca una falla de hardware o software. Esto garantiza que el tráfico siga fluyendo en caso de que se produzca una falla en un dispositivo, lo que proporciona tolerancia a fallos para las aplicaciones. La tolerancia a fallos se implementa en los ADN a través de una conexión en red o en serie.
Fallo basado en la red
La dirección IP virtual (VIP) se comparte entre dos dispositivos. Un demonio de latidos en el dispositivo secundario verifica que el dispositivo principal esté activo. En caso de que se pierda el latido, el dispositivo secundario asume la VIP compartida y comienza a atender las solicitudes. Este proceso no es inmediato y, aunque la mayoría de los ADN replican sesiones del dispositivo principal al secundario, no hay forma de garantizar que se mantengan las sesiones iniciadas durante el tiempo que tarda el secundario en asumir la VIP y comenzar a administrar el tráfico.
Fallo basado en serie
En una configuración de conmutación por error basada en conexión en serie, dos dispositivos ADN se comunican a través de una conexión RS-232 estándar en lugar de la red, y toda la información y el estado de la sesión se intercambian a través de esta conexión. La conmutación por error es casi instantánea, aunque sufre las mismas limitaciones con respecto a las sesiones iniciadas mientras el dispositivo principal está fallando que la conmutación por error basada en red.
seguridad ADN
Seguridad de la capa de transporte
Aunque a menudo se asigna erróneamente a la capa de aplicación, SSL es el método más común para proteger el tráfico de aplicaciones a través de un ADN en la actualidad. SSL utiliza PKI para establecer una conexión segura entre el cliente y el ADN, lo que dificulta que los atacantes descifren los datos en tránsito o secuestren la sesión.
Seguridad de la capa de aplicación
Coagulación de recursos
El uso de una dirección IP virtual (VIP) y la posición del ADN en la red proporcionan los medios a través de los cuales ciertos recursos pueden ocultarse u ocultarse del cliente. Debido a que el ADN está diseñado para comprender aplicaciones y protocolos de aplicación, como HTTP, puede manipular ciertos aspectos del protocolo para ocultar los servidores en el grupo y evitar que se exponga información potencialmente útil sobre la infraestructura de software y hardware.
Un uso típico de esta función es ocultar el sistema operativo y el software del servidor que se utiliza para alojar la aplicación. Esto se logra normalmente reescribiendo el campo Servidor en una respuesta HTTP.
Un segundo uso típico de esta funcionalidad es la explotación de la capacidad del ADN de reescribir la parte URI de una solicitud HTTP. Al cliente se le presenta una URI y una VIP que sólo conoce el ADN y, al recibir la solicitud, el ADN puede (a) reescribir la URI y enviar una redirección 302 o (b) traducir de forma transparente la URI y responder al cliente como si la URI fuera la correcta desde el principio.
Instalación cortafuegos
En los últimos años, las ADN comerciales han comenzado a incluir funciones de cortafuegos de aplicaciones para proteger aún más las aplicaciones durante el proceso de entrega. Este es un tema muy debatido, ya que muchos profesionales de la seguridad sostienen que las funciones incluidas en un cortafuegos de aplicaciones son innecesarias y que deberían ser gestionadas por la aplicación, mientras que otros consideran que emplear la mayor seguridad posible, independientemente de la posición en la red de entrega, es la mejor práctica. Muchas empresas de ADN comerciales han adquirido e integrado estas funciones y presentan dichas características como parte de una estrategia de defensa en profundidad que a menudo citan los profesionales de la seguridad.
Seguridad de la capa de red
El ADN se implementa con mayor frecuencia en la DMZ en el borde de la red. Esto da como resultado la exposición a posibles ataques de capa de red, incluidos ataques de denegación de servicio (DoS) de ICMP y inundaciones SYN. Como resultado, el ADN debe protegerse necesariamente no solo a sí mismo sino también a las aplicaciones que entrega para que no sucumban a tales ataques. El ADN generalmente emplea una serie de protecciones contra ataques típicos de capa de red, aunque no implementa la seguridad completa que ofrece un IPS. Algunas de las tecnologías de seguridad de capa de red que pueden emplear los dispositivos ADN incluyen:
Delayed binding
El enlace retrasado, también llamado empalme TCP, es la postergación de la conexión entre el cliente y el servidor para obtener suficiente información para tomar una decisión de enrutamiento. Algunos conmutadores y enrutadores de aplicaciones retrasan el enlace de la sesión del cliente al servidor hasta que se completen los protocolos de enlace adecuados para evitar ataques de denegación de servicio.
Filtro IP
Los ADN suelen tener la capacidad de filtrar el tráfico en función de listas de control de acceso (ACL), rangos de direcciones IP falsas (filtrado Bogon) y patrones de inspección profunda de paquetes. En algunos casos, se pueden emplear umbrales o limitaciones de velocidad de direcciones IP o rangos de direcciones IP.
Gestión del tráfico
Los ADN están incorporando cada vez más funciones avanzadas de gestión del tráfico. Las capacidades de inspección profunda de paquetes de algunos de estos productos pueden identificar el tráfico por tipo de aplicación y pueden utilizarse para analizar, bloquear, dar forma y priorizar el tráfico.
Véase también
- Controlador de entrega de aplicaciones
Notas
- ^ Gartner dice que el mercado mundial de aceleración de aplicaciones alcanzará $3.7 millones en 2008, STAMFORD, Conn., 21 de agosto de 2006
- ^ ¿Qué hace un controlador de optimización WAN? Network World, 8 de enero de 2008
- ^ J. H. Saltzer; D. P. Reed; D. D. Clark (1 de noviembre de 1984). "End-to-end arguments in system design" (PDF). Transacciones ACM en sistemas informáticos. 2 4): 277 –288. doi:10.1145/357401.357402. ISSN 0734-2071. S2CID 215746877. Wikidata Q56503280. Retrieved 2022-04-05.
- ^ Halabi, Bassam: "Internet Routing Architectures", New Riders Publishing, 1997
- ^ "Enterprise Networking Communications SUmmit" (PDF). Gartner. Retrieved 17 de noviembre 2008.
- ^ Erlanger, Leon. "Construyendo la red inteligente". TechWorld. Archivado desde el original el 23 de febrero de 2014. Retrieved 1o de agosto 2005.
- ^ RFC 896: Control de Congestión en Internet IP/TCP
- ^ RFC 1122: Requisitos para hospedadores de Internet - Capas de Comunicación
- ^ RFC 2018: Opciones de reconocimiento selectivo TCP
- ^ RFC 2883: Una extensión a la opción de reconocimiento selectivo (SACK) para TCP
- ^ RFC 3168: La adición de la notificación de congestión de explosivos a TCP
- ^ RFC 2481: Una propuesta para añadir Notificación de Congestión de Explícitos (ECN) a IP
- ^ RFC 3042: Mejorando la recuperación de pérdidas de TCP utilizando transmisión limitada
- ^ RFC 2582: La nueva modificación del algoritmo de recuperación rápida de TCP
- ^ RFC 3390: Aumentando la ventana inicial de TCP
- ^ MacVittie, Lori: "Content Switches", Network Computing, julio de 2001 Archivado el 27 de septiembre de 2007, en la máquina Wayback
- ^ Protocolo de transferencia de hipertexto (HTTP/1.1): Semántica y contenido, contexto de respuesta
- ^ Protocolo de Transferencia de Hipertexto (HTTP/1.1): Semántica y Contenido, Redirección 3xx
Enlaces externos
- Optimizar el rendimiento de red con conmutación de contenidos: Servidor, cortafuegos y equilibración de carga de caché