Direct Connect

Материал из MyDC's Wiki

Перейти к: навигация, поиск

Direct Connect — это частично централизованная файлообменная (P2P) сеть. DC-сеть состоит из хабов, DC-клиентов и хаблистов. Хаб предоставляют подключившемуся к нему клиенту список подключённых пользователей, возможность использовать поиск и встроенный развитый чат. DC-клиенты соединяются с одним или несколькими хабами и могут скачивать файлы напрямую у других пользователей, подключённых к тому-же хабу. Для работы используется протокол DC (NMDC), основанный на разработках фирмы NeoModus, или протокол ADC.

Содержание

История

NeoModus была основана Джонатаном Хессом (Jonathan Hess) в ноябре 1999 года как компания, зарабатывавшая на adware-программе «Direct Connect». Первым сторонним клиентом стал «DClite», который никогда полностью не поддерживал протокол. Новая версия Direct Connect уже требовала простой ключ шифрования для инициализации подключения, этим автор надеялся блокировать сторонние клиенты. Ключ был взломан и автор DClite выпустил новую версию своей программы, совместимой с новым программным обеспечением от NeoModus. Вскоре, код DClite был переписан, и программа была переименована в Open Direct Connect. Кроме всего прочего, её пользовательский интерфейс стал многодокументным (MDI) и появилась возможность использовать плагины для файлообменных протоколов (как в MLDonkey). У Open Direct Connect также не было полной поддержки протокола, но появился под Java. Немногим позже, начали появляться и другие клиенты: DCTC (Direct Connect Text Client), DC++ и др.

Протокол

Основная статья: Описание протокола NMDC

Протокол Direct Connect - текстовый, в котором команды и данные передаются простым текстом, без шифрования. Протокол не регламентирует кодировку или шрифт для клиентов или хабов.

Файлообменная часть протокола основана на концепции "слотов". Эти слоты соответствуют числу людей, которые могут качать с пользователя одновременно. Число слотов устанавливается клиентом.

Для подключения к хабу и скачивания файлов используется протокол TCP. Поиск в активном режиме работает по UDP. Порт подключения к хабу по-умолчанию 411.

Клиенты

Оригинальный клиент назывался NeoModus Direct Connect (сокращённо NMDC). В настоящее время подавляющее большинство пользователей сети пользуется многочисленными клиентами на базе клиента DC++.

Хабы

Клиенты подключаются к одному или нескольким серверам, так называемым хабам, которые служат для поиска файлов и источников для их скачивания. Некоторые хабы поддерживают линкование — несколько хабов соединяются между собой для удобства пользователей и подключившийся пользователь видит один «общий» хаб. На крупных хабах в пиковые часы одновременно находятся более 10 000 пользователей.

Сравнительная таблица наиболее часто[1][2] используемого для создания хабов программного обеспечения:

Название WindowsLinuxДругие ОС Язык програм-мированияЛицензия Интерфейс пользователяСайт проекта
PtokaX Да Да FreeBSD C++ GPL v3 графический (версии для Windows), консоль www.ptokax.org
Verlihub Нет Да FreeBSD C++ GPL v2 консольwww.verlihub-project.org
RusHub Да Да FreeBSD, Solaris, Mac OS X C++ GPL v3 консольrushub.org
YnHub Да Wine Нет Неизвестнопроприетарная графическийynhub.org
DB Hub Нет Да FreeBSD C GPL консольsourceforge.net
HeXHub Да Нет Нет Ассемблер OSL 3.0 графическийnemesis.te-home.net
Aquila Нет Да Нет C GPL консольsites.google.com
Eximius Да Wine Нет C#проприетарная графическийen.rs2soft.nl
FlexHub Да Да Нет Lua AGPL v3 графический консоль flexhub.org
Viper Hive Да Да Да Python GPL v2 консольcode.google.com

С массовым внедрением в DC-клиенты технологии DHT необходимость в хабах может отпасть.

Хаблисты

Хаблист — специальный сервер, собирающий и хранящий информацию об активных хабах. Во многих клиентах есть встроенная возможность импорта списка хабов с хаблиста. Так же многие хаблисты ведут статистику и позволяют просматривать её через браузер.

dchub-ссылка

Обычно в ней указывается адрес и порт хаба.

Указывается в виде:

dchub://[ IP или Домен хаба]:[ порт хаба ]


Вид ссылки такой:

dchub://[ имя пользователя ]@[ IP или Домен хаба ]:[ порт хаба ]/[путь к файлу]/[имя файла]


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

Данный вид ссылки на файл может применяться, когда невозможно использовать magnet-ссылку так как содержимое файла может измениться либо файл ещё не создан.

Отличия от других P2P-систем

Отличия от некоторых P2P-систем, построенных на других протоколах (eDonkey, Gnutella и её форка Gnutella2):

Обусловленные структурой сети
Просто зависящие от клиента

Протокол ADC

Основная статья: Advanced Direct Connect

На практике протокол DirectConnect имеет специфические проблемы, отчасти мешающие эффективному файлообмену. Авторы клиента DC++ разработали для их решения принципиально новый протокол, названный Advanced Direct Connect (ADC), цель которого — повышение надёжности, эффективности и безопасности файлообменной сети. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0 [3] Протокол продолжает развиваться и дополняться.

Примечания

  1. [1] Статистика крупного российского хаблиста.
  2. [2](англ.) Статистика крупного англоязычного хаблиста.
  3. http://adc.sourceforge.net/ADC.html(англ.)

См. также

Описание протокола NMDC

Ссылки

Источник — «http://wiki.mydc.ru/Direct_Connect»
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
RusHub
Инструменты
Портал