Broker Direct Connection

Можно ли использовать сервер со статическим IP-адресом для установления прямого соединения между 2 клиентами, каждый из которых находится за NAT?

I ' Мы использовали autossh и переадресацию портов для установки соединения через сервер, но я думаю , что любое взаимодействие между клиентами потребляет ресурсы сервера (вычислительные накладные расходы на пересылку пакетов и пропускную способность). Я не могу проверить себя, потому что в данный момент у меня нет доступа к одному из клиентов.

То, что я представляю себе на диаграмме (У меня есть A, B и сервер, поэтому любой клиент, подключившийся первым, может просто подождите, пока подключится другой):

client A -----> server <----- client B

Я думаю, что метод обратного туннелирования делает следующее:

A sends packet -----> server,
server receives packet,
server sends packet -----> B,
B receives packet

и наоборот. Я бы хотел:

A connects -----> server (connection stays open until B connects)
B connects -----> server (server tells B about A)
A and B can communicate bidirectionally while the connection stays open

(если есть разъединения, A и B могут повторить шаг подключения)

Я думаю, что это должно быть возможно (разве не так работают протоколы P2P?), Но я не знаю как это настроить.

2
задан 2 November 2017 в 20:59
1 ответ

Utilicei o reenvío automático e de porto para configurar unha conexión a través do servidor, pero creo que iso significa que calquera interacción entre os clientes consume recursos do servidor (sobrecarga computacional dos paquetes de reenvío e ancho de banda).

Tes razón

Hai dúas ferramentas de Samy Kamkar que permiten que dous hosts detrás de NAT se comuniquen entre eles, pwnat e chownat . No sitio hai descricións do truco / técnica se desexa implementar a súa solución usando este método ou se non pode usar as ferramentas que Samy publicou.

En xeral, chownat é para A <-> Comunicación B cando ambos coinciden en que lles gustaría comunicarse; e pwnat é para comunicación A-> B que B non espera. Podería usar o primeiro se compartisen estado sobre o servidor para acordar cando abrir un túnel chownat ; ou usa pwnat ou non precisa do servidor.

1
ответ дан 3 December 2019 в 12:34

Теги

Похожие вопросы