Разработка пиринговой файлообменной сети для обмена файлами между пользователями

История создания пиринговых сетей, их назначение и основные преимущества. Принципы функционирования 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.