Биография | Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальное задание | Портал магистров | ДонНТУ RUS | ENG | UKR |
|||||||||||||
Исследование загруженности канала и сервера службы мгновенных сообщений. Разработка программных средств распределения нагрузки на сервер
|
|||||||||||||
В данный момент в коммуникационной среде большую популярность получает такой сетевой сервис, как служба мгновенных сообщений (IM), а также IP телефония. Это обусловлено тем, что при использовании данных сервисов возможна большая экономия средств в общении с людьми на дальних расстояниях и в других странах. IM остается выбором способа общения для многих людей, так как предоставляет более «личное» общение, нежели электронная почта, но менее навязчивое, чем телефон. IM также полезно при общении в чрезвычайных ситуациях, так как Интернет может функционировать во время неполадок на телефонной линии. Сервисы мгновенных сообщений постепенно вытесняют электронную почту в результате следующих недостатков последней:
Основная причина спама для электронной почты, это отсутствие надежной системы идентификации отправителя сообщения. В сегодняшней системе электронной почты спамеры могут поставить в поле «Отправитель» любую информацию. Это же является одной из основных причин низкой безопасности. Неудобства активной переписки заключается в сложности контроля всей истории общения. В результате, активным пользователям электронной почты приходится самим организовывать способы хранения логов. Доставка сообщений по электронной почте медленная, если сравнивать именно с системами мгновенных сообщений. Задержка в 1-10 секунд (официальная спецификация утверждает о возможности доставки почты в течении 24 часов) затрудняет общение в режиме реального времени. Кроме того, слишком частая проверка почты может трактоваться сервером как сетевая атака, приводя к временной блокировке пользователя. Эксперты международной исследовательской компании TNS выяснили, что SMS и электронная почта на мобильном телефоне постепенно утрачивают свою популярность. «Неголосовое» общение теперь всё больше строится на обмене мгновенными сообщениями. По данным исследования, в котором приняли участие 17 тыс. респондентов из 30 стран мира, среди владельцев мобильных телефонов, использующих при общении службы мгновенных сообщений, 61% предпочитает именно этот способ связи, 55% используют SMS и только 12% — электронную почту. Выбор IM вместо SMS вполне логичен: «Как только владельцы мобильных телефонов получают доступ в интернет и имеют возможность использовать службы мгновенных сообщений, стоимость текстовых посланий резко снижается и стремится практически к нулю, так как пользователи в данном случае платят только за трафик, а сами сообщения ничего им не стоят. Кроме того, большое число людей привыкло общаться при помощи служб мгновенных сообщений через интернет на персональных компьютерах, поэтому они с большой охотой переключаются на аналогичное общение и на своих мобильных телефонах. А так как всё больше операторов сотовой связи предлагают своим клиентам неограниченный доступ в интернет, то мы можем с уверенностью говорить о дальнейшем росте популярности мгновенных сообщений и снижении роли SMS и сообщений по электронной почте», — объясняют эксперты TNS. На сегодняшний день во всём мире при помощи мгновенных сообщений по мобильному телефону общаются 8% людей. Наиболее популярно такое общение в Гонконге, где этот показатель достигает 23%. Далее следуют Китай (16%), Саудовская Аравия (15%), ЮАР (12%), Индия (11%) и Бразилия (10%). Недостатки и слабые стороны IM Несмотря на все свои преимущества, сервисы IM не лишены недостатков. Вот главные из них:
Сетевая безопасность служб мгновенных сообщений. Разные IM приложения используют разные проприетарные протоколы, и стандартная конфигурация брандмауэра может не обнаружить их. Многие IM программы могут обходить системы аутентификации. Некоторые IM клиенты могут использовать порты отличные от тех, которые ассоциируются с IM, даже обычно открытые порты, такие как 80. Основные проблемы безопасности IM сервисов:
Исходя из всех статистических исследований, можно увидеть повышающуюся популярность сервисов мгновенных сообщений. Актуальность работы заключается в повышении качества работы сервисов путем решения указанных выше недостатков. Мотивация работы основана на личном опыте использовании различных служб мгновенных сообщений, а также опыте людей, с которыми приходилось общаться посредством данных служб. Наиболее раздражающим фактом является спам при использовании протокола ICQ. Сказывается низкий уровень безопасности, в результате чего спам приходит от тех контактов, которые находятся в списке. Таким образом, сервис ICQ уязвим к взлому и хищению учетных записей. Кроме того, нередки обрывы соединения с последующей невозможностью восстановления в течении от 5 до 15 минут. В данном случае сказывается недостаточные возможности сети компании AOL, владеющей данным сервисом. Похожая проблема присуща службе Skype. Клиент Skype заметно дольше соединяется с сервером, чем клиенты других протоколов. Кроме того часто случаются периодические разрывы соединения в режиме ожидания. При использовании Skype для голосового общения данных разрывов замечено не было. И последним мотивирующим фактором для выбора темы магистерской работы является желание изучить приемы шифрования при передаче данных, приобрести опыт в разработке сетевого программного обеспечения, активно использующего базы данных. Таким образом, исходя из перечисленных выше недостатков IM сервисов и мотивационных факторов, ставятся следующие задачи:
Предполагаемая научная новизна Предполагаемая научная новизна заключается в составлении алгоритмов маршрутизации между серверами служб мгновенных сообщений, а также в разработке нового протокола для обмена сообщениями. Кроме того предлагаются несколько подходов к борьбе со спамом в сетях, использующих протокол DMP. Обзор исследований и разработок по теме На рисунке 1 представлено процентное соотношение служб мгновенных сообщений в странах СНГ по состоянию на июль 2008 года. Рисунок 1 - Использование служб мгновенных сообщений Наиболее популярная служба мгновенных сообщений в странах СНГ – ICQ, использующая протокол OSCAR. Однако многие встречались с сообщениями «лимит подключений превышен», а также большим количеством спама, рассылаемого ботами. Рассылка спама облегчается способом представления протоколом OSCAR идентификации контактов – по номерам. Таким образом, рассылка спама заключается в переборе номеров из заданного диапазона. Протокол OSCAR предоставляет низкую безопасность для использования в коммерческих сетях. Другой протокол, набирающий популярность – XMPP. По данному протоколу работают службы Jabber и GTalk. XMPP основан на XML, открытый, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близкому к режиму реального времени, который также является децентрализованным, но тоже имеет слабые стороны:
Методы балансировки загруженности серверов Существует много способов, которые позволяют достичь балансировки загруженности серверов. Факторы выбора того или иного способа зависят от требований, предлагаемого сервиса, сложности реализации и стоимости. Например, аппаратная реализация балансирующего оборудования заметно дороже программной реализации. Балансировка по методу Round Robin DNS Возможно использование встроенного в DNS сервера алгоритма Round Robin. Это один из первых алгоритмов. Преимущества: очень прост в реализации, низкая стоимость, легкость во внедрении. Недостатки: DNS сервер не имеет представления о возможностях серверов, которые предстоит сбалансировать. Кроме того DNS сервер может дифференцировать сервера по IP адресам, но не по портам. Данный способ нельзя организовать в локальной сети. Аппаратная балансировка Аппаратная балансировка может маршрутизировать TCP/IP пакеты на различные серверы. Такой тип балансировки предоставляет надежную топологию и высокую производительность, но имеет большую стоимость. Преимущества: данный тип балансировки использует канальный уровень для маршрутизации пакетов. Недостатки: высокая стоимость в сравнении с программной реализацией. Программная балансировка Наиболее часто используемый тип балансировки – это программная балансировка и часто предоставляется как компонент дорогих серверных решений. Преимущества: предоставляет более гибкий способ разгрузки сети, учитывающий требования сервера. Возможность маршрутизации в зависимости от входных параметров. Недостатки: требуется дополнительный аппаратный комплекс для развертывания данного балансирующего ПО. Планируемые практические результаты По результатам разработок и исследований планируется в сетях, работающих по протоколу DMP получить следующие результаты:
Результаты, имеющиеся к моменту завершения работы над авторефератом Решение проблемы недостаточных вычислительных возможностей сервера, недостаточной ширины канала Протокол 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 представлены в следующих пунктах:
Краткая спецификация протокола В данном разделе рассматривается основная единица протокола – пакет. Длина пакета не фиксирована, но не должно превышать фиксированного значения – 1Мбайт. Структура пакета изображена на рисунке 3. Рисунок 3 - Структура пакета протокола DMP Как видно из рисунка 3, пакет содержит 4 поля: сигнатуру, данные шифрования, сжатия, а также поле команд и данных. Для минимизации трафика протокол исключает такие избыточные способы организации информации, как XML. Сигнатура содержит версию протокола. Формат команд имеет вид: ID команды:параметры. ID команды представляет собой числовое поле размером 16 бит, т.е. максимальное число команд равно 65536. Следует отметить, что шифрование и сжатие можгут отсутствовать. Имеющийся к данному моменту программный функционал К данному моменту разработаны клиент и сервер, работающие по протоколу DMP. Данное программное обеспечение реализует базовые возможности протокола. Данное программное обеспечение реализовано на 2 платформах – Win32 и Linux. Корректность работы протестировано на системах Windows XP SP3 и Mandriva Linux 2009.1. Также запланировано реализовать следующие возможности:
Кроме того, обязательным к реализации является маршрутизатор протокола DMP. Основываясь на опыте использования служб мгновенных сообщений ICQ и XMPP, разрабатывается протокол DMP. Протокол уменьшает воздействие общих недостатков для служб мгновенных сообщений, а именно:
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 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 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 |