Citrix ADC

Cómo se comunica un dispositivo Citrix ADC con clientes y servidores

Normalmente, un dispositivo Citrix ADC se implementa frente a una granja de servidores y funciona como un proxy TCP transparente entre clientes y servidores, sin necesidad de ninguna configuración del lado del cliente. Este modo básico de operación se denomina tecnología de conmutación de solicitudes y es el núcleo de la funcionalidad de Citrix ADC. La conmutación de solicitudes permite a un dispositivo multiplexar y descargar las conexiones TCP, mantener las conexiones persistentes y administrar el tráfico en el nivel de solicitud (capa de aplicación). Esto es posible porque el dispositivo puede separar la solicitud HTTP de la conexión TCP en la que se entrega la solicitud.

Según la configuración, es posible que el dispositivo procese el tráfico antes de reenviar la solicitud a un servidor. Por ejemplo, si el cliente intenta obtener acceso a una aplicación segura en el servidor, el dispositivo puede realizar el procesamiento SSL necesario antes de enviar tráfico al servidor.

Para facilitar el acceso eficaz y seguro a los recursos del servidor, un dispositivo utiliza un conjunto de direcciones IP conocidas colectivamente como direcciones IP propiedad de Citrix ADC. Para administrar el tráfico de red, debe asignar direcciones IP propiedad de Citrix ADC a entidades virtuales que se convierten en los bloques de creación de la configuración. Por ejemplo, para configurar el equilibrio de carga, debe crear servidores virtuales para recibir solicitudes de cliente y distribuirlas a los servicios, que son entidades que representan las aplicaciones de los servidores.

Descripción de las direcciones IP propiedad de Citrix ADC

Para funcionar como proxy, un dispositivo Citrix ADC utiliza una variedad de direcciones IP. Las direcciones IP clave propiedad de Citrix ADC son:

  • Dirección IP deCitrix ADC (NSIP)

    La dirección NSIP es la dirección IP para la administración y el acceso general al sistema al propio dispositivo, y para la comunicación entre dispositivos en una configuración de alta disponibilidad.

  • Dirección IP (VIP) del servidorvirtual

    Una dirección VIP es la dirección IP asociada a un servidor virtual. Es la dirección IP pública a la que se conectan los clientes. Un dispositivo que administra un amplio rango de tráfico puede tener varias direcciones IP virtuales configuradas.

  • Dirección IP de subred (SNIP)

    Se utiliza una dirección SNIP en la administración de conexiones y la supervisión del servidor. Puede especificar varias direcciones SNIP para cada subred. Las direcciones SNIP se pueden enlazar a una VLAN.

  • Conjunto deIP

    Un conjunto de IP es un conjunto de direcciones IP, que se configuran en el dispositivo como SNIP. Un conjunto de IP se identifica con un nombre significativo que ayuda a identificar el uso de las direcciones IP contenidas en él.

  • Perfil de red

    Un perfil de red (o perfil de red) contiene una dirección IP o un conjunto de IP. Un perfil de red puede vincularse al equilibrio de carga o al cambio de contenido de servidores virtuales, servicios, grupos de servicios o monitores. Durante la comunicación con servidores físicos o compañeros, el dispositivo utiliza las direcciones especificadas en el perfil como direcciones IP de origen.

Cómo se administran los flujos de tráfico

Dado que un dispositivo Citrix ADC funciona como un proxy TCP, traduce las direcciones IP antes de enviar paquetes a un servidor. Cuando configura un servidor virtual, los clientes se conectan a una dirección VIP en el dispositivo Citrix ADC en lugar de conectarse directamente a un servidor. Según lo determinado por la configuración del servidor virtual, el dispositivo selecciona un servidor adecuado y envía la solicitud del cliente a ese servidor. De forma predeterminada, el dispositivo utiliza una dirección SNIP para establecer conexiones con el servidor, como se muestra en la figura siguiente.

Ilustración 1. Conexiones basadas en servidores virtuales

imagen

En ausencia de un servidor virtual, cuando un dispositivo recibe una solicitud, reenvía la solicitud de forma transparente al servidor. Esto se llama el modo transparente de operación. Cuando funciona en modo transparente, un dispositivo traduce las direcciones IP de origen de las solicitudes de cliente entrantes a la dirección SNIP, pero no cambia la dirección IP de destino. Para que este modo funcione, el modo L2 o L3 debe configurarse adecuadamente.

En los casos en que los servidores necesitan la dirección IP del cliente real, el dispositivo puede configurarse para modificar el encabezado HTTP insertando la dirección IP del cliente como un campo adicional o configurado para usar la dirección IP del cliente en lugar de una dirección SNIP para las conexiones a los servidores.

Bloques de construcción de la gestión del tráfico

La configuración de un dispositivo Citrix ADC se genera normalmente con una serie de entidades virtuales que sirven como bloques de creación para la administración del tráfico. El enfoque de bloques de construcción ayuda a separar los flujos de tráfico. Las entidades virtuales son abstracciones, que normalmente representan direcciones IP, puertos y controladores de protocolo para procesar el tráfico. Los clientes acceden a aplicaciones y recursos a través de estas entidades virtuales. Las entidades más utilizadas son servidores y servicios virtuales. Los servidores virtuales representan grupos de servidores en una granja de servidores o una red remota, y los servicios representan aplicaciones específicas en cada servidor.

La mayoría de las funciones y configuraciones de tráfico se habilitan a través de entidades virtuales. Por ejemplo, puede configurar un dispositivo para comprimir todas las respuestas del servidor a un cliente conectado al conjunto de servidores a través de un servidor virtual determinado. Para configurar el dispositivo para un entorno concreto, debe identificar las funciones adecuadas y, a continuación, elegir la combinación adecuada de entidades virtuales para entregarlas. La mayoría de las entidades se entregan a través de una cascada de entidades virtuales enlazadas entre sí. En este caso, las entidades virtuales son como bloques que se ensamblan en la estructura final de una aplicación entregada. Puede agregar, quitar, modificar, enlazar, habilitar e inhabilitar las entidades virtuales para configurar las entidades. En la siguiente figura se muestran los conceptos tratados en esta sección.

Imagen 2. Cómo funcionan los bloques de construcción de la gestión del tráfico

imagen

Una configuración simple de equilibrio de carga

En el ejemplo que se muestra en la siguiente figura, el dispositivo Citrix ADC está configurado para funcionar como equilibrador de carga. Para esta configuración, debe configurar entidades virtuales específicas para el equilibrio de carga y vincularlas en un orden específico. Como equilibrador de carga, un dispositivo distribuye las solicitudes de cliente entre varios servidores y, por lo tanto, optimiza la utilización de los recursos.

Los componentes básicos de una configuración típica de equilibrio de carga son los servicios y los servidores virtuales de equilibrio de carga. Los servicios representan a las aplicaciones en los servidores. Los servidores virtuales abstraen los servidores proporcionando una única dirección IP a la que se conectan los clientes. Para asegurarse de que las solicitudes de cliente se envían a un servidor, debe vincular cada servicio a un servidor virtual. Es decir, debe crear servicios para cada servidor y enlazar los servicios a un servidor virtual. Los clientes utilizan la dirección VIP para conectarse a un dispositivo Citrix ADC. Cuando el dispositivo recibe solicitudes de cliente enviadas a la dirección VIP, las envía a un servidor determinado por el algoritmo de equilibrio de carga. El equilibrio de carga utiliza una entidad virtual denominada monitor para realizar un seguimiento de si un servicio configurado específico (servidor más aplicación) está disponible para recibir solicitudes.

Imagen 3. Servidor virtual, servicios y monitores de equilibrio de carga

imagen

Además de configurar el algoritmo de equilibrio de carga, puede configurar varios parámetros que afectan el comportamiento y el rendimiento de la configuración de equilibrio de carga. Por ejemplo, puede configurar el servidor virtual para mantener la persistencia en función de la dirección IP de origen. A continuación, el dispositivo dirige todas las solicitudes de cualquier dirección IP específica al mismo servidor.

Descripción de los servidores virtuales

Un servidor virtual es una entidad Citrix ADC denominada que los clientes externos pueden usar para acceder a aplicaciones alojadas en los servidores. Se representa mediante un nombre alfanumérico, una dirección IP virtual (VIP), un puerto y un protocolo. El nombre del servidor virtual es solo de importancia local y está diseñado para facilitar la identificación del servidor virtual. Cuando un cliente intenta acceder a aplicaciones en un servidor, envía una solicitud a la dirección IP virtual en lugar de enviarla a la dirección IP del servidor físico. Cuando el dispositivo recibe una solicitud en la dirección VIP, finaliza la conexión en el servidor virtual y utiliza su propia conexión con el servidor en nombre del cliente. La configuración de puerto y protocolo del servidor virtual determina las aplicaciones que representa el servidor virtual. Por ejemplo, un servidor web se puede representar mediante un servidor virtual y un servicio cuyo puerto y protocolo se establecen en 80 y HTTP, respectivamente. Varios servidores virtuales pueden usar la misma dirección VIP pero diferentes protocolos y puertos.

Los servidores virtuales son puntos para entregar funciones. La mayoría de las funciones, como la compresión, el almacenamiento en caché y la descarga de SSL, normalmente están habilitadas en un servidor virtual. Cuando el dispositivo recibe una solicitud en una dirección VIP, elige el servidor virtual apropiado por el puerto en el que se recibió la solicitud y su protocolo. A continuación, el dispositivo procesa la solicitud según corresponda para las funciones configuradas en el servidor virtual.

En la mayoría de los casos, los servidores virtuales funcionan en conjunto con los servicios. Puede enlazar varios servicios a un servidor virtual. Estos servicios representan las aplicaciones que se ejecutan en servidores físicos en una granja de servidores. Una vez que el dispositivo procesa las solicitudes recibidas en una dirección VIP, las reenvía a los servidores según lo determinado por el algoritmo de equilibrio de carga configurado en el servidor virtual. La siguiente figura ilustra estos conceptos.

Imagen 4. Múltiples servidores virtuales con una única dirección VIP

imagen

La figura anterior muestra una configuración que consta de dos servidores virtuales con una dirección VIP común pero puertos y protocolos diferentes. Cada uno de los servidores virtuales tiene dos servicios vinculados a él. Los servicios s1 y s2 están enlazados a VS_HTTP y representan las aplicaciones HTTP en el servidor 1 y el servidor 2. Los servicios s3 y s4 están enlazados a VS_SSL y representan las aplicaciones SSL en el servidor 2 y el servidor 3 (el servidor 2 proporciona aplicaciones HTTP y SSL). Cuando el dispositivo recibe una solicitud HTTP en la dirección VIP, procesa la solicitud según lo especificado por la configuración de VS_HTTP y la envía al servidor 1 o al servidor 2. Del mismo modo, cuando el dispositivo recibe una solicitud HTTPS en la dirección VIP, la procesa según lo especificado por la configuración de VS_SSL y la envía al servidor 2 o al servidor 3.

Los servidores virtuales no siempre se representan mediante direcciones IP, números de puerto o protocolos específicos. Se pueden representar mediante comodines, en cuyo caso se conocen como servidores virtuales comodines. Por ejemplo, cuando configura un servidor virtual con un comodín en lugar de un VIP, pero con un número de puerto específico, el dispositivo intercepta y procesa todo el tráfico conforme a ese protocolo y destinado al puerto predefinido. Para los servidores virtuales con comodines en lugar de VIPs y números de puerto, el dispositivo intercepta y procesa todo el tráfico conforme al protocolo.

Los servidores virtuales pueden agruparse en las siguientes categorías:

  • Servidor virtual de equilibrio de carga

    Recibe y redirige solicitudes a un servidor apropiado. La elección del servidor apropiado se basa en cuál de los diversos métodos de equilibrio de carga configura el usuario.

  • Servidor virtual de redirección decaché

    Redirige las solicitudes de cliente de contenido dinámico a los servidores de origen y las solicitudes de contenido estático a los servidores de caché. Los servidores virtuales de redirección de caché a menudo funcionan junto con los servidores virtuales de equilibrio de carga.

  • Servidor virtual de conmutación de contenido

    Dirige el tráfico a un servidor en función del contenido solicitado por el cliente. Por ejemplo, puede crear un servidor virtual de conmutación de contenido que dirija todas las solicitudes de los clientes de imágenes a un servidor que solo sirve imágenes. Los servidores virtuales de conmutación de contenido suelen funcionar conjuntamente con los servidores virtuales de equilibrio de carga.

  • Servidor virtual de red privada virtual (VPN)

    Descifra el tráfico en túnel y lo envía a aplicaciones de intranet.

  • Servidor virtual SSL

    Recibe y descifra el tráfico SSL y, a continuación, redirige a un servidor apropiado. Elegir el servidor adecuado es similar a elegir un servidor virtual de equilibrio de carga.

Descripción de los servicios

Los servicios representan aplicaciones en un servidor. Aunque los servicios se combinan normalmente con servidores virtuales, en ausencia de un servidor virtual, un servicio puede administrar el tráfico específico de la aplicación. Por ejemplo, puede crear un servicio HTTP en un dispositivo Citrix ADC para representar una aplicación de servidor web. Cuando el cliente intenta tener acceso a un sitio web alojado en el servidor web, el dispositivo intercepta las solicitudes HTTP y crea una conexión transparente con el servidor web.

En el modo de solo servicio, un dispositivo funciona como proxy. Termina las conexiones de cliente, utiliza una dirección SNIP para establecer una conexión con el servidor y traduce las direcciones IP de origen de las solicitudes de cliente entrantes a una dirección SNIP. Aunque los clientes envían solicitudes directamente a la dirección IP del servidor, el servidor las ve como procedentes de la dirección SNIP. El dispositivo traduce las direcciones IP, los números de puerto y los números de secuencia.

Un servicio también es un punto para aplicar funcionalidades. Considere el ejemplo de aceleración SSL. Para utilizar esta función, debe crear un servicio SSL y enlazar un certificado SSL al servicio. Cuando el dispositivo recibe una solicitud HTTPS, descifra el tráfico y lo envía, en texto sin formato, al servidor. Solo se puede configurar un conjunto limitado de funciones en el caso de solo servicio.

Los servicios utilizan entidades llamadas monitores para realizar un seguimiento del estado de las aplicaciones. Cada servicio tiene un monitor predeterminado, que se basa en el tipo de servicio, vinculado a él. Según lo especificado por la configuración configurada en el monitor, el dispositivo envía sondeos a la aplicación a intervalos regulares para determinar su estado. Si los sondeos fallan, el dispositivo marca el servicio como inactivo. En tales casos, el dispositivo responde a las solicitudes del cliente con un mensaje de error adecuado o redirige la solicitud según lo determinado por las directivas de equilibrio de carga configuradas.

Cómo se comunica un dispositivo Citrix ADC con clientes y servidores