Buenas Daft Punk
Depende de como cada sistema operativo implemente upnp, y así pueda usarlo a su vez cada juego. Te pongo un ejemplo sencillo de un PC, si lo quieres ver mejor así.
Para que Upnp funcione en un PC requieres primero que el Router tenga obviamente soporte para upnp y tenerlo habilitado. Pero además requiere que Windows soporte dicha funcionalidad (en este caso el OS) y de como la tenga implementada. Ahora bien, por mucho que tanto el Router como el OS la implementen, sea del modo que sea, si quiero usar upnp por ejemplo en el emule, eMule tiene a su vez que tener implementado upnp del modo que sea.
Es decir, que funcione el emule con upnp no depende de solo un actor, sino al menos de 3, y todos ellos hablando el mismo idioma. Si uno de ellos no habla el mismo, no funciona. Lo explicado anteriormente es específico a una parte concreta de upnp, pero en muchas otras ocasiones han sido otros los problemas, como por ejemplo que una de las partes no detectaba correctamente la dirección de anuncio. Aunque sea un estándar, al final cada uno lo implementa del modo que cree oportuno. Por ejemplo, hace unos años xBox tenía un problema similar, y algunos Router incluso incluían un checkbox específico a marcar si tenías una.
--------
Con respecto a DMZ, cada uno hace en su casa lo que crea que deba de hacer. Es decir, dios me libre de decirle a nadie lo que tiene o no que hacer, y mucho menos relativo a su red.
Dejando eso bien claro, y sin menospreciar ni mucho menos las ideas, opiniones o conocimiento de muchos, me temo que la inmensa mayoría de la comunidad "gammer" lleva viviendo enormemente de leyendas urbanas, suposiciones infundadas, fanatismos inexplicables... no dudaría jamás de la habilidad de cualquier gammer con el teclado/ratón/pad, pero a nivel técnico me temo que hacen agua... mucha agua. Lo mismo me he encontrado con los años en otros sectores como el de los fotógrafos, que puede ser los p**** amos captando la imagen, la iluminación, la escena, el momento... pero cuando tienen que lidiar con el equipo/software para la edición, te das cuenta que están atados a años y años de desinformación, de malas prácticas, de...
Todo el asunto de puertos, es uno de los clásicos para los gammers, donde existe no solo una leyenda urbana, sino muchas relativa a ellos. Y de echo es muy muy complicado que un usuario cambie de visión sobre ello. Quizás un día haga una publicación extensa sobre muchas de esas "leyendas".
Lo primero que hay que entender es que es un puerto y por qué se necesita a veces esto de "abrir un puerto" o upnp o que es realmente DMZ. Y aquí está el primer problema, la inmensa mayoría no sabe siquiera que son o porqué se necesita... así que cuesta trabajo, y mucho, de creer opiniones de quien no tiene claro siquiera que es.
Para poder realizar cualquier comunicación haciendo uso de los protocolos de Internet más habituales a día de hoy, que es usando IP/TCP, se requiere además de una IP de origen y una IP de destino, un puerto de origen y uno de destino. El puerto es una manera de poder permitir usar de forma simultánea diferentes conexiones para diferentes servicios/aplicaciones. Es una forma de diferenciarlas, configurarlas, gestionarlas. Se puede ver como "puertas de entrada/salida". Cada dispositivo puede gestionar un máximo de 65535 puertos, y pueden ser de entrada o salida, es decir, no son 2x65535.
Así que para que cualquier servicio o comunicación pueda darse, una aplicación tiene que usar un puerto con el que comunicarse, y el destino otro. Esos puertos los escoge cada servicio/aplicación, aunque muchos de esos puertos son habituales y conocidos. Así por ejemplo el puerto que usa un servidor Web es por lo general el 80 o el 443. OJO, no hay que confundir el puerto que usa un servidor Web, con el puerto que usaría cualquier dispositivo que use un navegador Web para conectarse a un servidor Web. Es decir, que para acceder al buscador de Google enviamos nuestros datos al puerto 443 de Google, pero no lo hacemos a través de nuestro puerto 443, de echo el navegador Web solicita al sistema operativo un puerto disponible antes de poder iniciar la comunicación, el sistema operativo le otorga un puerto que tenga libre de forma aleatoria dentro de unos rangos, y es el que usa el navegador como puerto de origen.
Eso son los puertos.
¿Y el Router? Es lo mismo. Lo que pasa es que el Router es un dispositivo intermedio, tu equipo no se conecta realmente a Internet por lo general, sino al Router. Así que cuando tú inicias una comunicación, realmente hay al meno 3 puertos en juego, no dos. Está el de origen de tu equipo, el que usará de origen el Router y el puerto de destino final. Y muchas veces incluso el puerto de origen que usará el Router no tiene por qué ser el mismo puerto de origen que usará tu PC (NAT simétrico)
Es por "culpa" de NAT que algunos servicios requieren esto de "abrir puertos". Esto no tiene absolutamente nada que ver con la latencia ni otras historias raras que puedan pensar los Gammer. NAT permite que el Router pueda dar servicio a todos tus equipos, pero también impide por defecto cualquier comunicación que se inicie desde el exterior. Cuando la conexión la inicia un equipo de la red local, no existe problema, el Router registra internamente la conexión, así que cuando el destino te manda de vuelta los datos el Router puede ver que previamente la conexión se había realizado y te envía los datos. Pero si la conexión se inicia desde el exterior, el Router no tiene forma de saber a quien va dirigido esos datos, a que equipo de la red local.
Aquí es donde se requiere "abrir" un puerto en el Router. Es un mal término, en realidad lo que se hace es redirigir un puerto. Es decir, decirle al Router que si por el motivo que sea le llega tráfico a un puerto concreto, este lo tiene que reenviar a un equipo concreto de la red local. Esto es necesario para algunos servicios concretos. En realidad son muy pocos los servicios que requieren esto, puesto que de por sí es un peligro. Los juegos y sobre todo las consolas llevan años y años explotando esto y disminuyendo enormemente la seguridad de sus productos, queriendo que sus consolas estén expuestas en todo momento a Internet. Es cierto que algunos servicios requieren obviamente de una redirección de puertos porque la comunicación se inicia desde el exterior. Por ejemplo si quieres poder acceder a control remoto de tu equipo estando fuera de casa, eres tú quien desde fuera de tu casa inicias la comunicación con tu equipo... pues necesitas entonces esa redirección. Como ves aquí sigue sin aparecer nada de latencia, la redirección es necesaria porque de lo contrario no podríamos comunicarnos con el dispositivo en cuestión, no porque la comunicación tarde más o menos.
---------------
Dicho todo esto, y siento el tocho.
Los juegos, y más específicamente las consolas hacen uso de un gran número de puertos. La mayoría de todos ellos NO REQUIEREN que estén expuestos a Internet. Y esto no es exclusivo de las consolas. Un PC cualquiera tiene a su disposición un buen número de puertos que están a la escucha de conexiones exteriores, esto es necesario para la red local. Por ejemplo desde compartir un archivo en red local, una impresora, descubrimiento de dispositivos, poder usar un ChromeCast... todo ello requiere de puertos, pero obviaemente son para uso local, no de Internet. Si coges a un equipo y lo expones a Internet de forma completa, en esencia estás permitiendo que desde Internet se pueda tener acceso a todos esos servicios. Lo cual obviamente es un enorme peligro. Esto te estaría respondiendo uno de los muchos peligros de usar DMZ, y es solo uno de ellos, aunque la causa principal de los problemas de seguridad que esto causa.
La consola no requiere tener todos sus puertos en uso en la red hacia Internet. La consola solo requiere tener expuestos hacia internet un número muy muy muy bajo de puertos, solo aquellos puertos entrante (no saliente) que pueda requerir los servicios esenciales de la consola y alguno de algún juego. Y este es otra de las grandes confusiones. Un equipo/consola no requiere redirigir los puertos salientes, esto no tiene sentido, solo requiere en todo caso una redirección de entrada. Por ejemplo, en muchas listas verás que la consola requiere que el Router permita el puerto 443/80 hacia la consola. Eso es falso, esos puertos los usa la consola como puertos de salida, la consola solo requeriría que se realizase redirección de dichos puertos si la consola en sí misma tuviese configurado un servidor Web. Del mismo modo que tus navegadores Web en cualquier móvil o PC no requieren que el Router "abra" sus puertos 80/443.
--------------
Así que resumiendo todo lo anterior.
DMZ es un peligro porque es expone un dispositivo entero a Internet. Eso no solo hace que dicho dispositivo, en este caso la consola, quede a mercé de terceros, sino que además aumenta su latencia, porque se estará comiendo todo el ruído de Internet, que de otro modo lo filtraría el Router. Es más, existen técnicas muy poco ética para fastidiar a cualquier usuario que haga uso de DMZ en su consola para aumentarle de forma importante la latencia. Por ejemplo, podría desde otra línea o incluso red móvil bombardear a la consola con tráfico intenso en diferentes servicios críticos que tendrán expuestos a Internet por culpa de DMZ, provocando una saturación cada vez mayor, lo que aumentaría automáticamente la latencia de dicha consola. Si eso se realiza desde una red de fibra rápida de las que tenemos... pues le haces un destrozo.
Pero también existen más problemas, y ya de cara a toda tu red local. Al usar DMZ limitas enormemente las conexiones disponibles que tiene el Router para tu red local, para el resto de tus dispositivos.
Cuando se usa DMZ de forma correcta todo lo anterior no es un problema. Primero porque los equipos colocados en DMZ son enormes cortafuegos que van a gestionarlo todo, con lo que no es un problema de seguridad, al revés, se usa para mejorar toda la seguridad. Todos los equipos de la red local son los que se colocan detrás de dicho dispositivo en DMZ, y a su vez el dispositivo DMZ puede escoger que servicios exponer a internet y cuales no.
Como ves, el uso que los gammer le da a DMZ no tiene absolutamente nada que ver con el uso real de DMZ
-----------
Espero haber puesto algo de luz en todo ello, aunque entiendo que algunos puntos son bastante más complejo de otros que entender. El caso es que realizar mapeos manuales en el Router es lo siempre recomendado, y créeme que no es una lista grande, no serán más de 5-10 puertos reales necesarios.