ATURDIR

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 12 de septiembre de 2018; las comprobaciones requieren 6 ediciones .

STUN (abreviatura de English  Session Traversal Utilities for NAT , Session Traversal Utilities for NAT, anteriormente English  Simple Traversal of UDP through NATs , Simple UDP pasando por servidores NAT) es un protocolo de red que permite que un cliente ubicado detrás de un servidor de traducción de direcciones (o detrás varios de estos servidores), determine su dirección IP externa , una forma de traducir la dirección y el puerto en la red externa, asociada con un número de puerto interno específico. Esta información se utiliza para establecer una conexión UDP entre dos hosts si ambos están detrás de un enrutador NAT . El protocolo está definido en RFC 5389 ( la versión anterior era RFC 3489 ).

Descripción general del protocolo

Existen protocolos que utilizan paquetes UDP para transmitir voz o imágenes sobre redes IP. Si ambas partes comunicantes están detrás de NAT'om, la conexión no se puede establecer de la forma habitual. Aquí es donde STUN es útil.

STUN es un protocolo cliente-servidor. El cliente VoIP puede incluir una implementación de cliente STUN que envía una solicitud al servidor STUN. Luego, el servidor STUN devuelve al cliente cuál es la dirección externa del enrutador NAT y qué puerto está abierto en el NAT para aceptar las solicitudes entrantes a la red interna.

La respuesta también permite que el cliente STUN determine qué tipo de traducción de direcciones se está utilizando, ya que los diferentes tipos de enrutadores NAT procesan los paquetes UDP entrantes de manera diferente. STUN funciona con tres de los cuatro tipos principales: NAT de cono completo, NAT de dirección restringida y NAT de puerto restringido (el cuarto es NAT simétrico). En el caso de NAT restrictivo, el cliente debe enviar un paquete al host remoto antes de que NAT comience a pasar paquetes desde el host remoto al cliente. STUN no funcionará con NAT simétrico (también llamado "NAT bidireccional"), que a menudo se encuentra en redes de grandes empresas. Con NAT simétrica, la dirección IP del servidor STUN es diferente de la dirección de destino y, debido a esto, la dirección NAT que ve el servidor STUN es diferente de la dirección de destino que se usará para enviar paquetes al cliente.

Una vez que un cliente ha descubierto su dirección externa, puede pasarla al host al que se está conectando. Si hay traductores de cono completo en el camino, cualquiera de los lados puede iniciar la comunicación. Si está en curso una transmisión de cono limitado o de cono limitado de puerto, ambas partes deben iniciar la transferencia de datos de manera conjunta.

Cabe señalar que los métodos descritos en RFC 3489 no requieren necesariamente el uso del protocolo STUN; pueden usar dentro de cualquier protocolo basado en UDP.

Se establece una conexión con el servidor STUN en el puerto UDP 3478 , pero el servidor solicita a los clientes que verifiquen también la dirección IP y el número de puerto alternativos (los servidores STUN tienen dos direcciones IP). El RFC establece que la elección del puerto y la IP es arbitraria.

Véase también

Implementación

Servidores STUN públicos