Aplicaciones P2P BitTorrent
6. P2P y NAT
El comportamiento de P2P y PAT se entiende solo si recordamos que PAT es un sistema con estado (stateful), que permite tráfico asociado a conexiones previamente iniciadas.
Sabemos que NAT con sobrecarga o PAT se produce desde adentro de la red LAN hacia afuera, con lo cual sería imposible que desde afuera podamos acceder a una Cámara, NVR , BitTorrent, VoIP, juegos online, de la Red con IPv4 Privadas, salvo que se haga un Port Forwarding , algo que vimos en IPv4.
Pero en muchos casos, no se configura nada y se pueden acceder a los dispositivos interno de la red, es por que se usa P2P. Vamos a explicar como sería el procedimiento.
Sabemos que PAT rompe el modelo extremo a extremo, en el Router, justo cuando entra a Internet, es decir vimos que se producen dos Sockets, uno interno entre el Router y el Host y otro entre el Router ( con la interfase WAN) y el otro extremo en Internet.
Para entender es importante notar que PAT bloquea las conexiones entrantes NO solicitadas, pero permite tráfico de respuesta a conexiones salientes.
Supongamos que queremos acceder a un NVR Hickvision de una Red privada.

Desde dentro de la Red , el NVR genera una conexión UDP saliente, al servidor Hickvision que está en Internet, algo que se hace normalmente hacia un servidor específico. En este punto el Router crea un PAT asignando IPs, Puertos, Protocolo en la tabla. Luego la Notebook envía a travez de esos puertos el pedido para recibir la imagen, previo validación ( usuario y contraseña) , desde el Router NO se da cuenta que ahora se está comunicando con la Notebook.
Resultado comunicación directa usando P2P.
Existe otra alternativa en la que el servidor de Hickvision queda en el medio, y todo pasa por el, ya no es un P2P puro pero funciona.
NAT no impide P2P completamente, solo rompe el modelo directo.
P2P funciona porque:
-
reutiliza conexiones salientes
-
o introduce mecanismos auxiliares
El problema no es que NAT bloquee la comunicación, sino que obliga a que la comunicación sea iniciada o mediada; P2P moderno está diseñado explícitamente para adaptarse a esa restricción