ADC

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

Un dispositivo Citrix ADC normalmente se implementa frente a un conjunto de servidores y funciona como un proxy TCP transparente entre clientes y servidores, sin requerir ninguna configuración del lado del cliente. Este modo de operación básico 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 gestionar el tráfico a 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 acceder a una aplicación segura en el servidor, el dispositivo puede realizar el procesamiento SSL necesario antes de enviar el tráfico al servidor.

Para facilitar el acceso eficiente 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 componentes básicos de su configuración. Por ejemplo, para configurar el equilibrio de carga, debe crear servidores virtuales para recibir las solicitudes de los clientes 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 diversas direcciones IP. Las direcciones IP clave propiedad de Citrix ADC son:

  • Dirección IP de Citrix 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 los dispositivos en una configuración de alta disponibilidad.

  • Dirección IP (VIP) del servidor virtual

    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)

    La dirección SNIP se utiliza 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 vincular a una VLAN.

  • Conjunto IP

    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 se puede vincular a servidores virtuales, servicios, grupos de servicios o monitores de equilibrio de carga o conmutación de contenido. Durante la comunicación con servidores físicos o pares, el dispositivo utiliza las direcciones especificadas en el perfil como direcciones IP de origen.

Cómo se gestionan los flujos de tráfico

Como un dispositivo Citrix ADC funciona como proxy TCP, traduce las direcciones IP antes de enviar los paquetes a un servidor. Al configurar 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 ilustración siguiente.

Figura 1. Conexiones basadas en servidores virtuales

image

En ausencia de un servidor virtual, cuando un dispositivo recibe una solicitud, la reenvía de forma transparente al servidor. Esto se denomina modo de operación transparente. Cuando funciona en modo transparente, un dispositivo traduce las direcciones IP de origen de las solicitudes de clientes 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 necesiten la dirección IP real del cliente, el dispositivo puede configurarse para modificar el encabezado HTTP insertando la dirección IP del cliente como un campo adicional o configurarse para utilizar la dirección IP del cliente en lugar de una dirección SNIP para las conexiones a los servidores.

Elementos básicos de la gestión del tráfico

La configuración de un dispositivo Citrix ADC normalmente se crea con una serie de entidades virtuales que sirven como componentes básicos para la administración del tráfico. El enfoque por bloques ayuda a separar los flujos de tráfico. Las entidades virtuales son abstracciones que, por lo general, representan direcciones IP, puertos y controladores de protocolos para procesar el tráfico. Los clientes acceden a las aplicaciones y los recursos a través de estas entidades virtuales. Las entidades más utilizadas son los 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 mediante entidades virtuales. Por ejemplo, puede configurar un dispositivo para comprimir todas las respuestas del servidor a un cliente que esté conectado al conjunto de servidores a través de un servidor virtual determinado. Para configurar el dispositivo para un entorno determinado, debe identificar las funciones adecuadas y, a continuación, elegir la combinación correcta de entidades virtuales para ofrecerlas. La mayoría de las funciones se ofrecen 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, eliminar, modificar, vincular, habilitar y inhabilitar las entidades virtuales para configurar las funciones. En la siguiente ilustración se muestran los conceptos tratados en esta sección.

Figura 2. Cómo funcionan los componentes básicos de la gestión del tráfico

image

Una configuración sencilla de equilibrio de carga

En el ejemplo que se muestra en la siguiente ilustración, el dispositivo NetScaler 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 enlazarlas en un orden específico. Como balanceador de carga, un dispositivo distribuye las solicitudes de los clientes en varios servidores y, por lo tanto, optimiza la utilización de los recursos.

Los componentes básicos de una configuración de equilibrio de carga típica 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 al proporcionar una única dirección IP a la que se conectan los clientes. Para garantizar que las solicitudes de los clientes se envíen a un servidor, debe vincular cada servicio a un servidor virtual. Es decir, debe crear servicios para cada servidor y vincular los servicios a un servidor virtual. Los clientes utilizan la dirección VIP para conectarse a un dispositivo Citrix ADC. Cuando el dispositivo recibe las solicitudes de los clientes 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 rastrear si un servicio configurado específico (servidor más aplicación) está disponible para recibir solicitudes.

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

image

Además de configurar el algoritmo de equilibrio de carga, puede configurar varios parámetros que afectan al comportamiento y al 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 utilizar para acceder a las 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 solo tiene significado 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 puede representarse mediante un servidor virtual y un servicio cuyo puerto y protocolo estén configurados en 80 y HTTP, respectivamente. Varios servidores virtuales pueden utilizar la misma dirección VIP, pero diferentes protocolos y puertos.

Los servidores virtuales son puntos para ofrecer 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 correspondiente según 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 vincular varios servicios a un servidor virtual. Estos servicios representan las aplicaciones que se ejecutan en los servidores físicos de 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 determine el algoritmo de equilibrio de carga configurado en el servidor virtual. La siguiente ilustración ilustra estos conceptos.

Figura 4. Varios servidores virtuales con una sola dirección VIP

image

La ilustración 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 enlazados. Los servicios s1 y s2 están enlazados a VS_HTTP y representan las aplicaciones HTTP del servidor 1 y el servidor 2. Los servicios s3 y s4 están enlazados a VS_SSL y representan las aplicaciones SSL del 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, la procesa según lo especificado en 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 de HTTPS en la dirección VIP, la procesa según lo especificado en 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 caracteres comodín, en cuyo caso se denominan servidores virtuales comodín. 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 que se ajusta a ese protocolo y está destinado al puerto predefinido. En el caso de los servidores virtuales con caracteres comodín en lugar de VIP y números de puerto, el dispositivo intercepta y procesa todo el tráfico de acuerdo con el protocolo.

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

  • Servidor virtual de equilibrio de carga

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

  • Servidor virtual de redirección de caché

    Redirige las solicitudes de contenido dinámico de los clientes 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é suelen funcionar 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 que el cliente ha solicitado. Por ejemplo, puede crear un servidor virtual de conmutación de contenido que dirija todas las solicitudes de imágenes de los clientes a un servidor que solo muestre imágenes. Los servidores virtuales de conmutación de contenido suelen funcionar junto con los servidores virtuales de equilibrio de carga.

  • Servidor virtual de red privada virtual (VPN)

    Descifra el tráfico tunelizado y lo envía a las aplicaciones de la intranet.

  • Servidor virtual SSL

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

Entender los servicios

Los servicios representan aplicaciones en un servidor. Si bien los servicios normalmente se combinan con servidores virtuales, en ausencia de un servidor virtual, un servicio puede seguir gestionando 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 acceder 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 del 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 clientes entrantes a una dirección SNIP. Aunque los clientes envían las solicitudes directamente a la dirección IP del servidor, el servidor considera que provienen 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. Veamos el ejemplo de la aceleración SSL. Para utilizar esta función, debe crear un servicio SSL y vincular un certificado SSL al servicio. Cuando el dispositivo recibe una solicitud de HTTPS, descifra el tráfico y lo envía, en texto sin cifrar, al servidor. Solo se puede configurar un conjunto limitado de funciones en el caso de solo servicio.

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

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