Смекни!
smekni.com

работа по дисциплине: «Сети ЭВМ и телекоммуникации» на тему: «P2P сети» (стр. 5 из 6)

  • Ping – запрос к определенному хосту с целью объявить о себе;
  • Pong – ответ на сообщение Ping, содержащий IP-адрес, порт запрошенного хоста, а также количество и размеры разделяемых файлов;
  • Query – поисковый запрос. В него входят строка поиска и минимальные скоростные требования к отвечающему хосту;
  • Query Hits – ответ на запрос Query, включает IP-адрес, порт и скорость передачи отвечающего хоста, количество найденных файлов и набор их индексов.

Более подробная информация – в спецификация Gnutella.

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

Gnutella — полностью децентрализованная файлообменная сеть в рамках Интернета, потомок Napster, отличается принципиальным отсутствием центрального сервера. Сеть формируется, когда один пользователь Gnutella соединяется с другим пользователем, после чего они могут обмениваться доступной информацией. Тот пользователь, в свою очередь, соединяются со следующими, в чего результате может получиться сеть с миллиардами узлов. В основе сети Gnutella лежит понятие универсального терминала или сервента (объединение слов "сервер" и "клиент"). Фактически в системе Gnutella был осуществлен переход от централизованной архитектуры сети Р2Р к полностью распределенной системе, что в большей степени соответствует идеологии сети Р2Р.

В Gnutella, Ultrapeer поддерживают небольшое количество связей с листьями и большое количество связей с другими узлами сети (c ultrapeer и peer). В Gnutella2, наоборот, Hub поддерживает связь с большим количеством листьев, и малое количество связей с другими узлами (hub). Такое различие в топологиях вызвано тем, что различные методы поиска имеют различные оптимальные топологии сети.

Популярные клиенты:

  • Shareaza;
  • LimeWire;
  • Cabos;
  • mlDonkey;

Сводная таблица №4

LimeWire Cabos mlDonkey Shareaza
Бесплатный

+

+

+

+

Открытые исходные тексты

+

+

+

+

Windows

+

+

+

+

Linux

+

-

+

-

Mac OS X

+

+

+

-

Русский язык интерфейса

-

-

-

+

Шифрование соединений

-

-

-

-

Веб-интерфейс

-

-

-

+

Предварительный просмотр загружаемого медиа

-

-

-

-

Ограничение скорости передачи данных

+

-

+

-

Поддержка приоритетов

-

+

+

+

Наличие чата

+

-

+

+

IRC-клиент

-

-

-

+

Планировщик

-

-

+

+

Автоматическое обновление продукта

+

-

-

-

Наличие встроенного аудиоплеера

+

-

-

-

Распределенные вычисления Р2Р.

Распределённые вычисления — это частный случай параллельных вычислений, представляющий собой способ решения трудоёмких вычислительных задач, разделенных на части, с использованием двух и более компьютеров, объединённых в сеть, для решения частей этих задач. Необходимо, чтобы решаемая задача была разделена на подзадачи, вычисляемые параллельно (сегментирована).

При решении крупных вычислительных задач корпораций и исследовательских центров возникают проблемы обработки больших массивов данных. Идея P2P заключается в решении таких задач путем максимального распараллеливания вычислений среди десятков/сотен тысяч равноправных ПК по всему Интернету и использовании времени простоя пользователей сети.
Раньше обработка результатов проводимых исследований напрямую зависела от имеющихся в научных центрах, компьютеров, т.е. их мощностей. Сейчас на основе распределенных вычислений создается "виртуальный суперкомпьютер", в котором могут участвовать сотни тысяч ПК по всему миру.

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

В большинстве случаев, чтобы принять участие в проекте, владелец ПК должен сначала переписать небольшую программу с web-страницы проекта. После запуска скопированного файла производится установка программы, и она автоматически начинает работу, а вычисления выполняются в те моменты, когда есть свободные вычислительные ресурсы. Программу можно сравнить с хранителем экрана (скринсейвером), который работает в фоновом режиме и не требует вмешательства пользователя. После того как обработка порции данных завершается, при наличии соединения с Интернетом программа посылает результаты расчетов авторам проекта, а затем запрашивает следующую порцию данных для дальнейшей работы.

  1. Компьютер пользователя высылает серверу запрос на список инструкций. Высылаемые сервером инструкции напрямую зависят от возможностей, предоставляемых компьютером.
  2. Скачиваются программа и данные для расчетов, затем при наличии необходимых свободных ресурсов компьютера, проводятся вычисления, и создается файл с выходными расчетами.
  3. Результаты передаются на главный сервер проекта и запрашиваются данные для нового расчета. Затем цикл повторяется.

Рис.4 Распределенные вычисления

Применение распределенных вычислений.

Помимо решения крупных вычислительных задач корпорациями и исследовательскими центрами, распределенные вычисления используются и внутри корпоративных сетей. По оценкам исследователей, в большинстве компаний вычислительные мощности и дисковая память используются менее чем на 25%.

Объединенная вычислительная система может легко превзойти по мощности обычные компьютеры уровня предприятия. Результат - более быстрое решение задач.

Распределенные вычислительные системы стоят меньше, чем выделенные компьютеры. Это выгодно для всех типов организаций, независимо от характера вычислительной инфраструктуры.

Кроме того внутри корпорации проще решаются вопросы безопасности.

Например компания Intel использует тысячи компьютеров своих работников в ночное время, для того чтобы при моделирования микросхем проводить различные сложные вычисления, требующие огромных вычислительных мощностей. Пакет NetBatch, разработанный компанией, позволяет ставить вычислительные задания в очередь и исполнять их на более чем 10тыс. рабочих станций компании в 25 странах.
Программное решение WebProc компании DataSynapse позволяет использовать простаивающие ПК для финансовых расчетов в банках(оценка финансовых рисков в инвестиционном банке и др.). Она работает незаметно для сотрудников компании, поскольку берет управление компьютерами на себя только тогда, когда они свободны. Если сотрудник компании возвращается к своему столу в момент, когда идут вычисления, WebProc немедленно прерывает вычислительную задачу и перенаправляет ее на другую свободную систему. WebProc способна использовать для выполнения ресурсоемких вычислительных задач любые системы, подключенные к корпоративной сети: стоечные серверы или высокопроизводительные настольные ПК.

Кроме того P2P расперделенные вычисления используются для контроль качества обслуживания (QoS). Это традиционно сложная задача, в особенности для Web-сайта, собирающего информацию со всего мира. Компании Entropia и Distributed Science построили глобальные компьютерные матрицы, состоящие из тысяч ПК, подключенных к Интернету по всему миру. В настоящее время эти глобальные распределенные вычислительные сети используются для оценки качества обслуживания сайтов с точки зрения конечных пользователей. Для этого отслеживаются времена отклика на тестовый запрос, запускаемый с разнообразных ПК, подключенных к различным провайдерам и размещенных в самых разных точках.

Проекты распределенных вычислений:

MD@home - российский проект распределенных вычислений. Официально стартовал 23 ноября 2002г. Цель проекта - изучение взаимовлияния аминокислот друг на друга в зависимости от положения в олигопептидах.

SETI@home – один из наиболее известных в мире проектов распределенных вычислений. Поиск радиосигналов от внеземных цивилизаций - поиск сигналов, которые можно было бы расценивать как признаки разумной жизни. Радиотелескоп "Аресибо"в Пуэрто-Рико сканирует космос. Компьютеры пользователей анализируют пакеты данных на наличие внеземных сигналов. Пользователи скачивают с сайта проекта программу - экранную заставку, эта программа присоединяется к решению общей задачи. Программа периодически передает результаты в центр и получает следующую порцию работы. Сервер, расположенный в Беркли(США) интегрирует результаты, собранные от миллионов участников программы. К весне 2003г. в проекте приняли участие свыше 4 млн. добровольцев. Вычисления, которые программа выполнила за 3 года, могли бы занять у одного компьютера 1 млн. лет.