Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Не могу пробить NAT, UDP создает канал (6 стр)

Не могу пробить NAT, UDP создает канал (6 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
DampireПостоялецwww14 дек. 201713:39#75
У меня не работало с ната на тот же нат. Трафло маршрутизировалось внутри и на внешний интерфейс с натом даже не попадало, что приводило к отправке пакетов вникуда.
RammПостоялецwww14 дек. 201715:04#76
Dampire
> У меня не работало с ната на тот же нат. Трафло маршрутизировалось внутри и на
> внешний интерфейс с натом даже не попадало, что приводило к отправке пакетов
> вникуда.
Вооооот, т.е. если я правильно понял, то - никак. Получается, столько нервов, сил, пота, слез и соплей в теме (моих, конечно=)), я бьюсь, а у меня 2 ПК в локалке за роутером и ОДНИМ И ТЕМ ЖЕ НАТОМ ПРОВАЙДЕРА, и нифига не выходит, а оказывается - это норма.
Получается, тут только через посредника.
Zab
> Если через общий механизм, то так. Должно работать.
Так должно или не должно?=)
2 ответа диаметрально противоположных.

Правка: 14 дек. 2017 15:04

DampireПостоялецwww14 дек. 201715:28#77
Ramm
> Вооооот, т.е. если я правильно понял, то - никак. Получается, столько нервов,
> сил, пота, слез и соплей в теме (моих, конечно=)), я бьюсь, а у меня 2 ПК в
> локалке за роутером и ОДНИМ И ТЕМ ЖЕ НАТОМ ПРОВАЙДЕРА, и нифига не выходит, а
> оказывается - это норма.
> Получается, тут только через посредника.
Могу я поинтересоваться с хуя ли? Ты не можешь локальный адрес узнать раз ты за одним натом?

И еще мне жутко интересно где ты видел ДИАМЕТРАЛЬНО противоположные мнения. Я сказал, что у меня не работало. Но это вполне может зависеть от прошивки оборудования.

Правка: 14 дек. 2017 15:34

RammПостоялецwww14 дек. 201717:19#78
Локальный адрес чего? Рассмотрим мою ситуацию: 2 ПК, один роутер + нат провайдера. Достать адрес роутера нереально, со стороны сервера - точно. И даже если достану со стороны клиентов, хотя это сделать нереально, куча типов маршрутизаторов ии роутеров, во  многих это нельзя сделать в принципе, а в остальных - универсального подхода нет, одни хаки, да и хрен это сделаешь на шарпе, если слать пакеты на этот адрес - нихрена не выйдет, я не знаю какие порты он забиндил под этих клиентов. Я не представляю как узнать адрес роутера со стороны клиента, но даже если и узнать, толку -
0, т.к. обмен пакетами через этот адрес... как проводить? На какие порты слать пакеты? А если предположить, что клиенты за одним натом и разными роутерами, то я хз какие адреса у этих роутеров и какие порты они выделил  для обмена.
Идеальной ситуации типа, оу, ребят, у вас один ip,  значит вы за одним натом, пришлите ваши локальные  адреса, у тя 192.168.1.1, а у тя 192.168.52.52- можете обмениваться напрямую... Хрен там, узнайте адреса роутеров, и порты, которые они используют, для обмена... Я вот не знаю как узнать адрес роутера, если не залезть на него, и не посмотреть.
ZabПостоялецwww14 дек. 201718:20#79
Да не роутера адрес тебе предлагают узнать, а одному клиенту локальный адрес другого. И благополучно стучаться друг к другу внутри локальной сети, вообще без натов.
Местный связной сервер отдельно в локальной сети устанавливать - жирно будет. Обычно броадкастами друг друга ищут или напрямую вводят айпишник, если броадкасты почему-то не ходят.
RammПостоялецwww14 дек. 201718:54#80
В случае с двумя моими ПК за одним роутером - да, но про других-то я не знаю. Ну хотят 2 человека за одним натом поиграть, я это пойму, если у них ip одинаковые, я хз, они в одном городе или одной комнате, да мне и пофиг, но их локальные адреса мне ничего не дадут. Оба за роутерами, у обоих 192.168.0.1...
Я и не узнаю, в одной ли они комнате, пока адрес(а) роутеров не увижу.

Броадкасты - широковещательное? Так там их и порезать могут, и по внешним адресам они ходить не будут, нужен, я так понимаю, сервер с нормальным адресом, чтоб достучаться...

Правка: 14 дек. 2017 19:01

ZabПостоялецwww14 дек. 201719:12#81
ip одинаковые у них внешние, но ничто не мешает использовать ip внутренние, локальные. Они то разные.
Часть игроков можно подцепить из локальной сети, часть - сквозь наты через сервер, и играть всем вместе.

В случае full cone nat'ов и проблем нет, клиенты подцепятся как угодно, хочешь через сервер, хочешь напрямую. Про более жесткие формы натов пусть тебе люди поопытнее моего объяснят, я могу только теоретизировать и промахнуться.

Сам по себе одинаковый адрес никакого криминала не содержит. Порты все равно разные у разных клиентов.

RammПостоялецwww14 дек. 201719:31#82
Zab
> Сам по себе одинаковый адрес никакого криминала не содержит. Порты все равно
> разные у разных клиентов.
Так вот я и говорю - не могу обмениваться через этот адрес...
ZabПостоялецwww14 дек. 201719:36#83
Ramm
> Так вот я и говорю - не могу обмениваться через этот адрес...
Можешь.

Ты сервер свой связной за натом держишь, что ли? Его нельзя, все остальное - можно.

ZabПостоялецwww14 дек. 201719:44#84
Смотри... Для full cone, когда клиент постучался к связному серверу, он уже свой нат пробил, с ним уже можно работать, осталось только узнать его внешние адрес и порт, которые можно спросить у сервера.
Если много клиентов постучались из-за одного ната, у них будет один адрес и у каждого свой порт. В чем проблема им посылать сообщения друг другу через внешнюю сеть? У них у всех теперь считай что внешний ip, хотя бы для одного порта.
RammПостоялецwww14 дек. 201719:45#85
Я коряво объясняю, наверное, но я со своих пк стучусь на сервер (он не за натом, у него ip белый), узнаю адреса своих пк, они отличаются только портами. И я со своих пк не могу пробиться напрямую, шлю пакеты с первого клиента на адрес-порт второго,  и нихрена не выходит. Адрес внешний, получен сервером.
RammПостоялецwww14 дек. 201719:50#86
Zab
> В чем проблема им посылать сообщения друг другу через внешнюю сеть?
Не проходят... Так вообще проблем бы не было, и к хренам локальные порты...
Я так понял, что Dampire и говорил, что это не всегда работает...
ZabПостоялецwww14 дек. 201719:52#87
Если nat не full cone, может быть и не выйдет.
Насколько я понял, не проходит попытка пробить нат от одного клиента к другому, если они оба за одним натом. Зависит от хитрости прошивки этого ната, сообразит ли он, что можно сократить маршрут и во внешнюю сеть не выходить.
RammПостоялецwww14 дек. 201720:08#88
Ок, значит, пробиваться может, но не всегда. Если клиенты за натом и роутерами, локальный адрес роутера не узнать, локальный адрес пк ничего не даст... Так?
ZabПостоялецwww14 дек. 201720:24#89
Ramm
> Если клиенты за натом и роутерами, локальный адрес роутера не узнать, локальный адрес пк ничего не даст... Так?
Каскад натов?
Не то, чтобы совсем не узнать, но вот так напрямую, через обратный адрес сообщения на сервере, не узнаешь. И локальный адрес ничего не даст.
Возможно массовые рассылки там все таки внутри ходят.
Или через трассировку доставки можно попытаться, но тут я не советчик, как добраться не знаю. Чисто физически информация есть.
Страницы: 1 2 3 4 5 6 7 Следующая »

/ Форум / Программирование игр / Сеть

2001—2018 © GameDev.ru — Разработка игр