Пересылать UDP-пакеты во внешнюю сеть - PullRequest
0 голосов
/ 18 июня 2020

Есть поток данных UDP, который я могу распознать на своем компьютере, поступающий от wirehark. Я хочу переслать эти данные в другую сеть (например, из Нью-Йорка в Лос-Анджелес). Какой самый быстрый способ (с точки зрения задержки) сделать это?

После прочтения информации о перенаправлении портов и UPnP у меня еще ничего не работало. Мне удалось получить программу golang, которая может передавать данные по локальной сети, но она должна быть внешней.

Я думаю, что лучший способ - получить мой IP-адрес через https://www.whatismyip.com/, а затем позволить клиенту подключиться к нему. Оттуда переведите эти UDP-пакеты. Есть ли определенный c язык / термин, который я должен использовать здесь, чтобы реализовать это?

Я хотел бы иметь возможность сделать его работоспособным в приложении, но даже командная строка будет работать. Единственное ограничение состоит в том, что он должен быть через Windows, поэтому я не могу использовать что-то вроде iptables.


Эти пакеты приходят со скоростью 60 пакетов в секунду. Сможет ли netcat пересылать все эти данные?

Изменить : Относится к Отправлять UDP-пакеты на узел в другой сети с 5 лет go, но вопрос не получил решения

1 Ответ

0 голосов
/ 19 июня 2020

Ваш вопрос непонятен. Что значит «пересылать эти данные в другую сеть»? Независимо от того, находятся ли исходный узел и целевой узел за маршрутизатором или имеют IP-адрес publi c, будет зависеть, как его реализовать.

Давайте подумаем о том обстоятельстве, что оба узла находятся за маршрутизатором, что означает NAT работает и транслирует свои IP. В этом примере вам нужно сделать следующее.

  1. IP-адрес publi c узла назначения должен быть известен, если вы хотите отправить ему сообщение

  2. Отображение портов в узле назначения, чтобы сообщение могло быть получено им, именно там работают Upnp и NAT-PMP.

  3. Если вы этого хотите Проще говоря, вы можете использовать ICE, но для этого потребуется центральный сервер в качестве реле.

...