Лучшая одноранговая техника для мобильной сети

Я занимаюсь дизайном одноранговой связи между мобильным устройством и телефоном пользователя. Мобильное устройство предназначено для автомобилей, поэтому возможно, что оно может быть подключено к множеству различных интернет-провайдеров. Можно также ожидать, что клиенты будут часто отключаться. Мне нужно найти лучшее решение в методах обхода NAT, которое применимо в условиях мобильной сети, которые мало чем отличаются от обычных сетей, таких как WiFi. Я ищу часто используемые методы и нашел много разных практик, таких как TCP или UDP Hole Punching, NUTSS, NATBLASTER, NatTrav или официальные протоколы, такие как STUN или ICE.

Кто-нибудь может посоветовать мне опробованную и проверенную технику в подобных условиях?

большое спасибо

2 ответа

Для достижения одноранговой (P2P) или релейной связи вам необходимо реализовать протокол, называемый ICE. Этот протокол дает вам возможность 100% обхода NAT. Это лучшее решение на данный момент. Вам также необходимо иметь сервер STUN/TURN.

Даже с лучшим решением ICE вы не получите 100% P2P-соединения между пирами. Некоторое соединение будет установлено через сервер ретрансляции под названием TURN. Это зависит от типа NAT, за которым стоят одноранговые узлы.

TCP или UDP Hole Punching - это особый метод, позволяющий соединению, которое обычно передавалось бы как P2P. Существуют и другие методы, подобные этому, но они приходят после того, как вы внедрили ICE и используете сервер STUN/TURN.

Существует множество серверов с открытым исходным кодом STUN/TURN, и некоторые компании предоставляют решения для ICE. Некоторые компании предоставляют полное решение прохождения NAT, обеспечивающее реализацию ICE и поддержку сервера STUN/TURN.

Помимо TURN, вы также можете попробовать UDP-перфорирование, хотя оно может быть "слишком ненадежным, чтобы стоить хлопот"

https://drive.google.com/file/d/0B1IimJ20gG0SY2NvaE4wRVVMbG8/view?usp=sharing

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