Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.29;
Скачать: CL | DM;

Вниз

Как работает Hamachi?   Найти похожие ветки 

 
@!!ex ©   (2009-10-02 12:32) [0]

Hamachi соединяет два компа без внешнего IP через свой сервер.
Как это делается?


 
dmk ©   (2009-10-02 13:07) [1]

Создаешь свою сетку. Ставишь пароль и пользуешь. Только нужно 2 человека минимум. Если Интернет быстрый с двух сторон, то вполне юзабельно. К сетке можно подключать много народу. Я отказался, т.к. быстрее скинуть файлы через файлообменник. Hamachi подтормаживает слегка.


 
tesseract ©   (2009-10-02 13:08) [2]

Туннелирование наверно. Два компа присоединяются к серваку - коннект есть, а дальше тупо туннелируем.


 
tesseract ©   (2009-10-02 13:09) [3]


> dmk ©   (02.10.09 13:07) [1]


Вопрос как физически это происходит. Я кстати ошибся - там VPN + UDP.


 
dmk ©   (2009-10-02 13:17) [4]

У Hamachi свой протокол. Когда сетку делаешь у нее есть уникальный номер. Вот он скорее всего и является ее собственным уникальным IP. Как работет ее протокол я к сожалению не знаю.


 
dmk ©   (2009-10-02 13:22) [5]

Тут немного описано
http://www.p2pinside.ru/node/85


 
@!!ex ©   (2009-10-02 13:28) [6]

Вот это я знаю:
Как это все работает
Hamachi - система организации виртуальных защищенных сетей на основе протокола UDP. В такой сети узлы для установления соединения между собой используют третий узел, который помогаем им лишь обнаружить друг друга, а передача информации производится между узлами уже непосредственно. При этом взаимодействующие узлы могут находиться за NAT’ом или фаерволом.


Я хочу понять, как это реализовано.
Нужно тоже самое сделать. Нужно установить p2p соединение между компами без внешнего IP.


 
tesseract ©   (2009-10-02 13:34) [7]


> Я хочу понять, как это реализовано.


"Не внешний" IP - явно играемся с nat. Если я правильно помню спецификации, то nat организует соединение - теперь достаточно его перебросить между узлами. SKYPE и google talk то-же же организуют прямой коннект между двумя узлами с неважно каким IP.


 
@!!ex ©   (2009-10-02 13:35) [8]

> [7] tesseract ©   (02.10.09 13:34)

Угу. И как они это делают??


 
Sha ©   (2009-10-02 14:11) [9]

google + пробивание NAT


 
Eraser ©   (2009-10-02 15:54) [10]

> [6] @!!ex ©   (02.10.09 13:28)

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


 
DVM ©   (2009-10-02 15:57) [11]


> Eraser ©   (02.10.09 15:54) [10]

их сервер используется только для установления связи между клиентами. потом трафик через него уже не идет и даже вроде он вообще не нужен.


 
Pavia ©   (2009-10-02 16:06) [12]

Происходит так.
1 комп используя протоколы UPnP или NAT-PMP просит роутер на котором стоит NAT выделить порт. Этот процесс называется мэпированием портов.
Теперь у вас есть свой порт на внешнем общественно IP. И все(UDP или TCP) пакеты приходящий на этот порт будут поробрасываться на внутренний IP адрес.
2 комп делает тоже самое.

После используют внешний сервер чтобы сообщить свои внешние адреса и порты по которым слать пакеты. Все дальше сервер не участвует и обмен идет напрямую.


> Нужно тоже самое сделать. Нужно установить p2p соединение
> между компами без внешнего IP.


Я вот тут народ тоже спрашивал исходник на Delphi все молчат как партизаны.
Вообще бери libtorrent он на Си. Там есть нужный код.

С протоколом UPnP не советую разбираться такая гадость.


 
Сергей М. ©   (2009-10-02 16:27) [13]


> как они это делают?

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


 
Eraser ©   (2009-10-02 17:43) [14]

> [11] DVM ©   (02.10.09 15:57)

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


 
Eraser ©   (2009-10-02 17:45) [15]

> [11] DVM ©   (02.10.09 15:57)

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


 
Pavia ©   (2009-10-02 18:03) [16]


> http://ru.wikipedia.org/wiki/STUN

И сколько роутеров NAT поддерживают данный протокол?

UPnP поддерживают большинство.


 
Pavia ©   (2009-10-02 18:18) [17]


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

Это касается США. А у нас UPnP как раз таки не режут и он спокойно доступен. Отсюда и популярность Torrent"ов.


 
Сергей М. ©   (2009-10-02 20:15) [18]


> сколько роутеров NAT поддерживают данный протокол?


Роутеры не занимаются поддержкой STUN вообще.


> UPnP поддерживают большинство


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

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


 
Сергей М. ©   (2009-10-02 20:45) [19]

Вот здесь хорошая иллюстрация

http://aoz.com.ua/2009/01/26/nat-types/

для тех кто хочет понять, как работает тот или иной распространенный тип NAT - кратко, внятно и на огурцах)


 
Anatoly Podgoretsky ©   (2009-10-02 22:46) [20]

> Сергей М.  (02.10.2009 20:15:18)  [18]

Как системный администратор я автоматически запрещаю UPnP дыра, дырой


 
Pavia ©   (2009-10-03 03:15) [21]


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

Практика показывает что пробивает и внешний адрес узнает. Похоже внутренний роутер обращается к внешнему.

Хотя каких либо пояснений в протоколе я не нашёл.

А да со STUN не до разумение. Я думал он NAT пробирает. А он предназначен для исследования NAT.  Правда это любой программист и сам сможет сделать. Я вот что-то не понял помимо определения NAT он еще чем то занимается?


 
Сергей М. ©   (2009-10-03 10:19) [22]


> это любой программист и сам сможет сделать


Без "помощника" по ту сторону NAT, т.е. в публичной сети, сделать это все равно не удастся. Таким "помощником" как раз и является STUТ-сервер.


> помимо определения NAT он еще чем то занимается?


Самым главным он как раз и занимается - позволяет партнерам по потенциальному  прямому соединению, находящимися за NAT, получить публичные координаты друг-друга, если P2P соединение в данных условиях принципиально возможно.


 
Сергей М. ©   (2009-10-03 10:53) [23]


> пробивает и внешний адрес узнает. Похоже внутренний роутер
> обращается к внешнему


емнип, UPnP базируется на мультикасте.
Форвардинг же мультикаст-пакетов из одной подсети в другую - право и/или обязанность файрвола, а не NAT.
Если файрвол не реализует такой форвардинг, либо он административно запрещен, и на маршрутизирующем устройстве отсутствует/неактивен мултикаст-прокси-сервис, то в этом случае трансляция UPnP-дейтаграмм из одной подсети в другую попросту невозможна.


 
Сергей М. ©   (2009-10-03 10:59) [24]

Идеальным вариантом для приличного прикладного софта, конечно же, является реализация комплекса программно-технологических средств прохождения межсетевых шлюзов, включающий в т.ч. и STUN, и UPnP, и NAT-T (при использовании IPSec)


 
Eraser ©   (2009-10-03 14:01) [25]

> [24] Сергей М. ©   (03.10.09 10:59)

.. и выделенного сервера.

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


 
Pavia ©   (2009-10-03 14:50) [26]


> Без "помощника" по ту сторону NAT, т.е. в публичной сети,
>  сделать это все равно не удастся. Таким "помощником" как
> раз и является STUТ-сервер.

И что ?  Я так и написал нужен внешний сервер. А STUN или это будет или другой не важно.


> емнип, UPnP базируется на мультикасте.Форвардинг же мультикаст-
> пакетов из одной подсети в другую - право и/или обязанность
> файрвола, а не NAT.Если файрвол не реализует такой форвардинг,
>  либо он административно запрещен, и на маршрутизирующем
> устройстве отсутствует/неактивен мултикаст-прокси-сервис,
>  то в этом случае трансляция UPnP-дейтаграмм из одной подсети
> в другую попросту невозможна.

Я не понимаю ваших фантазий.
Если роутер\хост поддерживает UPnP то он пошлет широко вещательный пакет в свои под сети. Тоже сделают и выше стоящие роутеры.



Страницы: 1 вся ветка

Текущий архив: 2009.11.29;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.011 c
1-1226938293
burbuluc
2008-11-17 19:11
2009.11.29
Как выйти из ступора?


15-1254515407
Юрий
2009-10-03 00:30
2009.11.29
С днем рождения ! 3 октября 2009 суббота


15-1254472377
@!!ex
2009-10-02 12:32
2009.11.29
Как работает Hamachi?


15-1254576288
vrem
2009-10-03 17:24
2009.11.29
Windows: странные задержки


15-1253862387
Ирг
2009-09-25 11:06
2009.11.29
запрос SQL