Смекни!
smekni.com

работа по дисциплине: «Сети ЭВМ и телекоммуникации» на тему: «P2P сети» (стр. 3 из 6)

В MFTP один и тот же файл запрашивается одновременно у нескольких источников, позволяя добиться более эффективного использования пропускной способности канала и снизить последствия пропадания источников. Одной из ключевых особенностей MFTP является идентификация файлов не по имени, а по содержимому, путём подсчитывания контрольных сумм (хэш - функция MD4, описанная в RFC 1186). Этот принцип гарантирует надежность идентификации файла независимо от его имени, а также контрольные суммы позволяют контролировать целостность получаемых данных в EDonkey2000 сетях, аналогично BitTorrent сетям.

Принцип работы:

1. Для инициализации узла каждый клиент обращается к серверу. При этом сообщая серверу, какие файлы он совместно использует. Каждый сервер в сети содержит и периодически обновляет список файлов всех подключенных к нему клиентов. Информация о файлов в сети размещается клиентом на различных серверах, и представляется в виде ed2k-ссылок, в которых используется уникальный ID ресурса.

2. Клиент посылает запрос поиска его главному серверу через протокол UDP. Все доступные в сети файлы проверяются сервером и он возвращает клиенту список также через протокол UDP.

3. Для загрузки файла сервер создает список клиентов, имеющих или скачивающих запрашиваемый файл или его часть. Затем сервер опрашивает другие, известные ему, серверы на наличие на них клиентов с искомым файлом. При обнаружении клиентов с искомым файлом производится опрос каждого клиента относительно частей данного файла. Данный процесс происходит до тех пор, пока не будет доступен (собран) файл целиком.

Диаграмма 1. Скачивание файла в сети EDonkey2000

Серверы периодически устанавливают соединение друг с другом. Во время этой связи сервер, объявляя о своём существовании, и отсылает список известных ему серверов. В результате получается что серверы таким образом поддерживают списки остальных активных серверов. При соединении клиента с сервером, сервер может предоставить клиенту список всех известных ему серверов.

Более подробная информация - в спецификации протокола.

Архитектура сети:

eDonkey2000 - это гибридная сеть, и одно из главных её достоинств состоит в том, что отключение одного или даже нескольких входящих в ее состав серверов на работу сети практически не влияет. На сервере файлы не хранятся, «индексатор» анализирует подключенные к нему компьютеры на предмет наличия доступных данных и сообщает о результатах анализа пользователям и другим серверам, которые передают информацию по цепочке.

Один из главных недостатков сети заключается в том что: устаревший протокол, не позволяет грамотно распределять закачку с различных клиентов и разгружать начальные источники. Каждому вновь подключившемуся клиенту сервер присваивает рейтинг, влияющий на позицию в очереди на закачку нужного файла. На этот рейтинг влияет количество розданного контента, соответственно, новый пользователь имеет самый низкий приоритет и начнет скачивание в последнюю очередь.

Особенности eDonkey 2000 сетей по сравнению с другими P2P сетями:

· Клиентские программы способны использовать несколько сетей, для создания одной надежной сети (ED2K, Source Exchange, Kad);

· поиск пользователей, независимо от того, к какому серверу они подключены;

· система приоритетов и рейтингов увеличивает скорость закачки;

· каждый файл проверяется на ошибки по мере скачивания;

· развитый чат, интеграция IRC-клиента

Разработчики исходного клиента прекратили его поддержку, однако сеть продолжает функционировать.

Наиболее популярные клиенты:

· eDonkey 2000;

· eMule;

· mlDonkey;

· Shareaza;

Сводная таблица №2

eDonkey 2000 eMule mlDonkey Shareaza
Бесплатный

+

+

+

+

Открытые исходные тексты

-

+

+

+

Windows

+

+

+

+

Linux

+

-

+

-

Mac OS X

+

-

+

-

Русский язык интерфейса

+

+

-

+

Шифрование соединений

-

-

-

-

Веб-интерфейс

-

+

-

+

Предварительный просмотр загружаемого медиа

+

+

-

-

Ограничение скорости передачи данных

+

+

+

-

Поддержка приоритетов

+

+

+

+

Наличие чата

+

+

+

+

IRC-клиент

+

+

-

+

Планировщик

+

+

+

+

Автоматическое обновление продукта

-

-

-

-

Direct Connect

Direct Connect — это децентрализованная пиринговая файлообменная сеть, построена по тому же принципу что и, например, eDonkey, Kazaa, Napster в основе работы которой лежит проприетарный протокол, разработанный фирмой NeoModus. Официальной спецификации протокола не существует.

Принцип работы:

· соединение с сетью Direct Connect обеспечивает специальная программа-клиент, устанавливающая связь с хабом — сервером, расположенный в сети Direct Connect, по умолчанию используется порт 411.

Клиентская программа устанавливает соединение к одному или нескольким хабам по протоколу TCP, при этом хабы не связаны друг с другом. Адрес хаб представляется в следующем виде: dchub://example.com [:411], где 411 – используемый порт.

· клиент подключаясь к серверу, посылает приветствие и свои данные, сервер аутенфицирует клиента – устанавливается соединение с сервером, который присылает список пользователей находящихся в данный момент на хабе, и их некоторые данные, например размер расшаренного контента, и т.п.

· порт 412 используется для соединения между клиентами, если данный порт 411, 412 и 413 будут заняты, то будет использоваться порт 414. Соединение устанавливается напрямую между клиентам минуя хаб. Подключение к пользователю и загрузка файлов базируется вокруг понятия "слотов" (число открытых позиций для работы). Эти слоты обозначают число людей, которым позволяют загрузить файл от пользователя в любой момент. Слотами управляет клиент. Если соединение с другим клиентом установлено, то для загрузки файла клиент передает ему сообщение, содержащее имя искомого файла, номер открытого порта и IP адрес клиента.

· поиск ведется по протоколу UDP, сравнение и идентификация файла выполняется не только по названию, но и по контрольной сумме(хэш-код TTH (Tiger Tree Hashing)). TTH используется для проверки целостность данных.

Используемые порты: TCP: 411 - это стандартный порт на котором работают большиство хабов.

TCP: 1025-32000 DC будет использовать любой порт в этом радиусе для исходящего трафика, поиска или передачи файлов, если он не указан в настройках соединения.

UDP: 1025-32000 DC будет использовать любой порт в этом радиусе для входящего трафика, поиска или передачи файлов, если он не указан в настройках соединения.

Стандарт: 11469/11469 TCP/UDP