SPDY (Speedy)

Advertencia SPDY está obsoleto desde NetScaler 12.0 build 56.20 en adelante y, como alternativa, Citrix recomienda utilizar la función HTTP/2. Para obtener más información, consulte el tema HTTP/2.

SPDY es un protocolo experimental de redes abiertas desarrollado por Google para reducir el tiempo que un cliente tarda en cargar una página web en un explorador. SPDY, un protocolo de capa de aplicación, cambia la forma en que se manejan las solicitudes y respuestas HTTP. SPDY ofrece las siguientes ventajas en comparación con una transacción HTTP regular:

  • Solicitudes y respuestas multiplexadas: En una sola sesión SPDY, se pueden enviar varias solicitudes del cliente a través de una única conexión TCP al servidor. Esto reduce el número de conexiones TCP y también optimiza el uso de cada conexión TCP.
  • Priorización de solicitudes: Al solicitar servicios del servidor, un cliente puede asignar una prioridad a cada solicitud.
  • Compresión de encabezado: SPDY comprime los encabezados de solicitud y respuesta HTTP, ahorrando ancho de banda y reduciendo la latencia.
  • Servidor Push: El servidor puede enviar datos al cliente antes de que el cliente lo solicite.
  • Seguridad: SPDY es seguro por diseño, porque se requiere SSL para las conexiones SPDY.

Citrix ADC admite las versiones SPDY/2 y SPDY/3 (desde Citrix ADC 10.5 en adelante).

Nota: Lacompatibilidad con SPDY depende de la versión del explorador que se utilice.

Si utiliza un dispositivo Citrix ADC como Gateway SPDY para sus servidores, los servidores no tienen que admitir SPDY. El dispositivo Citrix ADC acepta las solicitudes SPDY entrantes, las convierte y las envía a los servidores como solicitudes HTTP. También convierte las respuestas HTTP y las envía a los clientes como respuestas SPDY. Si bien el valor clave de SPDY es la reducción del consumo de ancho de banda y una comunicación más rápida con los clientes, una ventaja adicional de la solución Citrix ADC es que evite la tarea de actualizar sus servidores web y aplicaciones para admitir SPDY.

Para utilizar un dispositivo Citrix ADC como Gateway SPDY, debe habilitar SPDY en el dispositivo.

Requisitos del sistema

Ambos extremos de una conexión SPDY deben admitir la misma versión de SPDY. Además, los clientes deben cumplir los siguientes requisitos:

Soporta compresión ZLIB y acepta datos comprimidos.

Admite la extensión TLS Next Protocol Negotiation (NPN), ya que NPN se utiliza en el protocolo de enlace TLS.

Cómo funciona SPDY sobre SSL

Si SPDY está habilitado, cuando el dispositivo Citrix ADC ve la extensión TLS ALPN con una lista de protocolos admitidos en el mensaje de saludo de cliente, responde con SPDY/3 o SPDY/2 en la extensión ALPN en su saludo de servidor.

Citrix ADC también puede negociar SPDY sobre NPN. Cuando Citrix ADC ve una extensión NPN vacía en el mensaje de saludo de cliente, responde con una lista de los protocolos que admite. Si SPDY está habilitado en el dispositivo Citrix ADC, el dispositivo anuncia los protocolos HTTP/1.1 y SPDY/2. El cliente selecciona un protocolo de esta lista y negocia el protocolo con el servidor. Dado que enviar el protocolo negociado en texto sin formato generaría problemas de seguridad, el cliente envía la notificación Change Cipher Spec, que define los detalles del cifrado de la sesión, seguido del mensaje Next Protocol, que contiene el protocolo cifrado que el cliente ha elegido. A continuación, el cliente envía el mensaje Finalizado. El dispositivo Citrix ADC descifra el mensaje Next Protocol y, a continuación, envía un mensaje Finalizado.

A continuación, se establece una sesión y se pueden intercambiar datos de aplicación.

Nota La extensión NPN no es compatible con un dispositivo Citrix ADC FIPS ni con las versiones 1.1 y 1.2 del protocolo TLS.

Configurar SPDY

De forma predeterminada, SPDY está inhabilitado en el dispositivo Citrix ADC. Después de habilitar SPDY, el dispositivo anuncia SPDY/2 y/o SPDY/3 junto con HTTP/1.1 durante un protocolo de enlace SSL. Para habilitar SPDY en el dispositivo Citrix ADC, debe habilitar SPDY en el perfil HTTP enlazado al servidor virtual SSL.

Para configurar SPDY mediante la interfaz de línea de comandos

En el símbolo del sistema, haga lo siguiente:

Enable SPDY on a HTTP profile

set ns httpProfile <profileName> -SPDY <options>

Ejemplo

> set ns httpProfile profile1 -SPDY ENABLED

Bind the HTTP profile to a SSL virtual server.

set lb vserver <ssl-vserver-name> -httpProfileName <httpProfile-with-spdy>

Ejemplo

> set lb vserver SPDY_LB -httpProfileName profile1

Nota: Para aplicar SPDY globalmente, habilite SPDY en el perfil HTTP global (nshttp_default_profile).

Puede ver las estadísticas mediante el siguiente comando:

stat protocol http -detail

Para configurar SPDY mediante la interfaz gráfica de usuario

Vaya a Sistema> Perfiles y, en la ficha Perfiles HTTP, actualice el perfil en el que desea habilitar SPDY.

Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales y asocie el perfil HTTP al servidor virtual SSL adecuado.

Solucionar problemas de SPDY

Si las sesiones SPDY no están habilitadas incluso después de realizar los pasos necesarios, compruebe las condiciones siguientes.

Si el cliente está mediante un explorador Chrome, es posible que SPDY no funcione en algunos casos porque Chrome a veces no inicia el protocolo de enlace TLS.

Si hay un proxy de reenvío entre el cliente y el dispositivo Citrix ADC, y el proxy de reenvío no admite SPDY, es posible que las sesiones de SPDY no estén habilitadas.

Citrix ADC no admite NPN a través de TLS 1.1/1.2. Para usar SPDY, el cliente debe inhabilitar TLS1.1/1.2 en el explorador.

Del mismo modo, si el cliente desea usar SPDY, SSL2/3 debe estar inhabilitado en el explorador.