salvot2990
Essenzialmente fanno una verifica del tipo di NAT attivo - e quindi delle possibili funzionalità che possono supportare. I tipi di NAT possibili sono ad esempio indicati nella RFC di STUN:
https://www.ietf.org/rfc/rfc3489.txt
In pratica solo con il primo tipo ("full cone"), una volta che il mapping NAT è stato stabilito (via port-forwarding, UPnP. ecc) è usabile da qualsiasi client esterno - negli altri casi tipicamente no (prima devono essere stati contattati dall'interno).
Ci sono protocolli però che dietro NAT hanno problemi o non funzionano se usano direttamente l'IP dell'interfaccia del dispositivo nei loro dati, senza fare discovery del NAT attivo e quindi dell'IP:porta assegnati all'esterno.