Немного теории...
Итак что же такое peer-to-peer?
Одноранговые, или пиринговые (от англ. peer-to-peer, P2P — равный с равным) сети — такие компьютерные сети, в которых отсутствуют выделенные серверы, а каждый пользователь (peer) является как клиентом, так и сервером одновременно. Такая организация решает одну из главных проблем канонической архитектуры клиент-сервер — высокие требования к серверу, который обрабатывает запросы от клиентов-пользователей. При большом количестве запросов сервер в лучшем случае выполняет свои функции медленно, в худшем — происходит отказ в обслуживании.
Пиринговая сеть Direct Connect
Чем же она лучше других?
* Развитый чат
* Возможность получить список файлов пользователя в виде древовидной структуры папок
* Возможность скачивать целые директории
* Идеальное решение для локальных сетей: p2p файлообменная система и чат в одной программе
* Простой механизм поиска
* Ограничения на минимальное количество расшареного материала
* Поддержка скриптов с потенциально безграничными возможностями как на клиентской стороне, так и на стороне хаба (верно не для всяких хабов и клиентов)
* Сервер сети (хаб) может быть посвящён определённой теме (например музыке конкретного направления), что позволяет легко находить пользователей с требуемой тематикой файлов
* Присутствие привилегированных пользователей - операторов, обладающих расширенным набором возможностей управления хабом, в частности, следящих за соблюдением пользователями правил чата и файлообмена
* Система расширений. При установлении соединений типа клиент-хаб и клиент-клиент обе стороны могут сообщить друг другу поддерживаемые расширения протокола (например, сжатие данных), что увеличивает совместимость со старыми программи на уровне протокола
* Механизм хеширования, позволяющий однозначно идентифицировать файл вне зависимости от его имени.
DC++— свободный фалообменный клиент сети Direct Connect для ОС Windows. Поддерживает хеширование. Имеет развитую функциональность чата.
Для осуществления файлового обмена необходимо подключение к серверу сети, так называемому хабу.
Расширения DC++
Разработчиками DC++ позиционируется как клиент, обеспечивающий прежде всего лишь основную функцию — файлообмен. Это привело к появлению большого количества модифицированных версий DC++ — так называемых мо́дов. В настоящее время существует уже бесчисленное количество. Некоторые из них основаны на слишком старых версиях DC++ и могут содержать в себе уже исправленные ошибки. Также могут быть трудности в совместимости старых клиентов с новыми версиями хабов. Некоторые моды незаконно закрывают свой исходный код, нарушая лицензию GPL, по которой распространяется DC++.
К популярным расширениям DC++ относится:Palmer добавил 09.09.2006 в 20:06
- StrongDC++ — наиболее популярный в России и динамично развивающийся из всех модов. Поддерживает многопотоковое скачивание, смайлики и множество полезных дополнительных настроек.
***********************StrongDC++***********************
Лидер среди клиентов ДЦ++. Быстро развивается и вобрал в себя большинство полезных функций от других клиентов + свои эксклюзивные:
- скачка файла одновременно с разных пользователей. скорость суммируется.(мультисорс)
- ограничение скорости (чтобы комп не "перегрелся")
- обмен нужными кусками файла между двумя одновременно качающими sDC
- звуки, всплывающие окошки, и другие украшательства
- Смайлы!
Ссылки:
Сайт: http://strongdc.berlios.de/index.php?lang=eng
Форум: http://strongdc.berlios.de/forum/
Changelog: http://www.home.karneval.cz/01027053/cvs-changelog.txt
Скачать sDC: ftp://192.168.11.11/Upload_Members/S...gDC/sdc202.rar
Русификация: ftp://192.168.11.11/Upload_Members/S...ssian.2.00.xml
Инструкция по установке: ftp://192.168.11.11/Upload_Members/S...al_ver.2.0.doc
Основные фичи sDC и полезная информация
"Эмуляция"
На многих интернетовских хабах не разрешены какие либо клиенты кроме стандартного DC++.
Это связанно с тем, что навороченные клиенты имеют такие функции как "ограничение скорости отдачи" и "мульти-сегментная скачка".
Первая обрезает скорость, вторая - ворует(занимает) у других свободные слоты.
Поэтому в большинстве клиентов есть эмуляция оригинального DC++, т.е они маскируются.
В sDC эмуляцию можно ставить в свойствах любимых хабов. Она так же вклчюена по умолчанию при быстром соединении через "Public hubs".
Режим эмуляции sDC не скрывает использование ограничения скорости (В тэге L:1000). Так же, в режиме эмуляции мульти-сегментная скачка
работает по другому. Вы теряете слот при скачивании каждого куска файла.
Т.е sDC старается быть честным.
"Мультисегментная скачка (Segmented downloading)"
sDC позволяет скачивать один и тот же файл из нескольких источников.
Максимальное кол-во источников устанавливается автоматически в зависимости от размера файла.
Более большой файл можно тянуть с большего кол-ва источников, чем более маленький.
Сначала sDC пытается получить слоты ото всех возможных юзеров. Как только достигается максимальное
кол-во слотов, sDC больше не пытается соединяться с другими. Если какой-то слот потерян, sdc снова делает попытки
со всеми соединиться.
"Отдача качающихся файлов (Partial File Sharing)"
sDC начинает раздачу файла другим людям пока вы его ещё качаете.
Для этого необходимо чтобы была включена мульти-сегментная скачка.
"Умная" временная папка (Targetdrive)
В sDC в качестве пути к временной папке можно установить %[targetdrive]\temp\
Это значит, что при начале скачки sDC посмотрит на какой диск вы качаете и там же создаст временную папку.
В обычном DC++ временная папка задается жёстко. Если она и папка для скачек находятся на разных дисках,
то после завершения скачки хард "потупит" перенося файл. Targetdrive позволяет этого избежать.
"StrongDC.pdb и зачем он нужен"
sDC прекрасно работает и без него, но его присутствие позволяет сделать баг-репорт полезным.
В случае падения программы, нужная для устранения бага информация сохраняется в exceptioninfo.txt в папке с sDC.
Передайте её мне или разработчику sDC пожалуйста.
Да, каждый StrongDC.pdb подходит только к "своей" версии sDC, т.е обновлять нужно каждый раз.
"Режимы соединения"
В настройках\настройки соединения можно выбрать какой режим будет использоваться глобально.
Так же, в настройках каждого любимого хаба можно выбрать свой режим и ip, отличный от глобального.
"Автоприоритет"
Настройки\Очередь\Использовать автоприоритет по умолчанию.
В обычном DC++ приоритеты ставяться в зависимости от размера файла и не меняются.
В sDC автоприоритет действут по другому. Приоритет обновляется в зависимости от оставшегося времени скачки.
Т.е для маленькой фотографии, которую нужно качать ещё 2 секунды, sDC выставляет высшый приоритет.
Для большого фильма, только что начавшего качаться - низший. Но по мере скачивания он увеличивается, и когда
остается несколько процентов - приоритет наивысший.
"Резервирование места на диске.."
..происходит, если включена опция "использовать атнифрагментационный метод".
Да, если используется мультисегментная скачка и начал качаться какой-то последний кусок файла, то соответственно
резервирование тоже произойдёт.
"Про Актив и Пассив"
"Для начала опишу как это работает, чтобы было понятней:
Активный режим:
Ваш клиент говорит другому: слей-ка мне такой-то файл на такой-то адрес, такой-то порт
Пассивный режим:
Ваш клиент говорит другому: мне нужен такой-то файл, скажи с какого адреса и какого порта можно забрать.
Именно из-за такой логики работы пассивный режим работает почти всегда. Для его работы необходимо и достаточно, чтобы клиенту было разрешено инициировать исходящие соединения. То есть в обычных условиях - при отсутствии на машине персонального файрвола (или при включенном брандмауэре winXP), и даже из-за NAT клиент без проблем соединяется с хабом и работает в пассивном режиме.
А вот для работы активного режима надо больше: другие клиенты должны иметь возможность открывать соединения на указанные вашим клиентом адрес и порт. Что для этого нужно сделать:
1) В классическом случае вы находитесь в одной сети с другими пользователями. В этом случае (настройка «прямое соединение» клиента) главное – прописать в настройках правильный адрес вашей машины в сети. При прямом соединении ваш клиент выбирает порты, которые он указывает в запросе на соединение, случайным образом, поэтому для работы активного режима необходимо, чтобы все соединения по протоколам TCP и UDP клиенту были разрешены (в случае использования персонального файрвола).
2) На вашем пути в общую сеть файрвол или NAT, который поддерживает технологию UPnP. Включаем режим «фаер с UPnP». По идее, в этом случае клиент с файрволом сами «договариваются», что и как должно работать, клиент получает с NAT внешний адрес и порты, после чего работает по ним в активном режиме. В реале лично у меня например так и не получилось скрестить StrongDC RC10 и роутер D-Link G604T, хотя оба они UpnP вроде поддерживают (возможно, я мало старался). Подробная инфа по этому варианту - http://dcplusplus.sourceforge.net/faq/faq....mp;onlynewfaq=1.
3) вы находитесь во внутренней сети за NAT без поддержки UpnP (или у вас не получилось его задействовать). В этом случае выбирается опция «firewall с внутренним перенаправлением портов», в настройках клиента прописывается внешний ip адрес NAT и два номера портов (в этом случае клиент использует только их). При этом на самом NAT необходимо вручную настроить перенаправление всех входящих соединений, приходящих на эти порты, на внутренний адрес машины.
То есть, если есть сеть, в которую вы ходите через роутер с внешним адресом А, и ваша машина во внутренней сети имеет адрес B, то нужно в настройках клиента прописать адрес А, номера портов X и Y, а на самом роутере задать перенаправление соединений, приходящих на A:X и A:Y, на B:X и B:Y соответственно.
4) Нет возможности управлять NATом или файрволом, которые стоят на пути в сеть. В этом случае работа возможна только в пассивном режиме."
"Баги, о которых не нужно сообщать!"
"sDC не соединяет со старыми клиентами на базе 401 и ниже(oDC, phantomDC и т.д"
Это не баг. Разработчики оригинального DC++ начиная с версий 0.68* сильно ограничили совместимость со старыми клиентами.
Старые клиенты не могут взять листы у новых. (но не наоборот! Т.е новые без проблем качают со старых)
"Качал DVD 4 ГБ, на 99% sdc сказал что места на диске нет, хотя свободно 20 ГБ!"
Ответ: Диск FAT32 не может создать файл более 4 ГБ. Переформатируйте раздел в NTFS
"Игнорирование юзера не сохраняется после перезапуска sDC!"
Ответ: это желание разработчика, пока неприклонное
"В результатах поиска не работает "скачать всю папку", если она с русским названием!"
Ответ: Баг невозможно исправить из-за особенности протокола DC++
"sDC не правильно ограничивает скорость!"
Ответ: все клиенты на базе новых DC++ не правильно ограничивают скорость на больших значениях (более 1 МБ/c). О проблеме знают и думают.