Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Соединение по динамических адресах 
:(
    Опции темы
SVN74
Дата 18.3.2009, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Интересно существует ли в интернете какая ни будь возможность соединить два компа (на прямую) с динамическими IP, не используя сервера-посредника? 
Может есть какие ни будь для этого универсальные ресурсы в интернете, позволяющие как то временно зафиксировать временные адреса как постоянные (не зависимо от провайдера)?


Это сообщение отредактировал(а) SVN74 - 18.3.2009, 00:23
PM MAIL WWW   Вверх
dumb
Дата 18.3.2009, 03:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 1
Всего: 158



PM MAIL   Вверх
SVN74
Дата 22.3.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Да, хорошая штучка, но с NAT такой номер не пройдет...
Конечно, по любому придется  использовать сервер- посредник, но для большого количества клиентов и с большим объемом данных этот вариант не очень хорош, - причина линия интернета на сервере просто не сможет пропускать через себя большие объемы информации, причем надо без задержек. И тут постает вопрос, возможно ли обдурить (клиентскую) сторону создав первоначально соединение с динамических адресов двух клиентов с сервером на статике, а затем сервер соединит их сокеты и распрощается с ними, затем клиенты смогут работать между собой вне сервера.
Конечно, это с области фантастики, но как известно нет ничего невозможного.
Может кто ни будь слышал о таких извращениях?

PM MAIL WWW   Вверх
Олег2005
Дата 22.3.2009, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Наверно P2P - торрент сети именно так и дeлают, по моему?

Это сообщение отредактировал(а) Олег2005 - 30.3.2009, 21:44
PM MAIL WWW MSN   Вверх
SVN74
Дата 30.3.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Да, Р2Р примерно так и работает, но в большей части по статических адресах, а динамические все равно через соседние сервера.
Интересно , как известно при создании сокета между клиентом и сервером, - сервер получает инфу о клиенте в виде IP и Порта (обратного), возможно ли “законектить”  на стороне (динамического) клиента его сервер(с таким же номером порта)  по полученному от клиента порту?

PM MAIL WWW   Вверх
Олег2005
Дата 30.3.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Обычно говорится, что порт однозначно определяет приложение (одно) 
Но есть опция SO_REUSEPORT. Мож ее каким-то боком можно?
Не могу точно сказать smile 

Это сообщение отредактировал(а) Олег2005 - 30.3.2009, 21:48
PM MAIL WWW MSN   Вверх
vinick
Дата 30.3.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 9.6.2005

Репутация: 6
Всего: 22



Если брандмауэр, который обеспечивает NAT для динамических клиентов, умеет трассировать соединения по протоколам типа FTP. то можно попробовать замаскироваться под этот протокол и передать данные для второго соедиения. Тогда брандмауер пробросит внешний порт на внутренний, и второй динамический клиент сможет присоединится к первому. Ну а если есть возможность написать и подключить к брандмауэру свой модуль трассировки, то и маскироваться не надо.
PM MAIL ICQ Jabber   Вверх
SVN74
Дата 31.3.2009, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



То бишь если я правильно понял обратный порт от клиента - это и есть пропущенный порт через firewall NAT(а) и возможно подконектиться к ждущему серверу(на стороне динамического клиента) по данному порту, главное не разрывать соединение с главным сервером ???
PM MAIL WWW   Вверх
vinick
Дата 31.3.2009, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 9.6.2005

Репутация: 6
Всего: 22



Вроде да. Но это только идея. На практике я такого не делал и не видел. 
вот выдержка из документации по iptables
Цитата

В качестве первого примера рассмотрим протокол FTP. Протокол FTP сначала открывает одиночное соединение, которое называется "сеансом управления FTP" (FTP control session). При выполнении команд в пределах этого сеанса, для передачи сопутствующих данных открываются дополнительные порты. Эти соединения могут быть активными или пассивными. При создании активного соединения клент передает FTP серверу номер порта и IP адрес для соединения. Затем клент открывает порт, сервер подключает к заданному порту клиента свой порт с номером 20 (известный как FTP-Data) и передает данные через установленное соединение.

Проблема состоит в том, что брандмауэр ничего не знает об этих дополнительных подключениях, поскольку вся информация о них передается через область данных пакета. Из-за этого брандмауэр не позволит серверу соединиться с указанным портом клиента.

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


Кроме ftp есть и другие протоколы для которых необходимо обратное соединение. 
PM MAIL ICQ Jabber   Вверх
SVN74
Дата 9.4.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Вот провел эксперимент: На внешнем IP запустил сервер, далее с посторонней сети (имеющей внутренний IP с центральным шлюзом NAT) запустил клиента на "коннект TCP" к указанному адресу, - установилась связь без проблем и внешний IP получил обратный IP и ПОРТ клиента(соединение не разрываю), далее хочу «законнектить»  клиента со стороны сервера по указанному (обратному) ПОРТУ клиента, для чего сначала пытаюсь запустить сервер на стороне клиента (внутреннем адресе) и вот тут та сервер и  выдает сообщение (обычно разрешается запускать только один сервер по указанному порту), ну оно и понятно, ведь порт уже занять клиентом...
==========
Как можно было бы все таки запустить (принудительно) сервер по указанному порту (на стороне клиента)?
Таким способом на мой взгляд любой другой хост(с внутренним IP) может «законнектиться»  к другому хосту(с внутренним IP) , зная его обратный порт и адрес (действующего соединения с центральным сервером), то бишь у внутреннего хоста  появляются ворота во внешний мир (по определенному порту).
==========
я прав???  smile 
========== 
кстати UDP и TCP сервера свободно работают по одному порту, буду пробовать подсесть на TCP с помощью UDP... 


Это сообщение отредактировал(а) SVN74 - 9.4.2009, 22:40
PM MAIL WWW   Вверх
J0ker
Дата 9.4.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 1
Всего: 14



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


--------------------
user posted image
PM MAIL   Вверх
J0ker
Дата 10.4.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 1
Всего: 14



Цитата(SVN74 @  9.4.2009,  22:29 Найти цитируемый пост)
кстати UDP и TCP сервера свободно работают по одному порту, буду пробовать подсесть на TCP с помощью UDP... 

не получится
сокет иденифицируется связкой протокол+адрес+порт


--------------------
user posted image
PM MAIL   Вверх
Artemon
Дата 10.4.2009, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



SVN74, у меня следующая мысль,
если послать UDP пакет с внутреннего IP на белый IP, то в NAT какое-то время будет запись о том, что мы обращаемся к белому IP, это нужно для  того чтобы можно было в ответ (внутреннему IP) пысылать какие-либо данные, которые уже будут пробрасываться с NAT на внутренний IP.
Иначе не организовать взаимодействие через NAT.

Так вот, есть задумка, что если на обратный порт и IP (который пришел в UDP пакете), послать ответный покет с любого другог IP, то он будет принят. Но это лишь мои догадки.

Вы провели подобный опыт, но как я понял на TCP/IP, попробуйте тоже самое, но на UDP.




--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
SVN74
Дата 10.4.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Всем большое спасибо за внимание, обязательно буду пробовать все возможные шаги, как только, что ни будь "на пробую", - обязательно сообщу...
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0814 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.