= Advanced Direct Connect = Advanced Direct Connect (ADC) — это протокол для пиринговых сетей, основанный на протоколе [[Direct_Connect|Direct Connect]] (DC). ADC-клиенты подключаются к центральному серверу и обмениваются файлами напрямую между участниками сети. == История создания == Протокол ADC был создан как логическое развитие протокола ''Direct Connect'' c целью устранения его недостатков. Инициатором создания нового протокола стали ''Jacek Sieka'' в сотрудничестве с ''Jan Vidar Krey’s'' [[DCTNG]] был подготовлены черновики стандарта. Первая версия протокола появилась в 2004 году, а первый официальный релиз состоялся 1 декабря 2007 года. == Описание протокола == Несмотря на все достоинства, протокол Direct Connect на практике имеет множество специфических проблем, в том числе мешающих эффективному обмену файлами. Большое количество разработанных расширений протокола неспособно устранить все недостатки Direct Connect . Протокол Advanced Direct Connect (ADC) разрабатывался с целью повышения уровня надёжности, эффективности и безопасности файлообменной сети. ADC также позволяет реализовывать принципиально новые расширения протокола. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0.[1] В версии 1.0 были реализованы следующие функции: * разные шары для каждого хаба; * реальная идентификация каждого пользователя; * изменение псевдонима пользователя без необходимости переподключения; * непосредственный поиск между клиентами; * улучшенная вместимость хаба; * передача, защищённая паролем (Tiger Hash). Несмотря на выход в свет ADC 1.0, в этом протоколе остаётся много неясностей в реализации и потенциальных уязвимостей. Как правило они связаны с тем, что изначальный протокол DirectConnect не предполагал возможности отправки сообщения (или вообще какого-либо элемента протокола) ограниченной группе пользователей или одному пользователю, так как все сообщения посылались через сервер (главный чат и приваты). В ADC возможность посылать ограниченные сообщения есть, что приводит к появлению уязвимостей. Например — клиент может публично объявить, что находится в пассивном режиме, но при потребности скачать что-либо с другого пассивного пользователя тайно сообщить ему свой внешний IP-адрес и порт. Также теоретически возможно посылать определённому клиенту приватное сообщение, которое будет проинтерпретировано как сообщение в общем чате и отображено соответствующим образом