Разработка пиринговой файлообменной сети для обмена файлами между пользователями
История создания пиринговых сетей, их назначение и основные преимущества. Принципы функционирования Bittorrent. Топология компьютерных сетей. Эталонные модели передачи данных. Файлообменные сети, построенные по принципу "клиент-сервер" и "клиент-клиент".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.02.2014 |
Размер файла | 574,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Для каждой раздачи создаётся файл метаданных с расширением. torrent, который содержит следующую информацию:
1. URL трекера;
2. Общую информацию о файлах (имя, длину и пр.) в данной раздаче;
3. Контрольные суммы (точнее, хеш-суммы SHA1) сегментов раздаваемых файлов;
4. Passkey пользователя, если он зарегистрирован на данном трекере. Длина ключа устанавливается трекером.
Так же может содержать:
1. Хеш-суммы файлов целиком;
2. Альтернативные источники, работающие не по протоколу BitTorrent.
Файл метаданных является словарем в bencode формате. Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание.
Перед началом скачивания клиент подсоединяется к трекеру по адресу, указанному в торрент-файле, сообщает ему свой адрес и хеш-сумму торрент-файла, на что в ответ клиент получает адреса других клиентов, скачивающих или раздающих этот же файл. Далее клиент периодически информирует трекер о ходе процесса и получает обновлённый список адресов. Этот процесс называется объявлением (announce).
Клиенты соединяются друг с другом и обмениваются сегментами файлов без непосредственного участия трекера, который лишь хранит информацию, полученную от подключенных к обмену клиентов, список самих клиентов и другую статистическую информацию. Для эффективной работы сети BitTorrent необходимо, чтобы как можно больше клиентов были способны принимать входящие соединения.
При соединении клиенты сразу обмениваются информацией об имеющихся у них сегментах. Клиент, желающий скачать сегмент (личер), посылает запрос и, если второй клиент готов отдавать, получает этот сегмент. После этого клиент проверяет контрольную сумму сегмента.
Если она совпала с той, что записана в торрент-файле, то сегмент считается успешно скачанным, и клиент оповещает всех присоединенных пиров о наличии у него этого сегмента. Если же контрольные суммы различаются, то сегмент начинает скачиваться заново.
Таким образом, объем служебной информации (размер торрент-файла и размер сообщений со списком сегментов) напрямую зависит от количества, а значит, и размера сегментов. Поэтому при выборе сегмента необходимо соблюдать баланс: с одной стороны, при большом размере сегмента объем служебной информации будет меньше, но в случае ошибки проверки контрольной суммы придется скачивать еще раз больше информации. С другой стороны, при малом размере ошибки не так критичны, так как необходимо заново скачать меньший объём, но зато размер торрент-файла и сообщений об имеющихся сегментах становится больше.
Когда скачивание почти завершено, клиент входит в особый режим, называемый end game. В этом режиме он запрашивает все оставшиеся сегменты у всех подключенных пиров, что позволяет избежать замедления или полного "зависания" почти завершенной закачки из-за нескольких медленных клиентов.
Спецификация протокола не определяет, когда именно клиент должен войти в режим end game, однако существует набор общепринятых практик. Некоторые клиенты входят в этот режим, когда не осталось незапрошенных блоков, другие - пока количество оставшихся блоков меньше количества передающихся и не больше 20. Существует негласное мнение, что лучше поддерживать количество ожидаемых блоков низким (1 или 2) для минимизации избыточности, и что при случайном запрашивании меньший шанс получить дубликаты одного и того же блока.
Недостатки и ограничения:
1. Недоступность раздачи - если нет раздающих пользователей (сидов);
2. Отсутствие анонимности:
2.1 Пользователи незащищенных систем и клиентов с известными уязвимостями могут быть подвергнуты атаке;
2.2 Возможно узнать адреса пользователей, обменивающихся контрафактным контентом и подать на них в суд;
3. Проблема личеров - клиентов, которые раздают гораздо меньше, чем скачивают. Это ведет к падению производительности;
4. Проблема читеров - пользователей, модифицирующих информацию о количестве скачанных\переданных данных;
5. Персонализация - протокол не поддерживает ников, чата, просмотра списка файлов пользователя.
Размещено на Allbest.ru
Подобные документы
Варианты топологии одноранговой вычислительной сети, принцип работы распределенных пиринговых сетей. Использование в крупных сетях модели "клиент-сервер". Характеристика операционных систем с сетевыми функциями, многопроцессорная обработка информации.
творческая работа [51,8 K], добавлен 26.12.2011Архитектура сети: одноранговая, клиент - сервер, терминал - главный компьютер. Разработка конструктора электронных моделей компьютерных сетей с функциями проектирования сети и её диагностики. Требования к проектированию структурированных кабельных систем.
курсовая работа [1,6 M], добавлен 19.11.2010Исследование понятия сети, группы из двух или более компьютеров, которые предоставляют совместный доступ к своим аппаратным или программным ресурсам. Изучение основных видов локальных сетей. Анализ предназначения сервера. Топология сетей клиент-сервер.
презентация [115,2 K], добавлен 27.08.2013Плюсы и минусы использования компьютерных сетей, их типы: локальные, корпоративные, муниципальные и глобальные. Технология "клиент-сервер". Схема (топология) "общая шина", "звезда". Аппаратура для построения сетей: адаптеры, хабы, кабели, свитчи.
презентация [708,7 K], добавлен 22.11.2015Общее понятие файлообменной сети. Основные принципы работы файлообмена, его широкие возможности. Типы организации файлообменных сетей. Функционирование частично децентрализованных (гибридных) сетей. Устройство и особенности одноранговой сети, P2P.
презентация [685,6 K], добавлен 28.11.2012Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.
курсовая работа [544,6 K], добавлен 02.06.2014Топология компьютерных сетей. Методы доступа к несущей в компьютерных сетях. Среды передачи данных, их характеристики. Структурная модель OSI, её уровни. Протокол IP, принципы маршрутизации пакетов. Физическая топология сети. Определение класса подсети.
контрольная работа [101,8 K], добавлен 14.01.2011Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.
курсовая работа [36,0 K], добавлен 18.10.2008Классификация компьютерных сетей в технологическом аспекте. Устройство и принцип работы локальных и глобальных сетей. Сети с коммутацией каналов, сети операторов связи. Топологии компьютерных сетей: шина, звезда. Их основные преимущества и недостатки.
реферат [134,0 K], добавлен 21.10.2013Файловая и сетевая системы операционной системы Windows. Характеристика модели "клиент-сервер". Функциональные требования и архитектура программы, которая должна обеспечивать передачу файлов от клиента к серверу, сервера к клиенту, обмен сообщениями.
курсовая работа [1,4 M], добавлен 24.04.2013