V
Size: a a a
V
G
dv
G
V
G
G
G
V
t
t
.
[xmpp]
ну STUN/TURN посмотри как работает.
[xmpp]
плюс через третий узел можно сообщить свой внешний адрес.
[xmpp]
либо задать где нибуль в настройках приложения статично.
[xmpp]
UPnP просто настраивает проброс порта на роутере.
[xmpp]
плюс, смотря в какую сторону пробивать nat. самое сложное сделать связь между двумя абонами динамического nat.
[xmpp]
STUN как раз явлется третьей точкой, на которлй можно "договорится" о портах, адресах и синхронном времени начала посылки друг другу пакетов.
[xmpp]
если синхронно начать пакеты слать то nat будет пробит с обоих сторон.
[xmpp]
TURN является по сути udp-проксей.
[xmpp]
самый рабочий вариант, на самом деле, но вносит задержку дополнительную