In order for NAT to function properly the host computer has to initiate contact with anyone else who wants to connect to it. That way, the router sees the outgoing traffic and knows where to send follow-up incoming traffic.
Older software that used P2P connections would have the host computer just sit there listening for other computers to try to connect to it. Because the host wasn’t initiating contact, the router had no idea where to send incoming traffic unless you manually configured the router to forward all traffic on a specific port to a specific computer.
Modern P2P software has a server that the host initiates connection to. That server then forwards the host information on any other computers that want to connect to it, at which point the host initiates contact with those other computers.
In other words, you still need a server to handle matchmaking between the host and client computers, even if the host and clients are directly communicating after that point.
Latest Answers