Hay que distinguir dos NATs:
NAT de navegación: este existe siempre (en ipv4 usando un router). Es el NAT que, cuando navegamos por internet, transforma la IP origen del paquete (una IP local del PC o la consola) en la IP pública.
NAT de presencia: el NAT que hacemos manualmente o por Upnp, el que hace que tengamos presencia desde internet a un servicio (IP+puerto) de una máquina local.
Lo primero es comentar que esto nunca jamás está configurado en el PC o consola, sino en el router (o, en casos de CG-NAT, en la red del operador). Que las consolas traigan una prueba para hablar con el servidor y en base a unas verificaciones decirte el tipo de NAT, no significa que esté ese NAT lo tenga la consola. En PC técnicamente se podría hacer algo similar (y probablemente exista alguna web o programa que lo haga, no me ha dado por buscarlo).
Lo segundo, es comentar que el tipo de NAT, en una correcta implementación (cosa que a menudo los servicios de las consolas no hacen) no debe impactar en el rendimiento. O deja pasar o no, pero si deja, no va a ir mejor o peor por un tipo de NAT. Para entender esto, centrémonos en un ejemplo con el NAT de navegación
Pongamos el siguiente escenario:
Mi PC: IP 192.168.1.10 . Cada vez que sale a internet, tomará como origen un puerto aleatorio, para el ejemplo pongamos que coge el 16123
Mi router: tiene como IP pública la IP 20.20.20.20
Web: quiero acceder a una web por http, tendrá IP 30.30.30.30 y el servicio en Puerto 80
El paquete IP que sale de mi PC será:
Origen: 192.168.1.10:16123
Destino: 30.30.30.30:80
Al llegar al router, el NAT de navegación lo transformará a:
Origen: 20.20.20.20:16123 (aquí podría poner otro puerto, da igual cual libre coja)
Destino: 30.30.30.30:80
Y además, se apuntará en la tabla de traducciones NAT que tiene en memoria está traducción para que, cuando llegue la respuesta, el router sepa que tiene que pasarla al PC, y que no es una comunicación entrante nueva.
Y aquí es donde entran los tipos de NAT, en lo que el router se apunta y que permitirá para la respuesta:
NAT tipo 1 o "NAT abierto": simplemente se apuntará los datos de la traducción de origen de forma que cualquier paquete que llegue a 20.20.20.20:16123 se pasará a 192.168.1.10. Es decir, cualquier equipo del mundo que ataque a ese puerto de mi IP pública va a llegar a mi PC.
NAT tipo 2 o "address restricted": sólo permite comunicación desde la IP destino. Por lo tanto, cualquier paquete con origen 30.30.30.30 y destino 20.20.20.20:16123, llegará al PC
NAT tipo 3 o "Port restricted": solo permite comunicación desde la IP y puerto destino. Los paquetes con origen 30.30.30.30:80 y destino 20.20.20.20:16123 llegarán al PC
NAT tipo 4 o "NAT simétrico": sinceramente, me veo incapaz de explicarlo sin dibujos de por medio. Díganos que los puertos se van negociando y van cambiando durante la comunicación. De todas formas hasta donde sé ningún operador en España lo utiliza en sus routers.
Como se puede comprobar, el tipo de NAT define si un paquete IP de respuesta va a ser capaz de llegar o no a la máquina que inició la comunicación. No es algo que haga que la comunicación mejore o empeore latencia o ancho de banda.
¿Por qué, entonces, es común en consolas que se diga que un NAT va mejor que otro? Pues tengo mis serías dudas sobre que sea cierto. Pero si lo es, lo único que se me ocurre es que sea porque utilicen NAT hole punching como primera opción (cosa que creo que no deberían usar). Pero esto ya ha quedado muy largo, si alguien tiene interés en saber qué es, que lo diga y monto otra perorata contando de qué va eso.