Обход NAT сотовой сети

Я попытался реализовать алгоритм дырокола UDP для моего приложения. Когда оба узла связались с сервером, раскрыв свой общедоступный IP-адрес, сотовый NAT 3G назначил постоянный внешний порт для одного и того же внутреннего порта UDP, однако сотовый NAT 3G изменил сопоставление внутреннего-> внешнего порта в зависимости от пункта назначения.

Следовательно, например, если C является статическим IP-сервером, A->C был сопоставлен с портом 1234, тогда как A->B был сопоставлен с портом 5678. Таким образом, пробивание дырок UDP не удалось.

Поскольку эти сотовые NAT используют CGN, поддержка UPnP/NAT-PMP отсутствует. Я читал о PCP для CGN с похожей функциональностью, однако не нашел никакой информации о протоколах для PCP.

Кто-нибудь знает, есть ли способ преодолеть эту проблему назначения портов переменной-назначения?

Либо через переадресацию портов (например, PCP), либо через обход (PREFFERED).

Одна последняя вещь. Существуют доказательства концепции, такие как skype, viber и САМЫЕ ВАЖНО торрент-загрузчики, подобные тем, которые зависят от vuze-core(frostwire), которые работают на Android через 3G и другие сотовые сети. Таким образом, они, очевидно, должны были найти решение для этого...

Заранее спасибо!

0 ответов

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