nat traversal - это общий термин, используемый для соединения двух узлов напрямую с помощью сервера рандеву. Узлом может быть любая вещь, компьютер, смартфон или любое другое устройство. Что касается 3G, то это один из способов передачи данных.Больше .
Заколка для волос появляется на изображении, если ваши одноранговые устройства под одним и тем же NAT используют общедоступный ip для соединения друг с другом, потому что некоторые роутеры не поддерживают расколку, как роутер cisco и т. Д. Это может быть преодолено, если вы используете частный IP вместо публичногоIP.Я не могу ничего сказать о заколке для волос в вашем случае, так как не располагаю техническими подробностями о вашей сети.
Обновите ваш вопрос техническими подробностями, такими как тип 3g, который вы используете.Я могу сказать о закреплении волос на 3g.
Я реализовал перфорацию udp / tcp с использованием 2g. Я использовал три компьютера (один сервер и два узла) для этого.
разработать серверную программу рандеву, которая будет работать на одном компьютере. Программа должна быть способна обмениваться публичными IP-адресами двух устройств iphone.
разработать клиентскую программу, установленную на 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