Сейчас на форуме: Kybyx (+3 невидимых)

 eXeL@B —› Оффтоп —› Возможно тупой вопрос по сетям.
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 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





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 27 января 2014 10:37
· Личное сообщение · #2

гугл udp punching hole
а вообще если скайп видео и звук ходит, значит не все заблочили




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 27 января 2014 12:34 · Поправил: Nimnul
· Личное сообщение · #3

Так скайп работает по клиент-серверной архитектуре. Да кстати я слышал хотят порезать и его. А с TCP что?

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 27 января 2014 12:44
· Личное сообщение · #4

не работает он по клиент серверной архитектуре
а что с тсп? у него проблем нет, тебя udp ж интересовало
вообще когда два компа за натом, то используются всякие разновидности STUN
но эти разновидности STUN нужны только для пробивания, а дальше каждый участник может обмениватся напрямую

| Сообщение посчитали полезным: Nimnul


Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 27 января 2014 20:01
· Личное сообщение · #5

Спасибо за инфу, если кто то еще что то добавит буду рад.

-----
have a nice day




Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 27 января 2014 20:20
· Личное сообщение · #6

бекконнект можно не только в малварь пихать...




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 27 января 2014 20:28
· Личное сообщение · #7

да он вроде не малварщик



Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 27 января 2014 20:32
· Личное сообщение · #8

reversecode
я к тому, что две машины с перекрытым доступом извне можно соединять через промежуточный сервер




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 27 января 2014 20:48 · Поправил: reversecode
· Личное сообщение · #9

ну так скорее всего p2p что то ищет))




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 28 января 2014 00:05 · Поправил: Nimnul
· Личное сообщение · #10

reversecode Да я хочу поучаствовать в развитии i2p. Советы малварщиков мне бы сейчас пригодились, кто если не они знают всю подноготную обхода блокировок трафика и его маскировки )). Кстати ты сказал что с ТСП проблем нет, это почему?

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 28 января 2014 00:14 · Поправил: reversecode
· Личное сообщение · #11

малварщики знают только как вирусню писать, а не обходить трафик))
выбери тогда в гугле любую p2p либу и не заморачивайся

http://ru.wikipedia.org/wiki/N2n




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 28 января 2014 00:19
· Личное сообщение · #12

reversecode

Смотря какие. Использовать чужой код это не мой стиль .

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 28 января 2014 00:31
· Личное сообщение · #13

ну тогда rfc ?
TCP Hole Punching
и никто не мешает разбирать как работает какая то либа или технология,
и переписать по своему




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 28 января 2014 01:16
· Личное сообщение · #14

reversecode Ясное дело не мешает, а это действительно отцовский документ, с таких вещей и нужно начинать.

-----
have a nice day





Ранг: 233.1 (наставник), 30thx
Активность: 0.210
Статус: Участник

Создано: 30 января 2014 19:40
· Личное сообщение · #15

Nimnul, Ваш провайдер использует NAT
Если коротко: Все его абоны смотрят в внешку с одного IP и соответственно при входящем подключении он не может понять кому оно адресовано.
Проброс портов в роутере работает только у тех провайдеров, которые дают динамический IP, но белый. В определённый момент времени этот IP адрес принадлежит именно вам.
Выход из ситуации только заказ дополнительной услуги "Статический IP адрес"

-----
AutoIt





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 30 января 2014 19:59
· Личное сообщение · #16

это уже обсудили)
и без статик айпи пробивается снаружи внутрь
пример скайп звонки аудио видео
пров ничего не пробрасывает, но все работает




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 31 января 2014 00:52
· Личное сообщение · #17

reversecode

А вот такой интересный вопрос, прошел мой пакет NAT прова. Как узнать какой порт мне выставили как исходящий, на котором NAT будет ожидать ответа, что бы адресовать его мне.

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 января 2014 01:05 · Поправил: reversecode
· Личное сообщение · #18

вот STUN, TURN и прочие такого рода технологий и определяют это
это внешний сервер, который ловит порты и смотрит по ним, и выдает результат, какого типа у тебя НАТ симетрик/ассиметрик итд, и какие порты внешние




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 31 января 2014 01:41
· Личное сообщение · #19

Дык это требует наличие внешнего сервера, а по условиям задачи есть только два клиента каждый из которых за своим NAT, и возможно даже не за одним.

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 января 2014 02:04
· Личное сообщение · #20

за двумя натами два компа не пробиваются друг к другу,
нужна внешняя точка, и это не внешний сервер, через него не идет траффик,
это сервер для помощи таким точкам
есть куча таких бесплатных STUN серверов, пользуйтесь не хочу

ну или на сервере через который выходят в мир, нужен проброс портов внутрь




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 31 января 2014 02:37
· Личное сообщение · #21

А где гарантия что при подключению к STUN серверу будет выдан тотже самый исходящий порт что и при подключении между собой?

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 января 2014 02:46
· Личное сообщение · #22

ну опять начинается?
я же в начале ответил
гугл udp punching hole
ты не читал?




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 31 января 2014 03:30 · Поправил: Nimnul
· Личное сообщение · #23

Читал, эта методика не работает с симетричными NAT. Но на самом деле все еще хуже операторы интернета заинтересованны материально что бы юзеры не имели возможности конектится между собой с одной стороны потому что они создают сильную нагрузку (p2p) c другой строны они могут использовать Voip из-за этого операторы теряют на услугах телефонии. Есть еще государство которае не заинтересованно в том, что бы юзеры подключались напрямую между собой, т.к. этот трафик невозможно снифать. Уверен что скоро появится закон, который под предлогом сетевой безопастности обяжет операторов пропускать трафик через NAT\фаервол который разрешает соединения только к публичным серверам, путем запрета входящего трафика если клиент первым не начал соединение. Это только вопрос времени. Довольно оригинальный и простой технически способ, не требующий доп. затрат.

-----
have a nice day




Ранг: 158.6 (ветеран), 123thx
Активность: 0.140.5
Статус: Участник

Создано: 01 февраля 2014 15:51
· Личное сообщение · #24

Nimnul пишет:
что бы юзеры подключались напрямую между собой, т.к. этот трафик невозможно снифать.

ну, на самом деле они не напрямую подключаются. Сниферы спокойно вешаются на аплинк провайдера.




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 01 февраля 2014 21:03
· Личное сообщение · #25

rmn

Более того они там уже висят СОРМ2 а скоро будут висеть и СОРМ3 тем не менее это ни чего не меняет простая схема обмена ключей делает невозможным снифать шифрованный трафик.

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 01 февраля 2014 21:33
· Личное сообщение · #26

Nimnul пишет:
Читал, эта методика не работает с симетричными NAT

работает



Ранг: 369.8 (мудрец), 400thx
Активность: 0.390
Статус: Участник

Создано: 02 февраля 2014 01:42
· Личное сообщение · #27

Давайте не мешать в одну кучу политику, коммерческие интересы провайдеров и технические вопросы работы через NAT.
По сабжу, есть три нормальных способа работы через NAT: это соединение через внешний сервер, внешний IP адрес (хотя-бы портмаппинг) от провайдера одной из сторон, и IPv6.
На это следует ориентироваться, а все методы пробивания NAT - глючная фигня (не фигня только использовать UPnP для портмаппинга сквозь домашний роутер). Если создается децентрализованная p2p сеть, часть узлов может быть ретрансляторами для тех кто за натом, но учтите что сейчас таких узлов критически мало и будет становиться только меньше (IPv4 закончились, не зря скайп перешел на сервера ms вместо супернод).

-----
PGP key <0x1B6A24550F33E44A>





Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 02 февраля 2014 15:21 · Поправил: Nimnul
· Личное сообщение · #28

ntldr

>> Давайте не мешать в одну кучу политику, коммерческие интересы

Почему нет? Вот кстати у меня на мегафоне 4Г торренты работают только с 12 ночи до 6 утра, строго от звонка до звонка, в другое время нет ни пиров ни сидов. И делают они это очень просто, они включают симметричный НАТ. И когда они намеренно закрывают торрент уверен что UPnP не поможет.

Значит твой ответ такой, или открытие портов или жо. А можно как то узнавать без использования третьей стороны какой у меня порт на НАТе? Может быть это где то отражается в дебрях TCP\IP ?


reversecode

Еще раз говорю что нет . Симметричный НАТ для каждой записи IPsource\PortIn\PortOut + IPdestination\PortIn\PortOut создает уникальную запись, поэтому финты со сменой IP с одним и тем же портом не прокатят здесь. Именно поэтому он симметричный, потому что очень точен и не позволяет всяких вольностей. Хотя лично я всегда представлял НАТ именно как симметричный. То что они бывают не симметричными это как то странно и глупо, не ожидал такого в общем, это как дырка в софте. Симметричный НАТ работает как фаервол, это побочный эффект. Отличие только в том, что фаервол закрывает соединения, а СНАТ просто их не открывает если нет полного совпадения адресов и портов.

-----
have a nice day





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 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 она верная




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 февраля 2014 16:07
· Личное сообщение · #30

Nimnul пишет:
Значит твой ответ такой, или открытие портов или жо. А можно как то узнавать без использования третьей стороны какой у меня порт на НАТе? Может быть это где то отражается в дебрях TCP\IP ?

сидя в одиночестве нет))
нужен кто то еще, с ним связываешься по tcp, и посылаешь ему свой айпи, он получает и смотрит с какого айпи пришел пакет и какой айпи в пакете,
если разные - значит нат
если одинаковые значит нет


. 1 . 2 . >>
 eXeL@B —› Оффтоп —› Возможно тупой вопрос по сетям.

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати