Андреев Д. В., Казиева Г. С.

Алматинский Институт Энергетики Республика Казахстан, г. Алматы

Некоторые вопросы использования технологии пиринговых сетей в образовании.

 

На сегодняшний день, наиболее распространенной моделью предоставления тематических и других услуг в сети Интернет является модель Client/Server. В Client/Server архитектуре, клиенты опрашивают сервер, и сервер возвращает необходимые данные и производит нужные операции над ними. На сегодняшний день существуют разные сервера в сети Интернет: Web сервера, Mail сервера, FTP и т.д. Архитектура Client/Server — это пример централизованной архитектуры, где вся сеть зависит от центральных узлов, называемых серверами, предназначенных для обеспечения необходимых сервисов. Без серверов такая архитектура не имеет никакого смысла. Независимо от наличия в сети клиентов, сеть будет существовать исключительно при условии существования серверов.

Peer-to-peer (P2P или пиринговые) технологии являются альтернативой описанной выше системы. Популярность, достигнутая с помощью таких систем как Napster, Edonkey, Emule, Kazaa, Skype и список таких программ можно продолжать и продолжать, подтверждая потенциал Peer-to-peer систем. В этой статье будет рассмотрена технология пиринговых сетей в целом , системы (или правильней говоря) программы обретшие популярность посредством этой технологии, а также конкретное применение в Казахстанском Интернет пространстве (KazNet) в целях образовательного процесса.

Подобно архитектуре Client/Server пиринговая сеть - это распределенная модель, но существует очень важная отличительная черта. В архитектуре Peer-to-peer не существует понятия клиента или сервера. Каждый объект в сети, называемого  PEER (англ. равный, такой же), имеет тот же статус, это означает, что этот объект может выполнять как функции клиента (отсылать запросы) так и сервера (получать ответы).

И хотя все peers имеют одинаковый статус, это не значит, что они должны иметь одинаковые физические возможности. P2P сеть может состоять из PEER с разными возможностями, начиная от мобильных устройств и заканчивая мэйнфреймами. Некоторые мобильные PEER могут и не поддерживать всех функциональных возможностей серверов, в силу ограничения их ресурсов (слабый процессор/небольшой объем памяти), однако сеть никак не ограничивает их.

Обе сетевые модели имеют свои преимущества и недостатки. Визуально можно наблюдать, что рост Client/Server системы (которая тем больше чем клиентов в нее добавлено) приводит к росту нагрузок на сервер. C каждым новым клиентом центральный узел слабеет. Таким образом, сеть может становиться перегруженной.

P2P сеть работает по другому сценарию. Каждый объект в сети, является активным, PEER предоставляет некоторые ресурсы в сети, такие как пространство для хранения данных и дополнительные такты процессора. Чем больше узлов в сети, тем больше производительность самой сети. Следовательно, по мере того как растет сеть, она становится мощнее. Также P2P отличается от Client/Server модели тем, что P2P система считается рабочей, если в ней есть хотя бы один активный peer. Система будет считаться неактивной, если ни один peer не активен.

Рассмотрим применение пиринговых технологий в сфере образования в Республике Казахстан. С помощью ниже описанных технологий мы смоделируем пиринговую сеть, которая позволит организовать системы видеоконференций между ВУЗами, а также создание сети для отдела электронной библиотеки. С  этими технологиями, появляется возможность реализации собственных проектов основанных на пиринговых сетях. Знания требуемые на начальном этапе формирования собственной Peer-To-Peer сети могут быть минимальными. При этом появляется возможность производить миграцию собственно уже работающих проектов основанных на модели Клиент - Сервер.

Первый продукт зарекомендовавший себя на рынке, это Skype. В настоящий момент эта система предоставляет услуги VoIP (IP телефонии). Программа была разработана корпорацией Skype Technologies  S.A., зарегистрированной в Люксембурге. Skype основан на технологии соединения равноправных узлов ЛВС (одноранговых узлов) методом peer-to-peer.  Вместо того, чтобы передавать все звонки через центральный сервер, Skype-клиент ищет и находит других Skype-клиентов, затем из этих связей строит сеть, которая может быть использована для того, чтобы находить других пользователей и устанавливать голосовые контакты с ними.  Из особенностей программного обеспечения можно отметить: бесплатные, неограниченные временем и расстоянием, звонки другим абонентам Skype; превосходное качество звука - лучше, чем в обычном телефоне; работа со всеми брандмауэрами, NAT и маршрутизаторами без необходимости дополнительного конфигурирования; список абонентов показывает вам доступность ваших друзей Skype для общения; все беседы зашифрованы от и до для максимальной секретности; конференцсвязь (до пяти пользователей одновременно); международная и междугородняя IP-телефония; передача текстовых сообщений между пользователями; голосовая почта; осуществление звонков на стационарные и мобильные телефоны по всему миру; прием входящих звонков из городской телефонной сети и присвоение программе городских телефонных номеров разных стран мира.

Одновременно с развитием собственной технологии передачи голоса через Интернет, компания Skype Technologies предлагает сторонним разработчикам использовать клиент Skype как среду передачи данных, посредством открытых интерфейсов, называемых Skype API.

Прикладной программный интерфейс Skype (API) позволяет внешним приложениям использовать функциональные свойствам Skype. В свою очередь, обращение к Skype API, работающего по принципу „реакции на текстовые сообщения“, требует, чтобы приложения были написаны на языке программирования C++. Это требование не позволило бы испольовать Skype API применительно к множеству внешних приложений, если бы не (предлагаемые на сегодня совершенно бесплатно!) дополнительные объекты, такие как Skype API COM Wrapper и SkypeX. Перечисленные объекты допускают использование внешних приложений, написанных на разных языках программирования, среди которых: Visual BASIC (VB) 6, Visual BASIC.NET, PHP, Java и Perl.

Skype API COM Wrapper и SkypeX (Рис. 1) являюся своего рода внешними оболочками оконноориентированной среды передачи сообщений Skype API (Windows Messaging Environment). Оболочки COM (также называемые „оболочками“, „связующими элементами“ или „промежуточным слоем“), основываясь на объектной модели программных компонент Microsoft, COM (Microsoft’s Component Object Model (COM)), обеспечивают отличную возможность объединения между собой функциональных свойств независимых программных продуктов.

Оболочка COM представляет собой объектно-ориентированный набор компонент, которые используют программисты в целях проектирования удобного и простого в использовании интерфейса. В данном случае совокупность этих COM объектов позволяет без особых усилий добиться совместимости Skype с продуктами MS Office, в частности, SharePoint и Internet Explorer; равно как и другими приложениями.

 

Рис. 1 Модульная схема взаимодействия со Skype API

 

Оболочки Skype API COM и SkypeX представляют еще большую полезность для разработчиков программного обеспечения, занимающихся совметимостью аппаратного обеспечения или программных приложений со Skype API: их использование позволяет с легкостью получать опытные образцы приложений на ранних этапах проектирования.

Учитывая, что возможности Skype API открывают доступ для создания собственных приложений можно описать систему видео конференций сформулированную выше. Этот продукт должен позволить обеспечить организацию дешёвых видео конференций между ВУЗами Республики.  Учитывая тот факт, что использование пиринговой технологии для передачи голоса оказалось революционным для отрасли VoIP можно утверждать, что и разработка приложения осуществляющего видео связь посредством Skype API может оказаться не менее продуктивной. Самый простой пример реализации предусматривает следующее (Рис. 2).

Определение программного обеспечения позволяющего использовать данные полученные с ВЕБ камеры. Возможности стандартной ВЕБ камеры предлагают съёмку видео с разрешением 300 килопикселей. Соответственно на выходе после сжатия формируется видео-поток не больше 96 Кбит/с. Далее после отправки сжатых данных к Skype клиенту данные сжимаются повторно и методом открытых API в зашифрованном виде передаются в сеть.

Рис.2 Схема реализации видео конференций посредством Skype.

 

Следовательно, на втором конце для передачи и приёма видео потока потребуется наличие аналогичного приложения для Skype. Беря во внимание тот факт, что Skype предоставляет услуги конференций предполагается что и видео конференции будут доступны для участников в количестве до пяти человек. А использование пиринговой технологии позволит осуществлять это при канале до 128 Кбит/с.

 

Вторым программным решением являются разработки компания Joltid, которое представляет собой ядро для создания собственных сервисов, основанных на технологии Peer-To-Peer. К тому же не зависимо от того, какого характера приложение будет создано оно войдёт в уже функционируемую сеть.

Образно пиринговую сеть по модели продуктов Joltid можно описать следующим образом.

 

Сервер Управления Сетью (NMS)

СуперУзел(SuperNode)

СуперУзел(SuperNode)

СуперУзел(SuperNode)

Клиент

Клиент

Клиент

Клиент

Клиент

Клиент

Клиент

Клиент

Клиент

Рис. 3  Структура взаимодействия сегментов пиринговой сети

 

В соответствии с приведённой схемой (Рис. 3) можно видеть, что во главе сети по-прежнему находится сервер NMS (Network Management Server - Сервер Управления Сетью). Но этот сегмент сети выполняет несколько другие задачи. Во первых он собирает статистику увеличения, регистрации и авторизации пользователей, затем он ведёт самых загружаемого трафика в сети и руководит его перенапрвлением или дублированием на более разгруженные супер-узлы (SuperNodes), а также он обрабатывает файлы отчётов ошибок с супер-узлов для последующих устранений заведомо известных проблем и ошибок (как например многократное обращение к узлу за одним и тем же файлом клиентом, уже обработавшим часть этого файла, но по какой-то причине потерявшем связь с ближайшим узлом). Одной из самых важных задач NMS является автоматическое дублирование контента с одних узлов на другие для поддержания работоспособности пиринговой сети при выходе из строя даже большого количества супер-узлов. Вторая позиция в иерархии сети отдано супер-узлам. Супер-узлы это обыкновенные пользовательские компьютеры имеющие выход в Интернет, но при этом обладающими реальным IP адресом. Соответственно они служат неким шлюзом для соединения двух или более клиентов находящихся за NAT (Network Address Translation) и не имеющих реальных IP адресов для постоянного определения присутствия пользователей в сети и отслеживания изменений в контенте, предлагаемом тем или иным пользователем. Последний уровень принадлежит пользователям сети подключенным к сети Интеренет через копоративный сервер и не имеющим реального IP адреса (например при доступе к сети через коммутироемое соединение). Также для корректной и скоростной работе этих пользователей рекомендуется, чтобы межсетевой экран (Firewall) их компьютеров или сервера, через который они получают доступ к сети, обладал следующими открытыми портами 80, 443 и всеми свыше 1024-го. Но зачастую системные администраторы в целях безопасности перекрывают почти все порты, оставляя пользователям только возможность посещать ВЕБ сайты и пользоваться электронной почтой (порты 80, 25, 110). При этом у пользователей такой сети остаётся возможность использования приложений, работающих в пиринговой сети, но качество соединения и гарантированной скорости добиться становится сложнее.

Теперь, понимая, как устроена сеть на основе технологии Peer-To-Peer, рассмотрим компоненты, которые предлагаются компанией Joltid. того чтобы создать своё приложение с использованием модуля PeerEnabler (Рис. 4).

Рис. 4 Схема сравнения 1

 Данное решение позволяет строить свою собственную пиринговую сеть посредством обмена данными через вспомогательное приложение. Управление модулем предусматривает использование API. Фактически любой программный продукт может быть привязан к PeerEnabler. Основное применение технологии можно отнести к дистрибьюции файлов, соответственно эта платформа идеально подойдёт для реализации проекта пиринговой библиотеки. Данное решение позволит использовать ресурс одной библиотеки ВУЗами всей страны.

По оценкам аналитиков около 50% Интернет трафика составляет трафик пиринговых сетей. В целях разгрузки глобальных сетей второй продукт предлагаемый Joltid это PeerCache (Рис. 5).

Рис. 5 Схема сравнения 2

 

  Он предусмотрен непосредственно для операторов услуг связи либо для крупных организаций. Устанавливать его следует на сервер для того чтобы создавался кэш загружаемых файлов сети, то есть файл скачанный однажды одним из пользователей посредством PeerEnabler больше не будет требоваться из глобальной сети для получения другим пользователем внутренней сети. Соответственно внешние каналы оператора (организации) разгружаются от многократных скачиваний одних и тех же файлов.

Учитывая факт развития технологий и науки в целом, требуется постоянное обновление научной литературы. Достаточно трудно обеспечить библиотеку каждого института  последними книгами и пособиями. Казалось бы что заменой этого может стать Интернет, но зачастую нужный материал трудно доступен или сложен в поиске. Использование же технологий Joltid (Рис. 6) позволит создавать базы данных учебной литературы доступных для каждого ВУЗа Казахстана. При этом книга скачанная один раз мгновенно распространится по всем Супер-Узлам сети что позволит получить её не делая больше запросов в глобальную сеть.

Рис. 6 Структурная схема Peer-To-Peer сети образования в Республике Казахстан.

 

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

Технология P2P лишний раз доказывает, что история имеет тенденцию повторяться. Подзабытые во времена эйфории по поводу клиент-серверных технологий, одно-ранговые модели возвращаются, превращаясь в популярные и, самое главное, востребованные решения.

 

 

Литература:

 

1. “Знакомство с модульной архитектурой Skype” – www.skypejournal.com

2. “Введение в пиринговые сети” Дэйв Винер – www.livejournal.com

3. “Пиринговые сети” – www.peer-2-peer.ru

4. “Использование пиринговых сетей” – www.joltid.com

5. " Обзор технологии Peer-To-Peer и её сервисов"  - mCommunicator.