Как смоделировать прямое сетевое соединение между двумя компьютерами через Интернет?

Я читал о теме в вики-статьях Ethernet, модели OSI, TCP, UDP, Routing (нет ссылок из-за ограничений новых пользователей) и других, но не смог ответить на мою конкретную проблему.

Ситуация: 4 компьютера (AD)

Они связаны друг с другом следующим образом, используя Ethernet: A <-LAN-> B <-Internet-> C <-LAN-> D (только ссылка вместо изображения из-за ограничений нового пользователя, извините еще раз)

Что я пытаюсь сделать: Компьютер A должен быть одурачен, чтобы думать, что он напрямую связан с компьютером D(и наоборот). Программное обеспечение для этого должно быть запущено только на компьютерах B и C.

В чем моя проблема: я не могу точно сказать, что нужно сделать подробно, чтобы достичь своей цели. Можно ли вообще позволить A и D думать, что они связаны друг с другом, используя программное обеспечение, работающее в современной операционной системе на компьютерах B и C?

Что я действительно понимаю, так это то, что если бы я действительно смоделировал эту связь, мне пришлось бы передавать информацию на физическом уровне. Сколько можно сделать на прикладном уровне операционной системы на B/C, чтобы добиться того же? Это вообще возможно?

Что я мог бы сделать уже с моей точки зрения: наличие клиентского программного обеспечения на A, которое отправляет дейтаграммы или поток байтов в B (зная, что B затем отправит его через Интернет на C, который затем, в свою очередь, отправит данные до D). То же самое касается направления D к A.

Моя проблема с этим решением: это решение имеет недостатки в том смысле, что мне понадобятся 2 программных решения (одно для A/D, одно для B/C), плюс, оно ограничивает соединение с протоколами TCP и UDP, также оно делает на самом деле не имитировать соединение - это всего лишь обходной путь для передачи информации от A к D, а не симуляция однорангового соединения.

Что приводит меня к вопросу из названия:

Как смоделировать прямое сетевое соединение между двумя компьютерами через Интернет?

Я также открыт для любых предложений, которые я мог полностью пропустить, или частичных решений и предложений.

1 ответ

Мне кажется, что вы могли бы использовать какой-то тип программного VPN. Я использовал LogMeIn Hamachi (это бесплатно), чтобы сделать это в прошлом.

Для этого ключевым моментом будет установка "прямого" vpn между B и C, в противном случае Hamachi будет работать довольно медленно, потому что он проходит через другие серверы для маршрутизации вашего сетевого трафика.

https://secure.logmein.com/products/hamachi/download.aspx

Другие вопросы по тегам