Concept

ComputerIPPortProtocol
Local Private Address192.168.1.21234TCP
Remote Public Address203.0.113.2480TCP
Router Public Address198.51.100.995678TCP
Except the remote public address port 80, local and router ports are randomly chosen.

NAT Traversal

First, the protocol should be based on UDP. You can do NAT traversal with TCP, but it adds another layer of complexity to an already quite complex problem, and may even require kernel customizations depending on how deep you want to go. We’re going to focus on UDP for the rest of this article.

NAPT