Tipos de NAT
Há várias maneiras de implementar o endereço de rede e a tradução de portas. Em alguns protocolos de aplicação que usam informações de endereço IP, o aplicativo em execução precisa determinar o endereço externo do NAT, ou seja, o endereço que seus pares de comunicação detectam e, além disso, muitas vezes precisa examinar e categorizar o tipo de mapeamento em uso.Geralmente isso é feito porque é desejado configurar um caminho de comunicação direta entre dois clientes, os quais estão por trás de NATs separados.
Para isso, foi desenvolvido o protocolo Simple traversal of UDP over NATs (STUN) (RFC 3489, março de 2003). Ele classificou a implementação de NAT como Full Cone NAT, Restricted Cone NAT, Port-Restricted Cone NAT, Symmetric NAT: e propôs uma metodologia para testar um dispositivo de acordo. Contudo, estes procedimentos foram desde então obsoletos do estado de normas, uma vez que os métodos são inadequados para avaliar corretamente muitos dispositivos. Novos métodos foram padronizados no RFC 5389 (outubro de 2008) e o acrônimo STUN agora representa o novo título da especificação: Session Traversal Utilities for NAT.
https://wiki.sj.ifsc.edu.br/index.php/NAT#Tipos_de_NAT