Red de distribución de aplicaciones

Conjunto de tecnologías

Una red de distribución de aplicaciones ( ADN ) es un conjunto de tecnologías que, cuando se implementan en conjunto, brindan disponibilidad, seguridad, visibilidad y aceleración para aplicaciones de Internet, como sitios web. Los componentes de ADN brindan 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). [1] En el extremo del centro de datos de un 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 un 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. [2] 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 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 mezcla 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 entrega de aplicaciones

Internet fue diseñada según el principio de extremo a extremo [3] . 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 [4].

En teoría, una red de entrega de aplicaciones (ADN) está estrechamente relacionada con una red de entrega de contenido . La diferencia entre las dos redes de entrega radica en la inteligencia de la ADN para comprender y optimizar las aplicaciones, generalmente denominada fluidez de la aplicación. La red fluida de aplicaciones (AFN) se basa en el concepto de fluidez de aplicaciones [5] para referirse a las técnicas de optimización de WAN aplicadas en la capa cuatro a 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 capacidad de optimizar la entrega de cada aplicación. [6] La red fluida de aplicaciones es una adición de capacidades SDN. Alcatel-Lucent Enterprise utiliza el acrónimo 'AFN' para referirse a una red fluida de aplicaciones.

La entrega de aplicaciones utiliza uno o más conmutadores de capa 4 a 7 , también conocidos como conmutador web, conmutador de contenido o conmutador 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 entrega 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 proporciona las ventajas de la distribución de la carga, el aumento de la capacidad de los servidores, la escalabilidad mejorada, la seguridad y una 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

Multiplexación TCP

La multiplexación TCP se basa en gran medida en 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. Muchas ADN implementan estas RFC para proporcionar una mejor entrega de aplicaciones mediante un uso más eficiente de TCP.

Los RFC más comúnmente implementados son:

  • Reconocimientos tardíos [7]
  • Algoritmo de Nagle [8]
  • Agradecimientos selectivos [9] [10]
  • Notificación explícita de congestión ECN [11] [12]
  • Retransmisiones limitadas y rápidas [13] [14]
  • Ventanas de congestión inicial adaptativas [15]

Compresión de datos y almacenamiento en caché

Los ADN también permiten optimizar los datos de las aplicaciones mediante técnicas de compresión y almacenamiento en caché. En la actualidad, los 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 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 confiabilidad y disponibilidad del ADN

Comprobación avanzada de la salud

La comprobación avanzada del estado de salud 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 de salud permiten al ADC determinar de forma inteligente si el contenido que devuelve el servidor es correcto y debe entregarse al cliente.

Esta característica habilita 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 menor conexión 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 .

Los algoritmos de equilibrio de carga estándar de la industria típicos disponibles en la actualidad incluyen:

  • Partido de ida y vuelta
  • Menos conexiones
  • Tiempo de respuesta más rápido
  • Round Robin ponderado
  • Conexiones mínimas ponderadas
  • Valores personalizados asignados a servidores individuales en un grupo según SNMP u otro mecanismo de comunicación

Tolerancia a fallos

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. [16]

El ADN también garantiza la disponibilidad y confiabilidad de las aplicaciones mediante su capacidad de realizar una "conmutación por error" sin problemas a un dispositivo secundario en caso de una falla de hardware o software. Esto garantiza que el tráfico continúe fluyendo en caso de una falla en un dispositivo, lo que proporciona tolerancia a fallas para las aplicaciones. La tolerancia a fallas se implementa en los ADN a través de una conexión en red o en serie.

Conmutación por error basada en 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.

Conmutación por error basada 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 falla, como 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. [ cita requerida ]

Seguridad de la capa de aplicación

Encubrimiento 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 funcionalidad es ocultar el sistema operativo y el software del servidor que se utiliza para alojar la aplicación. Esto se logra generalmente reescribiendo el campo Servidor en una respuesta HTTP. [17]

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 un URI y una VIP que sólo conoce el ADN y, al recibir la solicitud, el ADN puede (a) reescribir el URI y enviar una redirección 302 [18] o (b) traducir de forma transparente el URI y responder al cliente como si el URI fuera el correcto desde el principio.

Cortafuegos de aplicaciones

En los últimos años, las ADN comerciales han comenzado a incluir funciones de firewall 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 firewall 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:

Unión retardada

El enlace retrasado , también llamado empalme TCP, es el aplazamiento de la conexión entre el cliente y el servidor para obtener información suficiente 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.

Filtrado de IP

Los ADN suelen tener la capacidad de filtrar el tráfico en función de listas de control de acceso (ACL), rangos de IP falsos (filtrado Bogon) y comparación de 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

Notas

  1. ^ Gartner afirma que el mercado mundial de aceleración de aplicaciones alcanzará los 3.700 millones de dólares en 2008, STAMFORD, Connecticut, 21 de agosto de 2006
  2. ^ ¿ Qué hace que un controlador de WAN sea óptimo? Network World, 8 de enero de 2008
  3. ^ JH Saltzer ; DP Reed ; DD Clark (1 de noviembre de 1984). "Argumentos de extremo a extremo en el diseño de sistemas" (PDF) . ACM Transactions on Computer Systems . 2 (4): 277–288. doi :10.1145/357401.357402. ISSN  0734-2071. S2CID  215746877. Wikidata  Q56503280 . Consultado el 5 de abril de 2022 .
  4. ^ Halabi, Bassam: "Arquitecturas de enrutamiento de Internet", New Riders Publishing, 1997
  5. ^ "Enterprise Networking Communications Summit" (PDF) . gartner . Consultado el 17 de noviembre de 2008 .
  6. ^ Erlanger, Leon. "Building the Intelligent Network". TechWorld. Archivado desde el original el 23 de febrero de 2014. Consultado el 1 de agosto de 2005 .
  7. ^ RFC 896: Control de congestión en redes IP/TCP
  8. ^ RFC 1122: Requisitos para los hosts de Internet: Capas de comunicación
  9. ^ RFC 2018: Opciones de reconocimiento selectivo de TCP
  10. ^ RFC 2883: Una extensión de la opción de reconocimiento selectivo (SACK) para TCP
  11. ^ RFC 3168: La incorporación de la notificación explícita de congestión al protocolo TCP
  12. ^ RFC 2481: Una propuesta para agregar Notificación Explícita de Congestión (ECN) a IP
  13. ^ RFC 3042: Mejora de la recuperación de pérdidas de TCP mediante transmisión limitada
  14. ^ RFC 2582: La modificación NewReno al algoritmo de recuperación rápida de TCP
  15. ^ RFC 3390: Aumento de la ventana inicial del TCP
  16. ^ MacVittie, Lori: "Content Switches", Network Computing, julio de 2001 Archivado el 27 de septiembre de 2007 en Wayback Machine.
  17. ^ Protocolo de transferencia de hipertexto (HTTP/1.1): semántica y contenido, contexto de respuesta
  18. ^ Protocolo de transferencia de hipertexto (HTTP/1.1): semántica y contenido, redirección 3xx
  • Optimización del rendimiento de la red con conmutación de contenido: equilibrio de carga de servidor, firewall y caché
Obtenido de "https://es.wikipedia.org/w/index.php?title=Red_de_entrega_de_aplicaciones&oldid=1232971333"