Как реализовать p2p, когда оба юзера за NAT? Есть два пользователя и они оба за NAT.
Если бы кто-то один из них имел внешний IP, то можно было бы поднять на нем сервер, а на втором пользователе клиент.
Как быть в случае, когда оба пользователя за NAT?
Понятно, что нужно поставить в сети какой-либо сервер, но гнать через него весь трафик - не вариант. А альтернативного способа я пока не вижу. Понятно, что в рамках одного соединения при ответе этот сервер их отправит на NAT, а тот, зная порт, завернет его на реальный IP клиента. Но как инициировать связь между клиентами?
Как быть?

21 Авг 2019 в 06:39
215 +1
0
Ответы
1

Для реализации P2P соединения между пользователями, находящимися за NAT, можно использовать технику под названием "Hole punching". Этот метод позволяет установить прямое соединение между двумя узлами, находящимися за NAT, путем передачи информации о своих внутренних и внешних IP адресах, а также портах.

Сначала необходимо установить соединение с посредником, который будет передавать информацию о подключении между пользователями. Затем каждый из пользователей отправляет информацию о своем внешнем IP адресе и порте посреднику. После этого посредник передает эту информацию между пользователями, и они могут попытаться установить прямое соединение друг с другом, обмениваясь данными напрямую, минуя посредника.

При использовании "Hole punching" необходимо учитывать особенности работы различных типов NAT (NAT типа Symmetric, Full Cone, Restricted Cone, Port Restricted Cone), так как некоторые из них могут затруднить или полностью блокировать установление прямого соединения между пользователями.

Этот метод не является гарантированным способом установления P2P соединения, но в большинстве случаев он может успешно использоваться для обхода NAT и установления прямого соединения между пользователями.

20 Апр в 13:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир