Обычно (игровые) клиенты устанавливают p2p-соединение, чтобы уменьшить задержку и нагрузку на сервер.
Но как они это делают?
Вот пример: я открываю свой клиент League of Legends.Нажмите на «Play».Затем мой клиент отправляет запрос на сервер, чтобы найти игру.Затем сервер отвечает списком игроков (ip-адреса?).Мой клиент теперь подключается к каждому игроку, чтобы уменьшить пинг.
И это то, что меня смущает.Я и многие другие игроки сижу за NAT.Таким образом, машины из Интернета могут отправлять данные на мой компьютер, только если я перенаправлю порт на моем маршрутизаторе или когда я отправляю данные на доступный сервер (откройте веб-сайт, отправьте запрос на игровой сервер).
У меня и моего оппонента есть IP-адреса друг друга, но мы не можем соединиться друг с другом, потому что наши маршрутизаторы блокируют соединение.