Advanced direct connect

У версії 1.0 реалізовані (описані) наступні функції:

Недоліки протоколу ADC 1.0.1

  • екранування часто зустрічаються символів (наприклад символу пробілу), що збільшує трафік.
  • кількість роздільників в порівнянні з протоколом NMDC зменшено, але не зведено до одного, що необхідно для максимально простий обробки команд.
  • ліміт користувачів одного хаба посилання - 1 048 575 користувачів (обмеження 20 бітного SID'а). Дане обмеження не обійти, тому ADC строго фіксований в плані масштабування.
  • через непродуману систему Feature broadcast клієнти часто змушені відправляти кілька команд поспіль. Приклад - пасивний користувач з підтримкою Nat-Traversal:

FSCH AAER + TCP4-NAT0 TO4172403789 ANdvdrip

FSCH AAER + NAT0 TO4172403789 ANdvdrip

У першому випадку користувач відправляє запит всім активним користувачам, у другому всім пасивним, що підтримує Nat Traversal. Ці запити не можна поєднати в один, так як підтримка / непідтримка всіх перерахованих команд обов'язкове. Для простої інтерплетаціі між ними можна поставити логічне «і». Можливості вказати «або» в протоколі не передбачено. Більшість хабів не пропускають другу команду через ліміт на кількість запитів в одиницю часу, і користувачі отримують неповні списки відповідей. Хаби, пропускають два йдуть підряд пошукових запиту, збільшують свій трафік вдвічі.

  • протокол ADC, як і NMDC, є надмірно централізованим: хаби контролюють установку всіх з'єднань між користувачами, всі особисті повідомлення користувачів і всі пошукові запити користувачів.

Це збільшує частоту пересилань команд і вихідний трафік хабів, що є непотрібним, і навіть зайвим. У протоколі передбачено пряму пошук між клієнтами минаючи хаб, проте на практиці він не був реалізований і не підтримується жодною клієнтом.

На практиці протокол ADC показав значно більшу гнучкість, ніж чим NMDC, проте сильно погіршив проблеми масштабованості (великого обсягу трафіку, зайвої централізованності і великий обчислювального навантаження, головним чином на хаби). З упевненістю можна сказати, що протокол ADC не годиться для організації глобальних DC хабів і об'єктивно відзначається вельми сумнівними перевагами над протоколом NMDC. Через даних якостей серед розробників залишається невизначеність в питанні необхідності переходу з протоколу NMDC на протокол ADC. Адміністратори хабів в свою чергу не поспішають переводити свої хаби на даний протокол, чекаючи наступної версії, або навіть нового протоколу, в якому поправлять недоліки поточного і, ймовірно, зроблять бінарним.

Подальша розробка протоколу ADC

ADCH ++ - це хаб для мереж, що використовують ADC-протокол. Він працює на Windows / Unix платформах, підтримує скрипти lua і python, а також плагіни, написані на С ++. Починаючи з версії 2.5.2 додана підтримка виконання плагінів від PtokaX

Для хаба активно розробляється графічний інтерфейс в проекті ADCH ++ GUI.

μHub (micro-Hub) - ADC хаб написаний на C під ліцензією GPLv3. Працює в операційних системах Linux. Windows. BSD та інших. Має тільки базові функції для p2p. Вкрай невимогливий до ресурсів - при 350 користувачів займає в пам'яті кілька десятків кілобайт ОЗУ. Можлива робота на пристроях що підтримують ПО OpenWRT. Починаючи з версії 0.3.2 підтримує шифрування server-client, так звану ADCS-mode. Починаючи з версії 0.4.0 введена система плагінів з простим API і додані деякі особливо затребувані плагіни.

StarLet ADC

StarLet ADC Hub - ПО ADC хаба під OpenVMS відповідність зі специфікацією ADC 1.0, написаний на C з використанням засобів OpenVMS. що обумовлює високу навантажувальну здатність хаба, а також надійність функціонування, зараз знаходиться в розробці. Тестова P2P-мережу, підтримувана StarLet ADC Хаб-му - доступна по посиланню [adc: //adc.deltatel.ru: 412] (Nick / Username і пароль може бути будь-яким і непустою). StarLet ADC - доступний у вихідних текстах.

Однією з відмінних можливостей Хаб-а є «віртуальна P2P-мережу», що дозволяє будувати P2P-мережі на одній платформі (OpenVMS Cluster) для різних груп користувачів.

Схожі статті