Биография | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальное задание | Портал магистров | ДонНТУ

RUS | ENG | UKR

Исследование загруженности канала и сервера службы мгновенных сообщений. Разработка программных средств распределения нагрузки на сервер

Содержание

Актуальность темы работы

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

IM остается выбором способа общения для многих людей, так как предоставляет более «личное» общение, нежели электронная почта, но менее навязчивое, чем телефон.

IM также полезно при общении в чрезвычайных ситуациях, так как Интернет может функционировать во время неполадок на телефонной линии.

IM vs Email

Сервисы мгновенных сообщений постепенно вытесняют электронную почту в результате следующих недостатков последней:

  • Спам
  • Низкий уровень безопасности
  • Неудобства при активной переписке
  • Относительно медленная доставка сообщений
  • Отсутствие информации о состоянии абонентов

Основная причина спама для электронной почты, это отсутствие надежной системы идентификации отправителя сообщения. В сегодняшней системе электронной почты спамеры могут поставить в поле «Отправитель» любую информацию. Это же является одной из основных причин низкой безопасности.

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

Доставка сообщений по электронной почте медленная, если сравнивать именно с системами мгновенных сообщений. Задержка в 1-10 секунд (официальная спецификация утверждает о возможности доставки почты в течении 24 часов) затрудняет общение в режиме реального времени. Кроме того, слишком частая проверка почты может трактоваться сервером как сетевая атака, приводя к временной блокировке пользователя.

IM и мобильный телефон

Эксперты международной исследовательской компании TNS выяснили, что SMS и электронная почта на мобильном телефоне постепенно утрачивают свою популярность. «Неголосовое» общение теперь всё больше строится на обмене мгновенными сообщениями. По данным исследования, в котором приняли участие 17 тыс. респондентов из 30 стран мира, среди владельцев мобильных телефонов, использующих при общении службы мгновенных сообщений, 61% предпочитает именно этот способ связи, 55% используют SMS и только 12% — электронную почту.

Выбор IM вместо SMS вполне логичен: «Как только владельцы мобильных телефонов получают доступ в интернет и имеют возможность использовать службы мгновенных сообщений, стоимость текстовых посланий резко снижается и стремится практически к нулю, так как пользователи в данном случае платят только за трафик, а сами сообщения ничего им не стоят. Кроме того, большое число людей привыкло общаться при помощи служб мгновенных сообщений через интернет на персональных компьютерах, поэтому они с большой охотой переключаются на аналогичное общение и на своих мобильных телефонах. А так как всё больше операторов сотовой связи предлагают своим клиентам неограниченный доступ в интернет, то мы можем с уверенностью говорить о дальнейшем росте популярности мгновенных сообщений и снижении роли SMS и сообщений по электронной почте», — объясняют эксперты TNS.

На сегодняшний день во всём мире при помощи мгновенных сообщений по мобильному телефону общаются 8% людей. Наиболее популярно такое общение в Гонконге, где этот показатель достигает 23%. Далее следуют Китай (16%), Саудовская Аравия (15%), ЮАР (12%), Индия (11%) и Бразилия (10%).

Недостатки и слабые стороны IM

Несмотря на все свои преимущества, сервисы IM не лишены недостатков. Вот главные из них:

  • Спам. IM сервис также является объектом нежелательной рекламы (IM спам иногда называют spim). Спам – наиболее раздражающая проблема для пользователей сервисов мгновенных сообщений. Многие организации намеренно используют возможности сервиса для «бесплатной рекламы» путем массовой рассылки спама большому количеству пользователей. Кроме того, такой тип рассылки получил популярность у групп людей, целью которых есть хищение информации либо нанесения намеренного вреда системе пользователя.
  • Избыточность передаваемой информации. Данная проблема характерна для таких протоколов, как XMPP (Jabber). Если в корпоративной сети много работников, вовлеченных в чат, это может ударить по загруженности сети и производительности.
  • Недостаточные вычислительные возможности сервера. Нередки отключения от сервера пользователей в таких протоколах, как ICQ. Многие пользователи встречались с такими сообщениями, как «лимит подключений превышен». Также были замечены периодические отключения от серверов Skype.
  • Низкий уровень сетевой безопасности. Особенно данный недостаток опасен в корпоративных сетях, которые разрешили использовать сервисы мгновенных сообщений среди персонала. Данный пункт заслуживает особого внимания и более детально рассматривается ниже.

Сетевая безопасность служб мгновенных сообщений.

Разные IM приложения используют разные проприетарные протоколы, и стандартная конфигурация брандмауэра может не обнаружить их. Многие IM программы могут обходить системы аутентификации. Некоторые IM клиенты могут использовать порты отличные от тех, которые ассоциируются с IM, даже обычно открытые порты, такие как 80.

Основные проблемы безопасности IM сервисов:

  • P2P обмен. Данный вид обмена происходит при передаче файлов такими протоколами, как ICQ. P2P обмен дает возможность узнать IP адрес клиента и, напрямую подключивштсь к компьютеру, использовать его уязвимости.
  • Шифрование данных и безопасная аутентификация. Многие протоколы на сегодняшний день часто не используют шифрование во время чата и/или передают пароли от учетных записей в открытом виде. Данный недостаток недопустим в корпоративных сетях, которые подразумевают пересылку конфиденциальной информации и конфиденциальное общение.

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

Мотивация темы работы

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

Наиболее раздражающим фактом является спам при использовании протокола ICQ. Сказывается низкий уровень безопасности, в результате чего спам приходит от тех контактов, которые находятся в списке. Таким образом, сервис ICQ уязвим к взлому и хищению учетных записей. Кроме того, нередки обрывы соединения с последующей невозможностью восстановления в течении от 5 до 15 минут. В данном случае сказывается недостаточные возможности сети компании AOL, владеющей данным сервисом.

Похожая проблема присуща службе Skype. Клиент Skype заметно дольше соединяется с сервером, чем клиенты других протоколов. Кроме того часто случаются периодические разрывы соединения в режиме ожидания. При использовании Skype для голосового общения данных разрывов замечено не было.

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

Цели магистерской работы

Таким образом, исходя из перечисленных выше недостатков IM сервисов и мотивационных факторов, ставятся следующие задачи:

  • обзор существующих решений и сбор статистики популярности различных IM сервисов;
  • изучение открытых протоколов служб мгновенных сообщений;
  • разработка нового протокола децентрализованной службы мгновенных сообщений DMP (decentralized messaging protocol);
  • моделирование мультисерверной организации службы мгновенных сообщений;
  • сборка необходимых библиотек для реализации программного обеспечения, работающего по протоколу DMP;
  • разработка тестового сервера, клиента и маршрутизатора, работающих по протоколу DMP;
  • реализация поддержки шифрования в протоколе и разрабатываемом программном обеспечении;
  • организация базы данных, в которой будут храниться данные об учетных записях;
  • комплексное тестирование разработанного программного обеспечения и протокола, сбор статистики и анализ полученных результатов.

Предполагаемая научная новизна

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

Кроме того предлагаются несколько подходов к борьбе со спамом в сетях, использующих протокол DMP.

Обзор исследований и разработок по теме

Обзор популярных IM сервисов

На рисунке 1 представлено процентное соотношение служб мгновенных сообщений в странах СНГ по состоянию на июль 2008 года.

pic

Рисунок 1 - Использование служб мгновенных сообщений

Наиболее популярная служба мгновенных сообщений в странах СНГ – ICQ, использующая протокол OSCAR. Однако многие встречались с сообщениями «лимит подключений превышен», а также большим количеством спама, рассылаемого ботами. Рассылка спама облегчается способом представления протоколом OSCAR идентификации контактов – по номерам. Таким образом, рассылка спама заключается в переборе номеров из заданного диапазона. Протокол OSCAR предоставляет низкую безопасность для использования в коммерческих сетях.

Другой протокол, набирающий популярность – XMPP. По данному протоколу работают службы Jabber и GTalk. XMPP основан на XML, открытый, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близкому к режиму реального времени, который также является децентрализованным, но тоже имеет слабые стороны:

  • избыточность передаваемой информации: Как правило, более 70 % межсерверного трафика XMPP составляют сообщения о присутствии, около 60 % которых являются излишними.
  • масштабируемость: XMPP сейчас фактически страдает от проблемы избыточности, но применительно к чат-комнатам и возможностям публикации информации.
  • неэффективность передачи бинарных данных: Так как XMPP является, по сути, одним длинным XML-документом, невозможно передать немодифицированную двоичную информацию.

Методы балансировки загруженности серверов

Существует много способов, которые позволяют достичь балансировки загруженности серверов. Факторы выбора того или иного способа зависят от требований, предлагаемого сервиса, сложности реализации и стоимости. Например, аппаратная реализация балансирующего оборудования заметно дороже программной реализации.

Балансировка по методу Round Robin DNS

Возможно использование встроенного в DNS сервера алгоритма Round Robin. Это один из первых алгоритмов.

Преимущества: очень прост в реализации, низкая стоимость, легкость во внедрении.

Недостатки: DNS сервер не имеет представления о возможностях серверов, которые предстоит сбалансировать. Кроме того DNS сервер может дифференцировать сервера по IP адресам, но не по портам. Данный способ нельзя организовать в локальной сети.

Аппаратная балансировка

Аппаратная балансировка может маршрутизировать TCP/IP пакеты на различные серверы. Такой тип балансировки предоставляет надежную топологию и высокую производительность, но имеет большую стоимость.

Преимущества: данный тип балансировки использует канальный уровень для маршрутизации пакетов.

Недостатки: высокая стоимость в сравнении с программной реализацией.

Программная балансировка

Наиболее часто используемый тип балансировки – это программная балансировка и часто предоставляется как компонент дорогих серверных решений.

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

Недостатки: требуется дополнительный аппаратный комплекс для развертывания данного балансирующего ПО.

Планируемые практические результаты

По результатам разработок и исследований планируется в сетях, работающих по протоколу DMP получить следующие результаты:

  • снизить количество передаваемого трафика;
  • снизить количество обрабатываемой информации сервером;
  • повысить безопасность по отношению к существующим IM протоколам;
  • снизить возможности для рассылки спама.

Результаты, имеющиеся к моменту завершения работы над авторефератом

Решение проблемы недостаточных вычислительных возможностей сервера, недостаточной ширины канала

Протокол DMP (decentralized messaging protocol) ориентирован прежде всего на уменьшение нагрузки на сервер и количества передаваемой информации.

Протокол является децентрализованным, т.е. использующим несколько серверов для распределения нагрузки на каждый из них. Как показывает статистика, около 90% контактов пользователя территориально находятся в пределах одной административной единицы. Таким образом, для обслуживания данной территории эффективно использование отдельного сервера, а для оставшихся 10% контактов – межсерверного обмена. Это решает проблему вычислительных возможностей сервера.

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

В отличие от протокола XMPP, маршрутизатор выделен из состава сервера и является отдельной программной единицей, которая может быть установлена как на отдельную машину, так и на машину с установленным сервером DMP.

Также возможно прямое подключение серверов между собой минуя маршрутизатор для разгрузки последнего, а также ускорения обмена между серверами (см. рис. 2).

Рисунок 2 - Возможная структура службы DMP (flash-анимация,38КБ, 5.7 секунд)

Из рисунка 2 можно увидеть пример возможной структуры службы DMP. На сервере 2 возможно как присутствие маршрутизатора, так и его отсутствие.

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

Для снижения трафика используется минимализм в организации пакетов, структура которых рассмотрена ниже.

Протокол подразумевает возможность использования количества маршрутизаторов, ограниченного лишь эффективностью их использования.

Также недостатком является сложность контроля возможностей, надежности и безопасности сервера. Данная проблема решается скорее опытом использования конкретного сервера, а также отзывами пользователей.

Решение проблем безопасности

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

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

Кроме того, делается попытка в борьбе со спамом. А именно: лимитация количества передаваемой информации в единицу времени, а также сравнение отпечатков MD5 или SHA частей сообщений или сообщений целиком одного контакта. Если они одинаковы, то при превышении определенного количества совпадений возможна блокировка контакта сервером, как подозрение на рассылку спама ботом. Однако, последний способ является экспериментальным и весьма сомнительным и требует дополнительного тестирования и исследования на практике.

Общее описание возможностей протокола

Предоставляемые возможности протокола DMP представлены в следующих пунктах:

  • Протокол использует учетные записи вида nickname@serverdns либо просто nickname с явным указанием IP адреса сервера при подключении, если таковой не имеет доменного имени. Отсутствие требования DNS при подключении дает возможность настройки и использования сервера в локальных сетях без доступа в интернет.
  • Существует поддержка списка контактов с указанием статусов присутствия. Также допустимо ведение списков видимости и игнорирования.
  • Планируется поддержка передачи звука и видео, организация конференций. Но данные функции пока что отключены, ввиду состояния протокола на уровне бета-тестирования.
  • На данном этапе разработки протокол предоставляет возможность использования сервером любой из баз данных. Единственным требованием является соблюдение структуры организации хранения информации о пользователях, а также обеспечение надлежащей безопасности (например, запрет хранения паролей в открытом виде и т. д.).

Краткая спецификация протокола

В данном разделе рассматривается основная единица протокола – пакет. Длина пакета не фиксирована, но не должно превышать фиксированного значения – 1Мбайт. Структура пакета изображена на рисунке 3.

pic

Рисунок 3 - Структура пакета протокола DMP

Как видно из рисунка 3, пакет содержит 4 поля: сигнатуру, данные шифрования, сжатия, а также поле команд и данных.

Для минимизации трафика протокол исключает такие избыточные способы организации информации, как XML.

Сигнатура содержит версию протокола.

Формат команд имеет вид: ID команды:параметры. ID команды представляет собой числовое поле размером 16 бит, т.е. максимальное число команд равно 65536.

Следует отметить, что шифрование и сжатие можгут отсутствовать.

Имеющийся к данному моменту программный функционал

К данному моменту разработаны клиент и сервер, работающие по протоколу DMP. Данное программное обеспечение реализует базовые возможности протокола.

Данное программное обеспечение реализовано на 2 платформах – Win32 и Linux. Корректность работы протестировано на системах Windows XP SP3 и Mandriva Linux 2009.1.

Также запланировано реализовать следующие возможности:

  • поддержка шифрования;
  • поддержка создания чат-комнат;
  • поддержка списков невидимости, блокирования.

Кроме того, обязательным к реализации является маршрутизатор протокола DMP.

Выводы

Основываясь на опыте использования служб мгновенных сообщений ICQ и XMPP, разрабатывается протокол DMP. Протокол уменьшает воздействие общих недостатков для служб мгновенных сообщений, а именно:

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

Список литературы

1. AIM/Oscar Protocol Specification - http://www.oilcan.org/oscar/

2. XMPP Standards Foundation - http://xmpp.org/

3. ICQ / From Wikipedia, the free encyclopedia - http://en.wikipedia.org/wiki/Icq

4. XMPP / From Wikipedia, the free encyclopedia - http://en.wikipedia.org/wiki/Jabber

5. Global Instant Messaging Market Share / Open Data - http://billionsconnected.com/blog/2008/08/global-im-market-share-im-usage/

6. IM Network Market Share by Country, July 2008 (%) / Google Doc - http://spreadsheets.google.com/ccc?key=p5D5M7Vy6XNdfLH8xX9lbHw&hl=en

7. IM vs. SMS - http://blog.imobis.ru/research/im-vs-sms-novaya-statistika.html

8. Server Load Balancing: Algorithms - http://content.websitegear.com/article/load_balance_types.htm

9. Server Load Balancing Methods - http://content.websitegear.com/article/load_balance_methods.htm

10. Shinder D., Instant Messaging: Does it have a Place in Business Networks? - http://www.windowsecurity.com/articles/Instant-Messaging-Business-Networks.html

11. Hindocha N., Instant Insecurity: Security Issues of Instant Messaging - http://www.symantec.com/connect/articles/instant-insecurity-security-issues-instant-messaging

12. Leskovec J., Horvitz E., Planetary-scale views on a large instant-messaging network / Microsoft Research Technical Report MSR-TR-2006-186

13. Sharma S., Singh S., Sharma M., Performance Analysis of Load Balancing Algorithms / World Academy of Science, Engineering and Technology 38 2008

14. Czerwinski M., Cutrell E. and Horvitz E., Instant Messaging: Effects of Relevance and Timing / Microsoft Research

Биография | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальное задание | Портал магистров | ДонНТУ
RUS | ENG | UKR