Форум: "Прочее";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
ВнизКак работает 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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.005 c