Tiempo de espera STUN

STUN (Session Traversal Utilities for NAT) permite que un host final que opera detrás de un dispositivo NAT descubra su dirección IP NAT y su puerto NAT asignados por el dispositivo NAT. Las aplicaciones de comunicación interactiva (por ejemplo, voz, vídeo y mensajería en tiempo real) que se ejecutan en estos hosts utilizan el protocolo STUN para descubrir la dirección IP NAT y la información del puerto. Estas aplicaciones utilizan esta información para conectarse a sus aplicaciones del mismo nivel en Internet. El protocolo STUN incluye servidores, conocidos como servidores STUN, que residen en Internet. Mediante el protocolo STUN, una aplicación de un host final envía una solicitud a un servidor STUN conocido, que a su vez incrusta la dirección IP NAT y el puerto en la carga útil de su paquete de respuesta.

En una implementación LSN de un dispositivo Citrix ADC para un ISP, las aplicaciones de comunicación interactiva (por ejemplo, voz, vídeo y mensajería en tiempo real) que se ejecutan en un suscriptor pueden utilizar el protocolo STUN para descubrir si está detrás de un dispositivo NAT (Citrix ADC Appliance) o no. Estas aplicaciones envían una solicitud a un servidor STUN conocido. Al recibir la solicitud, Citrix ADC asigna una dirección IP NAT y un puerto para esta solicitud, crea una sesión LSN y una entrada de asignación LSN, traduce el paquete con la dirección IP NAT asignada y el puerto y, a continuación, reenvía el paquete al servidor STUN. El servidor STUN incrusta la dirección IP NAT asignada y el puerto en la carga útil de su paquete de respuesta. Cuando el suscriptor finalmente recibe el paquete, de la carga útil del paquete se entera de que está detrás de un dispositivo NAT, y de la dirección IP NAT y el puerto asignados para la sesión.

A continuación, la aplicación notifica a las aplicaciones del mismo nivel que es accesible en la dirección IP NAT y en el puerto de la entrada de asignación LSN creada para la sesión STUN. Notifica incrustando la dirección IP NAT y el puerto en la carga útil de los paquetes enviados a las aplicaciones del mismo nivel. Para hacer que la aplicación sea accesible en la misma entrada de asignación de LSN para cualquier aplicación externa, se habilita NAT de cono completo (asignación independiente de endpoint y filtrado independiente de endpoints) para la configuración de LSN en el dispositivo Citrix ADC.

Citrix ADC detecta una sesión LSN de tipo STUN si los paquetes de solicitud están destinados al puerto TCP o UDP 3478 y, a continuación, marca la entrada de asignación creada del tipo STUN. El Citrix ADC aplica un tiempo de espera llamado, tiempo de espera de STUN, a la entrada de asignación de LSN de STUN creada. Un tiempo de espera de STUN es el tiempo máximo que Citrix ADC mantiene una entrada de asignación de LSN STUN inactiva desde que fue utilizada por última vez por cualquier sesión LSN. Si la sesión de asignación de LSN de STUN no se utiliza durante un tiempo que excede el tiempo de espera de STUN, Citrix ADC quita la entrada de asignación.

Para que una aplicación de un suscriptor que utiliza la entrada de asignación de LSN de STUN permanezca disponible para otras aplicaciones del mismo nivel en Internet, la aplicación envía periódicamente mensajes de mantenimiento al dispositivo Citrix ADC para que la entrada de asignación de LSN de STUN no se agote. Una mayor frecuencia de mensajes keep-alive puede tener un efecto en el rendimiento de un suscriptor, especialmente, si el suscriptor es un dispositivo móvil. Un valor más alto de tiempo de espera STUN reduce la frecuencia de los mensajes keep-alive de un suscriptor.

Los ALG en el dispositivo Citrix ADC no se aplican a una sesión LSN que utilice una entrada de asignación de LSN de STUN porque la dirección IP de NAT y el puerto NAT se comunican en la carga útil de los paquetes relacionados con la sesión.

Para las aplicaciones de los suscriptores que utilizan el protocolo STUN, la configuración LSN debe tener los siguientes valores:

  • Tiempo de espera de aturdimiento. En una configuración de LSN, el grupo LSN incluye la configuración de tiempo de espera STUN.
  • Asignación independiente del punto final y filtrado independiente del punto final para puertos del protocolo STUN.

Para obtener instrucciones sobre cómo crear una configuración de LSN, consulte Pasos de configuración para LSN.

Ejemplo:

La siguiente configuración LSN de ejemplo se aplica a las aplicaciones que utilizan el protocolo STUN sobre TCP o UDP. El tiempo de espera STUN se establece en 10 minutos. La asignación independiente del punto final y el filtrado independiente del punto final se establecen para el puerto TCP STUN (3748) y el puerto UDP de STUN (3748).

add lsn client LSN-CLIENT-1

Done

bind lsn client LSN-CLIENT-1 -network 192.0.2.0 -netmask 255.255.255.0

Done

add lsn pool LSN-POOL-1

Done

bind lsn pool LSN-POOL-1 203.0.113.3

Done

add lsn group LSN-GROUP-1 -clientname LSN-CLIENT-1  -stuntimeout 10

Done

bind lsn group LSN-GROUP-1 -poolname pool1 LSN-POOL-1

Done

add lsn appsprofile LSNAPPSPROFILE-TCP-STUN-1 TCP -mapping ENDPOINT-INDEPENDENT –filtering  ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile LSNAPPSPROFILE-TCP-STUN-1 3748

Done

bind lsn group LSN-GROUP-1 -applicationprofilename LSNAPPSPROFILE-TCP-STUN-1

Done

add lsn appsprofile LSNAPPSPROFILE-UDP-STUN-1 UDP -mapping ENDPOINT-INDEPENDENT –filtering  ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile LSNAPPSPROFILE-UDP-STUN-1 3748

Done

bind lsn group LSN-GROUP-1 -applicationprofilename LSNAPPSPROFILE-UDP-STUN-1

Done