Para intentar establecer la conectividad P2P, la solicitud de enlace STUN y la respuesta a/desde la dirección principal del servicio STUN (IP y puerto) es todo lo que realmente importa. La dirección mapeada devuelta en el cuerpo de respuesta de esta solicitud se pasa (a través de XMPP u otro servicio) al nodo remoto con el que el cliente local intenta establecer comunicación directa.
La segunda IP y el puerto que escucha el servicio STUN son útiles para determinar el comportamiento de la asignación de puertos NAT y el comportamiento del filtrado NAT.
Al realizar solicitudes vinculantes al IP: puerto alternativo en el servicio, un cliente puede descubrir si su NAT tiene una semántica de asignación coherente para los puertos locales. En caso de que obtenga diferentes valores de mapeo de puertos para cada prueba, el cliente puede concluir que está detrás de una "NAT simétrica", que es la más difícil de atravesar para P2P.
Al enviar una solicitud de vinculación con un atributo de "solicitud de cambio" que solicita al servicio que responda desde la otra IP o puerto, un cliente puede detectar si su NAT solo filtra datagramas de hosts remotos basados en IP y puerto, o permite datagramas de puertos alternativos en hosts a los que ha enviado datagramas de salida.
El comportamiento de asignación y las pruebas de filtrado solo proporcionan información limitada para conexiones P2P subsiguientes. En el caso de determinar una NAT simétrica entre el servidor e Internet, algunas implementaciones pueden observar que el NAT tiene un valor incremental constante del valor del puerto en cada respuesta de enlace. (por ejemplo, el puerto externo observado por el servicio STUN aumenta en uno). Como tal, el cliente puede ofrecer un IP y un número de puerto adivinado para que el cliente remoto intente enviar en lugar del que se asignó desde la primera solicitud de enlace. O el cliente puede usar esta prueba de comportamiento/filtrado para el registro. O para asignar automáticamente un relevador en caso de NAT simétrica.
Desafortunadamente, la implementación stund clásica [no admite] (http://sourceforge.net/tracker/?func=detail&aid=1055306&group_id=47735&atid=450612) dos direcciones IP en dos servidores. Las dos IP pueden estar en la misma NIC o no, pero stund intenta vincularse a ambas, por lo que deben estar en el mismo servidor. –