Direct Connect

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Direct Connect — це децентралізована файлообмінна (P2P) мережа, в основі якої покладений пропріетарний протокол, що був розроблений компанією NeoModus.

Історія виникнення[ред.ред. код]

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++ та ін.

Клієнти[ред.ред. код]

Оригінальний клієнт зветься NeoModus Direct Connect (скорочено NMDC). Зараз більшість користувачів мережі багаточисельними клієнтами на базі клієнта DC++, що є продовженням NMDC версії 1.0.

DC++[ред.ред. код]

DC++ — альтернативна програма з відкритим вихідним кодом, яка написана на C++. Перш за все вона призначена для роботи у Windows, але існують також і кросплатформенні відгалуження (такі, як наприклад LinuxDC++).

NeoModus Direct Connect[ред.ред. код]

NeoModus Direct Connect (скорочено NMDC) — оригінальний клієнт протоколу. Перша версія якого була написана у Visual Basic, розроблена у листопаді 1999 року і працювала лише під Windows. Друга версія була написана у C++ та C# і вже підтримувала Mac OS X.

Хаби[ред.ред. код]

Клієнти під'єднуються до одного або декількох серверів, хабам для пошуку файлів, які зазвичай не пов'язані між собою та слугують для пошуку файлів та джерел їх завантаження. Деякі типи хабів можна частково або повністю пов'язати мережею, використовуючи спеціальні скрипти або програму Hub-Link. В якості хабу частіш за все використовується PtokaX. Verlihub, YnHub, Aquila, DB Hub.

Різниця від інших P2P-систем[ред.ред. код]

Різниця від деяких P2P-систем, побудованих на інших протоколах (eDonkey, Gnutella):

Зумовлена клієнтом
  • Можливість завантажувати цілі теки.
  • Обмеження на мінімальну кількість розшареного матеріалу.
  • Підтримка скриптів з потенційно безмежними можливостями як на клієнтській стороні, так і зі сторони хабу.
  • Можливість бачити список файлів у вигляді деревовидної структури каталогів.
Зумовлена структурою мережі
  • Розвинутий багатокористувацький чат.
  • Сервер мережі (хаб) може бути призначений для окремої теми (наприклад для музики чи фільмів певного жанру), що дозволяє легко знаходити користувачів з необхідною тематикою файлів.
  • Присутність привілейованих користувачів — операторів, модераторів, які мають розширені можливості керуванням хабом, а також слідкувати за дотримуванням користувачами правил чату і файлообміну.

Протокол ADC[ред.ред. код]

Не зважаючи на всі можливості, протокол DirectConnect у практиці має чи мало специфічних проблем, такі що, заважають ефективному файлообміну. Велика кількість розроблених розширень протоколу не здатне вирішити всі недоліки DirectConnect. Розробники клієнта DC++ працюють над розробкою принципово нового протоколу, що має назву Advanced Direct Connect (ADC), для підвищення надійності, безпеки та ефективності файлообмінної мережі, та дозволяючи також застосовувати принципово нові розширення протоколу. 2 грудня 2007 року вийшла кінцева версія протоколу ADC 1.0.

В першу чергу він дозволить
  • Різні розшарювання на кожному хабі.
  • Реальна ідентифікація кожного користувача.
  • Зміна ніку без перепідключення.
  • Пошук напряму між клієнтами.
  • Великий вміст Хабу (десь біля 13000 на YnHub)
  • Захищене паролем передавання (Tiger Hash)

Посилання[ред.ред. код]