Сейчас на форуме: Kybyx (+3 невидимых) |
![]() |
eXeL@B —› Оффтоп —› Возможно тупой вопрос по сетям. |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 27 января 2014 02:57 · Поправил: Nimnul · Личное сообщение · #1 Есть два компа в интернете, на каждом стоит прога скажем чат, у обоих компов злой провайдер который закрыл все входящие порты. Как программы установят коннект зная ip? Я к тому что у меня i2p режется провайдером, торренты тоже режутся. Я вот думаю, излечимо ли это, или выход только один через ВПН. Просто пытаюсь разобраться в сути таких блокировок. По идее если я включаю игру которая делает коннект скажем по UDP, то роутер запоминает IP и порт. И тогда по логике вещей порт становится открытым для IP сервера? Если рассмотреть такой сценарий для наших чатов. Чат1 посылает пакет Чату2 якобы конектится на порт 1030, роутер2 пакет этот режет потому что порт закрыт, роутер1 заносит ИП2 и порт 1030 в таблицу разрешения. В это же самое время Чат2 посылает пакет Чату1 на порт 1030, и роутер1 его пропускает потому что он думает это ответ от сервера на исходящий пакет от Чат1. После этого роутер2 тоже вносит адрес Чата1 и порт 1030 в таблицу разрешения. Скажите прав я или нет? Теперь порты открыты и чаты преспокойненько работают. Просто если все так, то зачем все эти пляски с отрыванием портов через UPnP (и прочие танцы), если по такому сценарию может все работать. Конечно есть проблема с тем что бы указать Чату1 и Чату2 адреса и порты, но это может сделать третья сторона Чат3 например. ПС: Возможно я придумываю велосипед? ----- have a nice day ![]() |
|
Создано: 27 января 2014 10:37 · Личное сообщение · #2 |
|
Создано: 27 января 2014 12:34 · Поправил: Nimnul · Личное сообщение · #3 |
|
Создано: 27 января 2014 12:44 · Личное сообщение · #4 не работает он по клиент серверной архитектуре а что с тсп? у него проблем нет, тебя udp ж интересовало вообще когда два компа за натом, то используются всякие разновидности STUN но эти разновидности STUN нужны только для пробивания, а дальше каждый участник может обмениватся напрямую ![]() |
|
Создано: 27 января 2014 20:01 · Личное сообщение · #5 |
|
Создано: 27 января 2014 20:20 · Личное сообщение · #6 |
|
Создано: 27 января 2014 20:28 · Личное сообщение · #7 |
|
Создано: 27 января 2014 20:32 · Личное сообщение · #8 |
|
Создано: 27 января 2014 20:48 · Поправил: reversecode · Личное сообщение · #9 |
|
Создано: 28 января 2014 00:05 · Поправил: Nimnul · Личное сообщение · #10 |
|
Создано: 28 января 2014 00:14 · Поправил: reversecode · Личное сообщение · #11 |
|
Создано: 28 января 2014 00:19 · Личное сообщение · #12 |
|
Создано: 28 января 2014 00:31 · Личное сообщение · #13 ну тогда rfc ? и никто не мешает разбирать как работает какая то либа или технология, и переписать по своему ![]() |
|
Создано: 28 января 2014 01:16 · Личное сообщение · #14 |
|
Создано: 30 января 2014 19:40 · Личное сообщение · #15 Nimnul, Ваш провайдер использует NAT Если коротко: Все его абоны смотрят в внешку с одного IP и соответственно при входящем подключении он не может понять кому оно адресовано. Проброс портов в роутере работает только у тех провайдеров, которые дают динамический IP, но белый. В определённый момент времени этот IP адрес принадлежит именно вам. Выход из ситуации только заказ дополнительной услуги "Статический IP адрес" ----- AutoIt ![]() |
|
Создано: 30 января 2014 19:59 · Личное сообщение · #16 |
|
Создано: 31 января 2014 00:52 · Личное сообщение · #17 |
|
Создано: 31 января 2014 01:05 · Поправил: reversecode · Личное сообщение · #18 |
|
Создано: 31 января 2014 01:41 · Личное сообщение · #19 |
|
Создано: 31 января 2014 02:04 · Личное сообщение · #20 |
|
Создано: 31 января 2014 02:37 · Личное сообщение · #21 |
|
Создано: 31 января 2014 02:46 · Личное сообщение · #22 |
|
Создано: 31 января 2014 03:30 · Поправил: Nimnul · Личное сообщение · #23 Читал, эта методика не работает с симетричными NAT. Но на самом деле все еще хуже операторы интернета заинтересованны материально что бы юзеры не имели возможности конектится между собой с одной стороны потому что они создают сильную нагрузку (p2p) c другой строны они могут использовать Voip из-за этого операторы теряют на услугах телефонии. Есть еще государство которае не заинтересованно в том, что бы юзеры подключались напрямую между собой, т.к. этот трафик невозможно снифать. Уверен что скоро появится закон, который под предлогом сетевой безопастности обяжет операторов пропускать трафик через NAT\фаервол который разрешает соединения только к публичным серверам, путем запрета входящего трафика если клиент первым не начал соединение. Это только вопрос времени. Довольно оригинальный и простой технически способ, не требующий доп. затрат. ----- have a nice day ![]() |
|
Создано: 01 февраля 2014 15:51 · Личное сообщение · #24 |
|
Создано: 01 февраля 2014 21:03 · Личное сообщение · #25 |
|
Создано: 01 февраля 2014 21:33 · Личное сообщение · #26 |
|
Создано: 02 февраля 2014 01:42 · Личное сообщение · #27 Давайте не мешать в одну кучу политику, коммерческие интересы провайдеров и технические вопросы работы через NAT. По сабжу, есть три нормальных способа работы через NAT: это соединение через внешний сервер, внешний IP адрес (хотя-бы портмаппинг) от провайдера одной из сторон, и IPv6. На это следует ориентироваться, а все методы пробивания NAT - глючная фигня (не фигня только использовать UPnP для портмаппинга сквозь домашний роутер). Если создается децентрализованная p2p сеть, часть узлов может быть ретрансляторами для тех кто за натом, но учтите что сейчас таких узлов критически мало и будет становиться только меньше (IPv4 закончились, не зря скайп перешел на сервера ms вместо супернод). ----- PGP key ![]() |
|
Создано: 02 февраля 2014 15:21 · Поправил: Nimnul · Личное сообщение · #28 ntldr >> Давайте не мешать в одну кучу политику, коммерческие интересы Почему нет? Вот кстати у меня на мегафоне 4Г торренты работают только с 12 ночи до 6 утра, строго от звонка до звонка, в другое время нет ни пиров ни сидов. И делают они это очень просто, они включают симметричный НАТ. И когда они намеренно закрывают торрент уверен что UPnP не поможет. Значит твой ответ такой, или открытие портов или жо. А можно как то узнавать без использования третьей стороны какой у меня порт на НАТе? Может быть это где то отражается в дебрях TCP\IP ? reversecode Еще раз говорю что нет ![]() ----- have a nice day ![]() |
|
Создано: 02 февраля 2014 15:52 · Поправил: reversecode · Личное сообщение · #29 Nimnul пишет: Еще раз говорю что нет еще раз говорю что да, udp punching hole - четко рассписано в вики как это работает, это работает и voip в том же SIP+STUN/TURN суть технологии в том. что ушедший через роутер UDP пакет, оставляет за собой возможность получить и обратный пакет, только там есть маленький таймаут если этот таймаут пройдет, то обратно уже пакета не получить поэтому нужно постоянно(не помню периода) перепосылать наружу udp пакеты, тогда обратно через эту же трубочку их можно и получить для того что бы два учасника за симетричным натом смогли напрямую общаться по udp, им нужен внешний сервер типа STUN/TURN или что то в этом роде, что бы они узнали внешний айпи и порты через который они выходят они кидают по кубику на этот общий сервер, сервер определяет их внешние айпи и порты, и дальше учасники могут(допустим через этот сервер) обменяться этими значениями портов и айпи и уже на прямую без этого сервера обмениваться данными обычно это аудио или видео, где таймаутов впринципе не должно быть, но если хочется передавать медленно поступающие данные, то нужны keepalive в этой udp сесси, иначе роутер удалит в НАТ запись о исходящем пакете и тютю есть еще такое как UPnP, думаю тогде запросто погуглите как это работает, кратко на роутере ставится демон UPnP который управляет фаерволом и натом, для прокидывания снаружи портов итд а клиент должен что то типа формата xml, общаращатся к этому роутеру, обьясняя что он ждет данных снаружи по таким то и таким портам все это хорошо, но UPnP не всегда есть, и не пробивается через двойной нат Nimnul пишет: имметричный НАТ для каждой записи IPsource\PortIn\PortOut + IPdestination\PortIn\PortOut создает уникальную запись, поэтому финты со сменой IP с одним и тем же портом не прокатят здесь не всегда строится такая таблица для udp для tcp она верная ![]() |
|
Создано: 02 февраля 2014 16:07 · Личное сообщение · #30 Nimnul пишет: Значит твой ответ такой, или открытие портов или жо. А можно как то узнавать без использования третьей стороны какой у меня порт на НАТе? Может быть это где то отражается в дебрях TCP\IP ? сидя в одиночестве нет)) нужен кто то еще, с ним связываешься по tcp, и посылаешь ему свой айпи, он получает и смотрит с какого айпи пришел пакет и какой айпи в пакете, если разные - значит нат если одинаковые значит нет ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Оффтоп —› Возможно тупой вопрос по сетям. |