Министерство образования Российской Федерации
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Кафедра ИКТ
Курсовая работа
по дисциплине:
«Сети ЭВМ и телекоммуникации»
на тему: «P2P сети».
Выполнила:
Студентка группы С-64
Гришина О.
Проверил:
Орлов П.
Москва 2009
Оглавление
Преимущества пиринговых сетей: 5
Недостатки пиринговых сетей: 5
Стандартизация в области P2P. 5
Распределенные вычисления Р2Р. 19
Применение распределенных вычислений. 20
Проекты распределенных вычислений: 21
ПО для распределенных вычислений. 22
Список использованной литературы: 30
Цель работы: изучение принципа функционирования P2P-сетей, анализ существующих топологий сетей, алгоритмов работы, протоколов и клиентских программ, основных возможностей предоставляемых P2P-сетями, выявление достоинств и недостатков.
Теоретическая часть:
1. Общее описание P2P-сетей. Принцип работы. Описание существующих топологий. Сферы применения. Преимущества и недостатки P2P-сетей.
2. Обмен файлами, распределенные вычисления. Особенности построения P2P-сетей в зависимости от сферы деятельности, в которой они применяются. Алгоритмы функционирования.
Программные средства:
1. Обзор популярных протоколов для обмена файлами. Сравнительный анализ.
2. Обзор популярных клиентских программ для обмена файлами. Сравнительный анализ.
Практическая часть:
1. Установка и настройка bitTorrent-трекера.
К Р2Р относятся технологии, предоставляющие компьютерам в сети равноправные возможности обмена различными ресурсами (в том числе и вычислительными). Классическая архитектура - тип сети, в которой все рабочие станции имеют равные возможности и права. Для решения задачи создается одноранговая (peer-to-peer) вычислительная среда, которая позволяет отдельным элементам сети взаимодействовать без помощи серверов. Каждый участвующий компьютер вносит свой вклад в виде файлов, дискового пространства, процессорного времени. «P2P — это технология построения распределенной сети, где каждый узел может одновременно выступать как в роли клиента (получателя информации), так и в роли сервера (поставщика информации)». P2P сеть (от англ. peer-to-peer, децентрализованная или пиринговая) состоит из равноправных узлов, каждый из которых связан с некоторым подмножеством узлов сети.
Информация между узлами в сети, которые на данный момент могут быть не связаны непосредственно друг с другом, передается по принципу, схожему со своеобразной эстафетой — от одного узла к другому узлу, также передача информации может происходить в результате установления временного прямого соединения между узлами. Вся информация о маршрутизации и авторизации сообщений, передаваемых от узла к узлу, хранится на этих же самых отдельных узлах, а не на одном выделенном сервере. Такая организация, в отличие от клиент-серверной, позволяет сети при любом количестве узлов и их сочетании сохранять свою работоспособность.
Централизованная архитектура «клиент-сервер» подразумевает, что сеть зависит от центральных узлов (серверов), обеспечивающих подключенные к сети терминалы (т.е. клиентов) необходимыми сервисами. В этой архитектуре ключевая роль отводится серверам, которые определяют сеть независимо от наличия клиентов. Очевидно, что рост количества клиентов сети типа «клиент–сервер» приводит к росту нагрузок на серверную часть. Таким образом, на определенном уровне развития сети она может оказаться перегруженной. Главным преимуществом такой системы является ее простота. Однако стабильность и надежность таких сетей существенно ниже, чем у пиринговых.
Децентрализованные системы, «чистые P2P сети», примером может послужить сеть Gnutella, представляют собой прямую противоположностью централизованных систем.
Гибридная топология: децентрализованная + централизованная (частично децентрализованная) – в сетях такого типа существуют сервера, основной задачей которых является координации работы, поиск и предоставления информации о существующих машинах сети и их статусе. Частично децентрализованные сети совмещают в себе качества централизованных сетей и надёжность децентрализованных (например сеть не теряет своей работоспособности при возникновении неполадок с одним или несколькими серверами). Примером гибридных файлообменных сетей могут служить: EDonkey и BitTorrent сети.
Рис.1 Топология сетей
· скорость обмена информацией;
· Устойчивость сети к различным сбоям, в том числе устойчивость к внетехнологическому вмешательству;
· масштабируемость.
P2P — это не только сети, но еще и сетевой протокол, обеспечивающий возможность создания и функционирования сети равноправных узлов, и их взаимодействия. Множество узлов, объединенных в единую систему и взаимодействующих в соответствии с протоколом P2P, образуют пиринговую сеть. Для реализации протокола P2P используются клиентские программы, обеспечивающие функционирование как отдельных узлов, так и всей пиринговой сети.
P2P относятся к прикладному уровню сетевых протоколов и являются наложенной сетью, которая использует транспортные протоколы стека TCP/IP — TCP или UDP. Протоколу P2P посвящено несколько основополагающих документов сети Интернет — RFC (в частности, последний датируется 2008 годом — RFC 5128 State of Peer-to-Peer (P2P) Communication across Network Address Translators).
В настоящее время при реализации пиринговых сетей используются самые различные методологии и подходы. В частности, компания Microsoft разработала протоколы для P2P-сетей Scribe и Pastry. Поддержка протокола PNRP (Peer Name Resolution Protocol), также относящегося к P2P-системам, была включена в состав Windows Vista.
Одну из удачных попыток стандартизации протоколов P2P предприняла компания Sun Microsystems в рамках проекта JXTA. Этот проект реализуется с целью унифицированного создания P2P-сетей для различных платформ. Цель проекта JXTA — разработка типовых инфраструктурных решений и способов их использования при создании P2P-приложений для работы в неоднородных средах.
В рамках проекта JXTA определено шесть протоколов, на основе которых могут создаваться прикладные системы:
· Peer Discovery Protocol (PDP). Узлы пользуются данным протоколом для поиска всех открытых JXTA-ресурсов. Низкоуровневый протокол PDP поддерживает базовые механизмы поиска. Любые прикладные системы могут включать собственные высокоуровневые механизмы поиска, которые реализованы поверх PDP протокола.
· Peer Resolver Protocol (PRP). Этот протокол стандартизирует формат запросов на доступ к ресурсам и сервисам. При реализации этого протокола с узла может быть послан запрос и получен на него ответ.
· Peer Information Protocol (PIP). Данный протокол применяется для определения состояния узла в сети JXTA. Узел, получающий PIP-сообщение, может в полной или сокращенной форме переслать ответ о своем состоянии либо проигнорировать это сообщение.
· Peer Membership Protocol (PMP). Узлы используют этот протокол для подключения и выхода из группы.
· Pipe Binding Protocol (PBP). В JXTA узел получает доступ к сервису через канал (pipe). С помощью PBP узел может создать новый канал для доступа к сервису или работать через уже существующий.
· Endpoint Routing Protocol (ERP). Используя этот протокол, узел может пересылать запросы к маршрутизаторам других узлов с целью определения маршрутов при отправке сообщений.
Наиболее распространенными областями применения P2P технологий являются следующие направления:
· Обмен файлами – так называемые файлообменные сети. P2P файлообменные сети являются альтернативой устаревшим FTP-архивам, не соответствующим современным требованиям. Более подробно файлообменные сети рассмотрены далее.
· Распределенные вычисления. Одно из наиболее перспективных направлений развития, т.к. применение P2P технологий позволяют за сравнительно короткие сроки решать такие задачи, вычисление которых на суперкомпьютерах заняло бы десятки, а то и сотни лет. О данной области применения P2P технологии также более подробно рассказано далее.
· Обмен сообщениями. Jabber, ICQ.
· P2P-телефония. Skype.
· Сети групповой работы. Groove Network (защищенное пространство для коммуникаций), OpenCola (поиск информации и обмен ссылками).
· Параллельное программирование.
· Резервное копирование данных.
· P2P телевидение. Примером может служить проект P2P-Next, занимающийся разработкой пирингового телевидения пригодного для широковещательной трансляции телевизионных передач.
Файлообменная сеть — одна из наиболее распространенных P2P-сетей, предназначенная для для совместного использования файлов. В основе технологии P2P лежит принцип децентрализации. Идея распределенных равноправных узлов является альтернативой подходу клиент—сервер.