TCP дырокол на iPhone - PullRequest
       59

TCP дырокол на iPhone

6 голосов
/ 21 июня 2011

Я немного прочитал, и хотя я новичок в сети iPhone, мне было интересно, возможен ли пробой TCP для соединения двух iPhone через NAT. Я также читал некоторые полезные вещи об uPnP и заколках, но я совсем не знаком с ними, так что если у кого-то есть идеи относительно того, возможно ли это.

Моя цель состоит в том, чтобы иметь возможность подключать несколько iPhone на большом расстоянии (так что может быть лучше переключиться на какой-либо тип GPSR), но сейчас я работаю только с двумя iPhone, и 3G NAT Traversal кажется самым простым и самый надежный в теории.

Ответы [ 2 ]

10 голосов
/ 22 июня 2011

nat traversal - это общий термин, используемый для соединения двух узлов напрямую с помощью сервера рандеву. Узлом может быть любая вещь, компьютер, смартфон или любое другое устройство. Что касается 3G, то это один из способов передачи данных.Больше .

Заколка для волос появляется на изображении, если ваши одноранговые устройства под одним и тем же NAT используют общедоступный ip для соединения друг с другом, потому что некоторые роутеры не поддерживают расколку, как роутер cisco и т. Д. Это может быть преодолено, если вы используете частный IP вместо публичногоIP.Я не могу ничего сказать о заколке для волос в вашем случае, так как не располагаю техническими подробностями о вашей сети.

Обновите ваш вопрос техническими подробностями, такими как тип 3g, который вы используете.Я могу сказать о закреплении волос на 3g.

Я реализовал перфорацию udp / tcp с использованием 2g. Я использовал три компьютера (один сервер и два узла) для этого.

  1. разработать серверную программу рандеву, которая будет работать на одном компьютере. Программа должна быть способна обмениваться публичными IP-адресами двух устройств iphone.

  2. разработать клиентскую программу, установленную на iphone. Подключите iphone к серверу, это откроет публичный ip iphone для сервера. Повторите тот же процесс для второго iphone.Теперь сервер будет обмениваться публичными ip / port на оба iphone.теперь каждый из них одновременно начинает посылать пакеты друг другу, одновременно это пробивает дыру в NAT.

подробности о пробивании дырок можно найти на этом http://www.brynosaurus.com/pub/net/p2pnat/

Лучше попробовать с дырочным перфорированием UDP, который легко разработать. Перфорация с помощью TCP немного сложна. Как только вы реализуете перфорацию по UDP, легко реализовать перфорацию по TCP.

Узнайте о STUN, ICE, типе NAT,Nat Maping

http://tools.ietf.org/html/rfc5389
http://en.wikipedia.org/wiki/Network_address_translation

0 голосов
/ 14 августа 2015

Сотовые сети используют Large Scale NAT.Есть только три способа обойти это.

  1. Не используйте сотовые сети и не пользуйтесь домашним / Wi-Fi, подключенным к сотовой сети.

  2. Получите TURN-сервер.

  3. Использовать перфорацию с несколькими UDP-сигналами (расширенная техника).Для пробивки отверстий по нескольким UDP попробуйте: https://drive.google.com/file/d/0B1IimJ20gG0SY2NvaE4wRVVMbG8/view?usp=sharing

...