Соедините двух клиентов без переадресации портов

Интересно, как подключить двух клиентов через Интернет, не открывая порты на стороне сервера. Если это невозможно, то как, например. Skype устанавливает связь между говорящими людьми? (речь идет непосредственно к клиентам)

Есть ли способ использовать «главный сервер», к которому подключаются оба клиента, а затем получают прямое соединение?

Спасибо за каждый ответ.


person pr4xx    schedule 29.12.2013    source источник


Ответы (1)


Skype использует концепцию суперузлов, которые передают сообщения от имени двух клиентов. Каталог пользователей Skype децентрализован и распределен между суперузлами в сети.

Суперузлы пытаются сделать так, чтобы обе стороны напрямую согласовывали соединение, но если это невозможно из-за брандмауэров, NAT и т. д., они ретранслируют трафик от имени двух или более клиентов.

person elbuild    schedule 29.12.2013