Arquitectura y flujo de tráfico

Esta sección describe la arquitectura y el flujo de tráfico del modo puente de NetScaler CPX. NetScaler CPX también se puede implementar en modo host.

Cuando aprovisiona una instancia de NetScaler CPX en un host de Docker, el motor de Docker crea una interfaz virtual, eth0, en la instancia de CPX. Esta interfaz eth0 está conectada directamente a una interfaz virtual (veth*) en el puente docker0. El motor de Docker también asigna una dirección IP a la instancia de NetScaler CPX en la red 172.17.0.0/16.

La puerta de enlace predeterminada para la instancia de CPX es la dirección IP del puente docker0, lo que significa que cualquier comunicación con la instancia de NetScaler CPX se realiza a través de la red de Docker. Todo el tráfico entrante recibido del puente docker0 es recibido por la interfaz eth0 en la instancia de NetScaler CPX y procesado por el motor de paquetes de NetScaler CPX.

La siguiente figura ilustra la arquitectura de una instancia de NetScaler CPX en un host de Docker.

imagen localizada

Cómo funciona una única dirección IP en NetScaler CPX

Un dispositivo NetScaler MPX o VPX regular requiere al menos tres direcciones IP para funcionar:

  • Dirección IP de administración llamada dirección IP de NetScaler (NSIP)
  • Dirección IP de subred (SNIP) para comunicarse con la granja de servidores
  • Dirección(es) IP de servidor virtual (VIP) para aceptar solicitudes de cliente

Una instancia de NetScaler CPX funciona con una única dirección IP que se utiliza tanto para la administración como para el tráfico de datos.

Durante el aprovisionamiento, el motor de Docker asigna una única dirección IP privada (dirección IP única) a una instancia de NetScaler CPX. Las tres funciones IP de una instancia de NetScaler se multiplexan en una única dirección IP. Esta única dirección IP utiliza diferentes números de puerto para funcionar como NSIP, SNIP y VIP(s).

La siguiente imagen ilustra cómo se utiliza una única dirección IP para realizar las funciones de NSIP, SNIP y VIP(s).

imagen localizada

Flujo de tráfico para solicitudes originadas desde la instancia de NetScaler CPX

Docker configura implícitamente tablas IP y una regla NAT para dirigir el tráfico originado desde la instancia de NetScaler CPX a la dirección IP de docker0.

La siguiente figura ilustra cómo una solicitud de ping originada desde una instancia de NetScaler CPX llega al destino.

imagen localizada

En este ejemplo, la solicitud de ping es enviada por el motor de paquetes en la interfaz eth0 con la dirección IP de origen como la dirección IP de NetScaler CPX (172.17.0.4). El host de Docker, entonces, realiza la traducción de direcciones de red (NAT) para añadir la dirección IP del host (192.68.x.x) como dirección IP de origen y envía la solicitud al destino (216.58.x.x). La respuesta de la dirección IP de destino sigue el mismo camino a la inversa. El host de Docker realiza NAT en la respuesta y reenvía la respuesta a la instancia de NetScaler CPX en la interfaz eth0.

Flujo de tráfico para solicitudes originadas desde la red externa

Para habilitar la comunicación externa, al aprovisionar NetScaler CPX, debe configurar parámetros para que Docker exponga ciertos puertos como el 80, el 22 y cualquier otro puerto que desee. Si no ha configurado ningún puerto para ser expuesto durante el aprovisionamiento, entonces debe configurar reglas NAT en el host de Docker para que estos puertos estén disponibles.

La solicitud del cliente que se origina en Internet es recibida por el host de Docker, que luego realiza la traducción de direcciones de puerto (PAT) para mapear la dirección IP pública y el puerto a la única dirección IP y puerto de la instancia de NetScaler CPX, y reenvía el tráfico a la instancia.

La siguiente figura muestra cómo el host de Docker realiza la traducción de direcciones de puerto para dirigir el tráfico a la única dirección IP y puerto de NetScaler CPX.

imagen localizada

En este ejemplo, la dirección IP del host de Docker es 192.68.x.x y la única dirección IP de la instancia de NetScaler CPX es 172.17.0.4. El puerto SSH 22 de la instancia de NetScaler CPX está mapeado al puerto 1100 en el host de Docker. La solicitud SSH del cliente se recibe en la dirección IP 192.68.x.x en el puerto 1100. El host de Docker realiza la traducción de direcciones de puerto para mapear esta dirección y puerto a la única dirección IP 172.17.0.4 en el puerto 22 y reenvía la solicitud del cliente.

Arquitectura y flujo de tráfico