Разработка пиринговой файлообменной сети для обмена файлами между пользователями
История создания пиринговых сетей, их назначение и основные преимущества. Принципы функционирования 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Основные объекты СУБД Microsoft Access. Формирование запросов на выборку. Основные протоколы обмена в компьютерных сетях. Использование и применение архитектуры клиент-сервер или файл-сервер. Основы реляционных БД. Наиболее известные модели данных.
курсовая работа [1,3 M], добавлен 13.01.2014Функции компьютерных сетей (хранение и обработка данных, доступ пользователей к данным и их передача). Основные показатели качества локальных сетей. Классификация компьютерных сетей, их главные компоненты. Топология сети, характеристика оборудования.
презентация [287,4 K], добавлен 01.04.2015Основные компоненты системы и управление ими. Распределенная система управления и человеко-машинный интерфейс. Инструментарий для создания OPC-серверов и OPC-клиентов. Техническое руководство для администраторов, обслуживающих OPC-клиент и веб-сервер.
дипломная работа [2,0 M], добавлен 20.10.2011Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.
курсовая работа [88,9 K], добавлен 11.04.2010Назначение локальных сетей как комплекса оборудования и программного обеспечения, их технические средства, топология. Организация передачи данных в сети. История развития глобальных сетей, появление Интернета. Программно-техническая организация Интернета.
реферат [40,8 K], добавлен 22.06.2014Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.
курсовая работа [191,5 K], добавлен 07.01.2015Характеристика разновидностей программной реализации чатов. Разработка программы клиент-серверного чата с возможность общения в локальной сети нескольких человек одновременно. Протокол взаимодействия клиента и сервера. Порядок работы с программой.
курсовая работа [530,7 K], добавлен 25.04.2015Назначение и классификация компьютерных сетей. Обобщенная структура компьютерной сети и характеристика процесса передачи данных. Управление взаимодействием устройств в сети. Типовые топологии и методы доступа локальных сетей. Работа в локальной сети.
реферат [1,8 M], добавлен 03.02.2009Компетентностный подход в обучении. Формирование реестра протоколов для обмена информацией. Логическое представление о работе локальной сети. Адресация в Интернет. Технология клиент-сервер. Программное обеспечение для создания электронного учебника.
дипломная работа [858,0 K], добавлен 10.02.2017Основная цель и модели сети. Принцип построения ее соединений. Технология клиент-сервер. Характеристика сетевых архитектур Ethernet, Token Ring, ArcNet: метод доступа, среда передачи, топология. Способы защиты информации. Права доступа к ресурсам сети.
презентация [269,0 K], добавлен 26.01.2015