Русская Википедия:Direct Connect

Материал из Онлайн справочника
Версия от 08:57, 14 июля 2023; EducationBot (обсуждение | вклад) (Новая страница: «{{Русская Википедия/Панель перехода}} '''Direct Connect''' — это частично централизованная файлообменная (P2P) сеть. DC-сеть состоит из хабов, DC-клиентов и хаб-листов. Хаб предоставляет подключившемуся к нему клиенту список подключённых по...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

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

История

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

Протокол

Протокол Direct Connect — текстовый, в котором команды и данные передаются простым текстом, без шифрования. В настоящее время шифрование трафика реализовано частично и возможно только в пределах некоторых хабов.[2] Протокол не регламентирует кодировку или шрифт для клиентов или хабов.

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

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

Клиенты

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

Зачастую вся сеть именуется по названию этого клиента, что является ошибкой.

Хабы

Клиенты подключаются к одному или нескольким серверам, так называемым хабам, которые служат для поиска файлов и источников для их скачивания. На крупных хабах в пиковые часы одновременно находится несколько тысяч пользователей.[3]

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

Название Windows Linux Другие ОС Язык программирования Лицензия IPv6 Интерфейс пользователя Сайт проекта
PtokaX
Да
Да
Да
Да
Да
Да
: FreeBSD
C++ Шаблон:Бесплатно
Да
Да
графический (Win32), консоль www.ptokax.org
Verlihub
Нет
Нет
Да
Да
Да
Да
: FreeBSD
C++ Шаблон:Бесплатно
Нет
Нет
консоль www.verlihub-project.org
RusHub
Да
Да
Да
Да
Да
Да
: FreeBSD
C++ Шаблон:Бесплатно
Да
Да
консоль mydc.ru/rushub/
FlexHub
Да
Да
Да
Да
Да
Да
: Qnap NAS; Synology NAS
Lua Шаблон:Бесплатно
Нет
Нет
графический, консоль www.flexhub.org
YnHub
Да
Да
Нет
Нет
Нет
Нет
Неизвестно
Неизвестно
проприетарная
Нет
Нет
графический ynhub.org
DB Hub
Нет
Нет
Да
Да
Да
Да
: FreeBSD
C Шаблон:Бесплатно
Нет
Нет
консоль sourceforge.net
HeXHub
Да
Да
Нет
Нет
Нет
Нет
Ассемблер Шаблон:Бесплатно
Нет
Нет
графический nemesis.te-home.net
Aquila
Да
Да
Да
Да
Нет
Нет
C Шаблон:Бесплатно
Нет
Нет
консоль sites.google.com
Eximius
Да
Да
Нет
Нет
Нет
Нет
C# проприетарная
Нет
Нет
графический en.rs2soft.nl
Viper Hive
Да
Да
Да
Да
Да
Да
Python Шаблон:Бесплатно
Нет
Нет
консоль code.google.com
Название Windows Linux Другие ОС Язык программирования Лицензия IPv6 Интерфейс пользователя Сайт проекта

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

Хаб-листы

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

dchub-ссылка

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

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

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

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

Если хаб защищён SSL, ссылка начинается на nmdcs:// и требует обязательного указания порта, в том числе и порта по умолчанию.

Вид ссылки на пользователя хаба или папку пользователя хаба такой:

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

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

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

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

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

Обусловленные структурой сети
  • Развитый многопользовательский чат
  • Сервер сети (хаб) может быть посвящён определённой теме (например, музыке конкретного направления), что позволяет легко находить пользователей с требуемой тематикой файлов
  • Присутствие привилегированных пользователей — операторов, обладающих расширенным набором возможностей управления хабом; в частности, следящих за соблюдением пользователями правил чата и файлообмена
Просто зависящие от клиента
  • Возможность скачивать целые каталоги
  • Результаты поиска не только по названиям файлов, но и по каталогам
  • Ограничения на минимальное количество расшаренного материала (по объёму)
  • Поддержка скриптов с потенциально безграничными возможностями как на клиентской стороне, так и на стороне хаба (верно не для всяких хабов и клиентов)
  • Возможность получить список файлов пользователя в виде древовидной структуры каталогов

Протокол ADC

Шаблон:Main

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

Примечания

Шаблон:Примечания

Ссылки

  1. Шаблон:Cite web
  2. Шаблон:Cite web
  3. Шаблон:Cite web
  4. dchublist.ru Шаблон:Wayback Статистика крупного русскоязычного хаблиста.
  5. dchublist.org Шаблон:WaybackШаблон:Ref-en Статистика крупного англоязычного хаблиста.
  6. http://adc.sourceforge.net/ADC.html Шаблон:WaybackШаблон:Ref-en