Файлообменые локальные сети
Курсовая работа, 07 Ноября 2012, автор: пользователь скрыл имя
Краткое описание
Необходимость иметь доступ к огромному количеству информации, лежащей на других компьютерах, сначала породила локальные сети. Это помогло на некоторое время, но объединить таким образом большое количество компьютеров оказалось невозможно. Возможность же доступа к файлам, возможно имеющихся у кого-то ещё, была очень заманчива. Поэтому была предложена система, позволяющая принимать и передавать файлы с каждого компьютера, с которым есть связь и на котором имеется определенное программное обеспечение. Такие системы получили название п2п (p2p) или пиринговых (peer-to-peer) сетей.
Содержание работы
Введение
1. Типы организации файлообменных сетей.
1.1 Централизованные сети
1.2 Децентрализованные сети
1.3 Частично децентрализованные (гибридные) сети
2. Принципы работы файлообменых сетей.
3 Известные децентрализованные и гибридные файлообменные сети
Заключение
Содержимое работы - 1 файл
Курсовик.doc
— 337.00 Кб (Скачать файл)С массовым внедрением в DC-клиенты технологии DHT необходимость в хабах может отпасть.
Хаблист — специальный сервер, собирающий и хранящий информацию об активных хабах. Во многих клиентах есть встроенная возможность импорта списка хабов с хаблиста. Также многие хаблисты ведут статистику и позволяют просматривать её через браузер.
Обычно в ней указывается адрес и порт хаба.
Указывается в виде:
dchub://[ IP или Домен хаба]:[ порт хаба ]
Если хаб защищён SSL, ссылка начинается на nmdcs://
Вид ссылки на пользователя хаба или папку пользователя хаба такой:
dchub://[ имя пользователя ]@[ IP или Домен хаба ]:[ порт хаба ]/[путь к файлу]/[имя файла]
После клика по такой ссылке клиент не только
соединится с хабом, но и также скачает файл-лист пользователя, указанного
в ссылке, и выделит в нём файл, путь и имя
которого также указаны в ссылке.
Данный вид ссылки на файл может применяться, когда невозможно использовать magnet-ссылку, так как содержимое файла может измениться либо файл ещё не создан.
Отличия от других P2P-систем
Отличия от некоторых P2P-систем, построенных на других протоколах (eDonkey, Gnutella и Gnutella2):
Обусловленные структурой сети
- Развитый многопользовательский чат
- Сервер сети (хаб) может быть посвящён определённой теме (например, музыке конкретного направления), что позволяет легко находить пользователей с требуемой тематикой файлов
- Присутствие привилегированных пользователей — операторов, обладающих расширенным набором возможностей управления хабом, в частности, следящих за соблюдением пользователями правил чата и файлообмена
Просто зависящие от клиента
- Возможность скачивать целые директории
- Результаты поиска не только по названиям файлов, но и по директориям
- Ограничения на минимальное количество расшаренного материала (по объёму)
- Поддержка скриптов с потенциально безграничными возможностями как на клиентской стороне, так и на стороне хаба (верно не для всяких хабов и клиентов)
- Возможность получить список файлов пользователя в виде древовидной структуры каталогов
На практике протокол DirectConnect имеет специфические проблемы, отчасти мешающие эффективному файлообмену. Авторы клиента DC++ разработали для их решения принципиально новый протокол, названный Advanced Direct Connect (ADC), цель которого — повышение надёжности, эффективности и безопасности файлообменной сети. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0 [3] Развитие протокола прекращено.
BitTorrent
Протокол BitTorrent – пиринговый сетевой
протокол обмена данными, созданный
Брэмом Коэном. Протокол впервые представлен
общественности 2 июля 2001 года, когда
программист Брэм Коэн опубликовал
его первую реализацию на языке Python. Принципиальное
отличие BitTorrent сетей от других пиринговых
сетей: направленность на распространение
крупных файлов и частично децентрализованная
структура сети.
В службе Napster (до ее закрытия) использовалось
централизованное управление для получения
списка подключенных компьютеров и их
списка предоставляемых файлов, но так
как обмен файлами происходил непосредственно
без участия центрального сервера данная
сеть также являлась peer-to-peer сетью. В сетях
FastTrack и eDonkey подобных серверов нет, и архитектура
сети предполагает максимальную децентрализацию.
^
Принцип работы:
-
Для инициализации компьютера в BitTorrent сети клиент обращается к серверу, так назваемому трекеру(tracker), который предоставляет информацию о доступных для скачивания файлах, а также выводит статистическую и маршрутную информацию об узлах сети. Для соединения клиента с трекером используется протокол TCP. Входящий порт трекера: 6969. -
Для того чтобы опубликовать файл, программа разделяет его на части и создает файл метаданных с расширением .torrent, содержащий информацию об имени файла, его размере и тд, хэш-коды сегментов (контрольные суммы, по умолчанию размером 256 КВ) и URL трекера. Первый узел, опубликовавший файл, называется распространителем (seedеr). -
Для того чтобы получить искомый файл, клиент должен загрузить набор данных с расширением .torrent – файл метаданных. Перед началом скачивания клиентская программа подсоединяется к серверу по протоколу TCP, сообщает ему хеш-сумму запрашиваемого файла и свой адрес, в ответ клиент получает от сервера адреса других клиентов сети, раздающих или скачивающих искомый файл. Клиентская программа в процессе получения информации периодически информирует сервер о ходе процесса скачивания, а также получает обновлённый список адресов. -
Клиенты в сети устанавливают соединение по протоколу TCP (входящие порты клиентов: 6881—6889), между клиентами происходит обмен сегментами файлов, при этом трекер в данном процессе не участвует, сервер регулярно обновляет информацию о клиентах участвующих в обмене информацией, и другую статистическую информацию. Для копирования сегмента, клиент посылает запрос и в случае, если второй клиент готов передавать сегмент, то первый клиент получает этот сегмент. Клиентская программа выполняет проверку контрольной суммы сегмента и оповещает всех присоединённых пиров о наличии у него данного сегмента. Клиент контролирует целостность каждого сегмента. Для этого он использует контрольные суммы (хэш-суммы SHA1 - Secure Hash Algorithm 1 — алгоритм криптографического хеширования, описанный в RFC 3174.). Данная функция препятствует возникновению в сети битых сегментов и как следствие поврежденных файлов. -
Клиенты периодически информируют трекер об изменениях в состоянии закачек и обновляют списки IP-адресов.
Рис.3 Принцип работы BitTorrent
Более подробная информация - в спецификации
протокола.
^
Архитектура сети:
Архитектура BitTorrent предполагает пиринговый
обмен с использованием центрального
tracker-сервера для учета
-
IP-адреса, -
входящие порты клиентов, -
хеш-суммы, предназначенные для однозначной идентификации объектов.
В соответствии со стандартом имена
файлов на трекере не хранятся, по хеш-суммам
узнать имя файла нельзя. На практике
во многих случаях сервер кроме своей
основной функции выполняет также функцию
веб-сервера. В этом случае трекер хранит
файлы метаданных, а также описания распространяемых
файлов, статистику закачек, текущее количество
подключённых пиров и пр.
При копировании сегментов файла с компьютера
первоначального владельца другими клиентами,
пользователи получают возможность копировать
фрагменты этого файла у пользователей
уже скачавших его. В то же время протокол
BitTorrent требует фиксирования каждой такой
загрузки на tracker-сервере, даже если сервер
распространителя в транзакции не участвует.
Архитектура BitTorrent не дает возможности
определить число клиентов, участвующих
в пиринговой сети, так как о количестве
загрузок определенного файла может знать
только владелец tracker-сервера.
В новых версиях протокола были разработаны
бестрекерные (trackerless) системы. В основе
работы таких лежит протокол Kademlia. В бестрекерные системах
сервер доступен децентрализовано, в форме распределённой
хеш-таблицы на клиентах.
^
Главные особенности BitTorrent сетей по сравнению с другими P2P сетями:
-
самая высокая скорость работы по сравнению с другими пиринговыми сетями и отсутствие очередей, практически моментальный старт закачек; -
файл разбивается на небольшие сегменты, которые закачиваются по отдельности; -
возможность просмотра детальной информации о скачиваемом файле (например, для музыкального альбома – это информация о битрейте, треклист, лог-файл программы риппера, обложка), благодаря информационным сайтам, на которых выкладываются торренты; -
возможность закачки файлов по частям; -
раздача файлов происходит непосредственно между пользователями, сервера лишь координируют процесс соединения и передачи файлов; -
после окончания закачки сегменты сразу же доступны для копирования другим клиентам; -
использование хэш-сумм позволяет контролировать целостность каждого сегмента.
^
Наиболее популярные торрент-клиенты:
-
µTorrent; -
BitComet; -
Anatomic P2P; -
BitSpirit;
* Частично децентрализованные (гибридные) сети.
Файлообменники
второго поколения . Сочетая скорость
централизованных сетей и
eDonkey2000
Сеть EDonkey2000(eDonkey, eD2k) – пиринговая
файлообменная сеть, появившаяся
в 2000 году. Базируется на основе сетевого
протокола прикладного уровня MFTP(Multisource File Transfer Protocol).
В MFTP один и тот же файл запрашивается
одновременно у нескольких источников,
позволяя добиться более эффективного
использования пропускной способности
канала и снизить последствия пропадания
источников. Одной из ключевых особенностей
MFTP является идентификация файлов не по
имени, а по содержимому, путём подсчитывания
контрольных сумм (хэш - функция MD4, описанная
в RFC 1186). Этот принцип гарантирует надежность
идентификации файла независимо от его
имени, а также контрольные суммы позволяют
контролировать целостность получаемых
данных в EDonkey2000 сетях, аналогично BitTorrent
сетям.
^
Принцип работы:
-
Для инициализации узла каждый клиент обращается к серверу. При этом сообщая серверу, какие файлы он совместно использует. Каждый сервер в сети содержит и периодически обновляет список файлов всех подключенных к нему клиентов. Информация о файлов в сети размещается клиентом на различных серверах, и представляется в виде ed2k-ссылок, в которых используется уникальный ID ресурса. -
Клиент посылает запрос поиска его главному серверу через протокол UDP. Все доступные в сети файлы проверяются сервером и он возвращает клиенту список также через протокол UDP. -
Для загрузки файла сервер создает список клиентов, имеющих или скачивающих запрашиваемый файл или его часть. Затем сервер опрашивает другие, известные ему, серверы на наличие на них клиентов с искомым файлом. При обнаружении клиентов с искомым файлом производится опрос каждого клиента относительно частей данного файла. Данный процесс происходит до тех пор, пока не будет доступен (собран) файл целиком.
Диаграмма 1. Скачивание файла в сети
EDonkey2000
Серверы периодически устанавливают соединение
друг с другом. Во время этой связи сервер,
объявляя о своём существовании, и отсылает
список известных ему серверов. В результате
получается что серверы таким образом
поддерживают списки остальных активных
серверов. При соединении клиента с сервером,
сервер может предоставить клиенту список
всех известных ему серверов.
Более подробная информация - в спецификации
протокола.
^
Архитектура сети:
eDonkey2000 - это гибридная сеть, и одно из главных её
достоинств состоит в том, что отключение
одного или даже нескольких входящих в
ее состав серверов на работу сети практически
не влияет. На сервере файлы не хранятся,
«индексатор» анализирует подключенные
к нему компьютеры на предмет наличия
доступных данных и сообщает о результатах
анализа пользователям и другим серверам,
которые передают информацию по цепочке.
Один из главных недостатков сети заключается
в том что: устаревший протокол, не позволяет
грамотно распределять закачку с различных
клиентов и разгружать начальные источники.
Каждому вновь подключившемуся клиенту
сервер присваивает рейтинг, влияющий
на позицию в очереди на закачку нужного
файла. На этот рейтинг влияет количество
розданного контента, соответственно,
новый пользователь имеет самый низкий
приоритет и начнет скачивание в последнюю
очередь.
^
Особенности eDonkey 2000 сетей по сравнению с другими P2P сетями:
-
Клиентские программы способны использовать несколько сетей, для создания одной надежной сети (ED2K, Source Exchange, Kad); -
поиск пользователей, независимо от того, к какому серверу они подключены; -
система приоритетов и рейтингов увеличивает скорость закачки; -
каждый файл проверяется на ошибки по мере скачивания; -
развитый чат, интеграция IRC-клиента
Разработчики исходного клиента
прекратили его поддержку, однако сеть
продолжает функционировать.
^
Наиболее популярные клиенты:
-
eDonkey 2000; -
eMule; -
mlDonkey; -
Shareaza;