Файлообменые локальные сети

Автор работы: Пользователь скрыл имя, 07 Ноября 2012 в 12:24, курсовая работа

Краткое описание

Необходимость иметь доступ к огромному количеству информации, лежащей на других компьютерах, сначала породила локальные сети. Это помогло на некоторое время, но объединить таким образом большое количество компьютеров оказалось невозможно. Возможность же доступа к файлам, возможно имеющихся у кого-то ещё, была очень заманчива. Поэтому была предложена система, позволяющая принимать и передавать файлы с каждого компьютера, с которым есть связь и на котором имеется определенное программное обеспечение. Такие системы получили название п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 подобных серверов нет, и архитектура сети предполагает максимальную децентрализацию.  
^

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

  1.  
    Для инициализации компьютера в BitTorrent сети клиент обращается к серверу, так назваемому трекеру(tracker), который предоставляет информацию о доступных для скачивания файлах, а также выводит статистическую и маршрутную информацию об узлах сети. Для соединения клиента с трекером используется протокол TCP. Входящий порт трекера: 6969.
  2.  
    Для того чтобы опубликовать файл, программа разделяет его на части и создает файл метаданных с расширением .torrent, содержащий информацию об имени файла, его размере и тд, хэш-коды сегментов (контрольные суммы, по умолчанию размером 256 КВ) и URL трекера. Первый узел, опубликовавший файл, называется распространителем (seedеr).
  3.  
    Для того чтобы получить искомый файл, клиент должен загрузить набор данных с расширением .torrent – файл метаданных. Перед началом скачивания клиентская программа подсоединяется к серверу по протоколу TCP, сообщает ему хеш-сумму запрашиваемого файла и свой адрес, в ответ клиент получает от сервера адреса других клиентов сети, раздающих или скачивающих искомый файл. Клиентская программа в процессе получения информации периодически информирует сервер о ходе процесса скачивания, а также получает обновлённый список адресов.
  4.  
    Клиенты в сети устанавливают соединение по протоколу TCP (входящие порты клиентов: 6881—6889), между клиентами происходит обмен сегментами файлов, при этом трекер в данном процессе не участвует, сервер регулярно обновляет информацию о клиентах участвующих в обмене информацией, и другую статистическую информацию. Для копирования сегмента, клиент посылает запрос и в случае, если второй клиент готов передавать сегмент, то первый клиент получает этот сегмент. Клиентская программа выполняет проверку контрольной суммы сегмента и оповещает всех присоединённых пиров о наличии у него данного сегмента. Клиент контролирует целостность каждого сегмента. Для этого он использует контрольные суммы (хэш-суммы SHA1 - Secure Hash Algorithm 1 — алгоритм криптографического хеширования, описанный в RFC 3174.). Данная функция препятствует возникновению в сети битых сегментов и как следствие поврежденных файлов.
  5.  
    Клиенты периодически информируют трекер об изменениях в состоянии закачек и обновляют списки IP-адресов.

 
 
 
Рис.3 Принцип работы BitTorrent 
 
Более подробная информация - в спецификации протокола. 
^

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

 
Архитектура BitTorrent предполагает пиринговый обмен с использованием центрального tracker-сервера для учета статистики. Трекер(tracker-сервер) — специализированный сервер, работающий по протоколу HTTP. На трекере хранятся следующая информация:

  •  
    IP-адреса,
  •  
    входящие порты клиентов,
  •  
    хеш-суммы, предназначенные для однозначной идентификации объектов.

 
В соответствии со стандартом имена  файлов на трекере не хранятся, по хеш-суммам узнать имя файла нельзя. На практике во многих случаях сервер кроме своей основной функции выполняет также функцию веб-сервера. В этом случае трекер хранит файлы метаданных, а также описания распространяемых файлов, статистику закачек, текущее количество подключённых пиров и пр. 
 
При копировании сегментов файла с компьютера первоначального владельца другими клиентами, пользователи получают возможность копировать фрагменты этого файла у пользователей уже скачавших его. В то же время протокол BitTorrent требует фиксирования каждой такой загрузки на tracker-сервере, даже если сервер распространителя в транзакции не участвует. 
Архитектура BitTorrent не дает возможности определить число клиентов, участвующих в пиринговой сети, так как о количестве загрузок определенного файла может знать только владелец tracker-сервера. 
 
В новых версиях протокола были разработаны бестрекерные (trackerless) системы. В основе работы таких лежит протокол Kademlia. В бестрекерные системах сервер доступен децентрализовано, в форме распределённой хеш-таблицы на клиентах. 
^

Главные особенности BitTorrent сетей по сравнению с другими P2P сетями:

  •  
    самая высокая скорость работы по сравнению с другими пиринговыми сетями и отсутствие очередей, практически моментальный старт закачек;
  •  
    файл разбивается на небольшие сегменты, которые закачиваются по отдельности;
  •  
    возможность просмотра детальной информации о скачиваемом файле (например, для музыкального альбома – это информация о битрейте, треклист, лог-файл программы риппера, обложка), благодаря информационным сайтам, на которых выкладываются торренты;
  •  
    возможность закачки файлов по частям;
  •  
    раздача файлов происходит непосредственно между пользователями, сервера лишь координируют процесс соединения и передачи файлов;
  •  
    после окончания закачки сегменты сразу же доступны для копирования другим клиентам;
  •  
    использование хэш-сумм позволяет контролировать целостность каждого сегмента.

^

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

  •  
    µTorrent;
  •  
    BitComet;
  •  
    Anatomic P2P;
  •  
    BitSpirit;

 

 

   * Частично  децентрализованные (гибридные) сети.

  Файлообменники  второго поколения . Сочетая скорость  централизованных сетей и надёжность  децентрализованных, используются  гибридные схемы, в которых  используются независимые индексационные сервера, постоянно синхронизирующие информацию между собой. Таким образом, при выходе из строя одного из них, сеть продолжает функционировать. К частично децентрализованным файлообменным сетям относятся eDonkey2000, OpenNap, Kazaa.

eDonkey2000

 
Сеть EDonkey2000(eDonkey, eD2k) – пиринговая файлообменная сеть, появившаяся  в 2000 году. Базируется на основе сетевого протокола прикладного уровня MFTP(Multisource File Transfer Protocol).  
 
В 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;

Информация о работе Файлообменые локальные сети