Лабораторная среда Для Анализа работы протокола X11


Цитировать

Полный текст

Аннотация

В статье рассматривается проблема построения лабораторной среды с целью анализа графического протокола X11 оконной системы X Windows, которая является стандартом оконных систем в Unix-подобных операционных системах.

Ключевые слова

Полный текст

Введение Особенностью графической оконной системы X Windows является клиент-серверная архитектура использующая для взаимодействия сетевой протокол X11. Как следствие удачно реализованной архитектуры появляется возможность запуска приложений локально на терминале клиента, так и удаленно на сервере с выводом графической информации на дисплей терминала удаленного клиента. Однако различные варианты используемого на сервере программного обеспечения, требуют различных условий по пропускной способности сети, в которой планируется использования клиентских терминалов. На текущий момент нет готовых решений, предназначенных для анализа протокола X11. В связи с чем в данной статье описан метод построения сетевой среды для анализа работы протокола X11, с целью дальнейшего изучения его работы. Оконная система X Windows использует протокол X11 для взаимодействия графичеcкого X-сервера c X-клиентами. В основе алгоритма работы лежит множественный контроль этапов работы (см. рис.1). Анализа работы протокола X11 Для сбора статистических данных была разработана лабораторная среда (рис.2): - настроены виртуальные машины клиента и сервера на базе ОС GNU/Linux; - установлен и настроен шлюз между клиентом и сервером (по технологии WANem); - настроена система X Windows для передачи проходящего между клиентом и сервером трафика; - настроена система регистрации событий (170 видов) в журнал для дальнейшего анализа. Рис.1 Пример взаимодействия клиента и сервера Шлюз WANem используется для контроля пропускной способности сетевого подключения между клиентом и сервером. Для качественного анализа работы протокола X11 необходима соответствующая среда, включающая в себя: - виртуальную машину - сервер, с установленным оконным пакетом X Windows; - виртуальную машину - клиент, с установленным оконным пакетом X Windows; - виртуальную машину - шлюз, с установленным программным пакетом WANem; - настроенный трассировщик пакетов на виртуальной машине клиента. Наиболее ответственным участком лабораторной среды, является трассировщик пакетов. В задачу которого входит разделение сетевого трафика на дискретные пакеты или сообщения с последующим анализом частоты появления конкретных типов сообщения и расчет суммарного объема передаваемых данных. Рис. 2 Взаимодействие X клиента с X сервером В модельной среде регистрировались следующие виды пакетов, посылаемых через сеть асинхронно: - запрос (Request): посылается клиентом серверу для инициализации сервера на выполнение какого-либо действия, например, создания окна, кнопки на форме; - отклик (Reply): ответ сервера на запрос, возвращает клиенту данные сформированные по его запросу; - событие (Event): уведомление клиента о каком-либо событии на стороне сервера. Данное событие может быть результатом предыдущего запроса или таких действий как нажатие на клавишу, мышку; - сообщения об ошибках (Error): уведомление клиенту, в случае возникновения ошибки на стороне сервера. В журнале регистрировались запросы как CreateWindow, PutImage, GetImage, PolyLine и ImageText8 и т.д., контролировались важные события, такие как ButtonPress (нажатие на кнопку мыши), MotionNotify (перемещение курсора мыши). Некоторые запросы оконной системы X Windows, не имели откликов, например, связанные с перемещением мыши. Такие события группировались и посылались единым потоком. Особенностью работы X-клиента является взаимодействие с X сервером по протоколу TCP/IP в асинхронном режиме. В связи с этим в системе регистрации была реализована многопоточная запись. В целях минимизации влияния жесткого диска на сбор сетевых данных, разработанная программа мониторинга протокола Х11, записывала минимально необходимые сведения о проходящих сетевых пакетах в лог-файл. Запись каждого пакета, сопровождалась штампом времени с точностью до 1 мс. Трассировщик записывающий информацию обо всех пакетах работало с заданным приоритетом -20 (nice -20) во избежание потери пакетов. Формат записываемых в лог-файл пакетов, содержит следующие данные: - последовательный номер пакета; - размер окна; - длину пакета. Этих данных достаточно для определения состояния соединения (активно или разорвано) в конкретным момент времени. Каждый пакет включает информацию о типе сообщения - запрос, событие или ошибка. Построенная лабораторная среда позволяет проводить детальный анализ протокола Х11 по последовательности пакетов. На рис 3 приведен один из образцов пересылаемых пакетов, между Х сервером и Х клиентом: 1) время отправки пакета; 2) порядковый номер клиент; 3) тип записи (запрос, отклик, событие); 4) количество байт в пакете; 5) последовательность; 6) длина пакета; 7) маркер (функция); 8) запрос; 9) номер окна. Рис. 3 Формат сетевого пакета Х11 Анализ проходящих пакетов, дает представление о формате протокола и активности проходящих в оконной системой X операций. Проанализировав некоторый объем собранной в результате мониторинга работы протокола X11 информации, можно сделать следующий вывод. Система X Windows использует пять основных категорий сообщений: - геометрия: данный вид передает информацию о геометрических объектах - линия, полигон и их координаты в метрической систем; - картинки, включая перемещения курсора на экране. (используемые функции X_PutImage, X_GetImage и др.); - ввод: к этой категории относятся события нажатие клавиш клавиатуры и мыши; - текст: к данной категории относятся все сообщения содержащие текстовые данные, которые как правило помимо текста, также содержат информацию о положении курсора; - окна: этот вид сообщений включает информацию о типе, цвете, координатах, отображаемых системой X Windows окнах. Анализ протокола X11, помимо разделения сообщений на категории, сводится к исследованиям в следующих направлениях: - относительная важность сообщения для стабильной работы системы X Windows; - изменение активности передачи конкретных типов сообщений в течении работы приложения системы X Windows; - использование коротких последовательностей сообщений отражающих высокоуровневую работу приложений; - зависимость размера служебной информации от типа сообщения и их группировка по типу. Заключение Построение лабораторной среды, имеет строгую зависимость от поставленной перед исследователями задачи. В данной статье рассмотрена лабораторная среда, построенная с целью исследования внутреннего устройства и работы графического протокола X11. Основной целью исследования является разработка алгоритма эффективного сжатия протокола X11, который позволит комфортно использовать протокола в сетях с низкой пропускной способностью и высокой латентностью.
×

Об авторах

Жоламан Максутович Кубалиев

Поволжский государственный университет телекоммуникаций и информатики

Email: kubalievzh@gmail.com

Вадим Александрович Ружников

Поволжский государственный университет телекоммуникаций и информатики

Email: rv@psuti.ru

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

  1. Adrian Nye. X Protocol Reference Manual for Version 11 of the X Window System (Definitive Guides to the X Window System) (V.0). O'Reilly Media, 2001. - 500 p.
  2. Adrian Nye. XLIB Reference Manual(R4/R5) for Version 11, (Volume 2) (Definitive Guides to the X Window System). O'Reilly Media, 1994. - 935 p.
  3. Bell T. Text Compression. Prentice Hall, 1990. - 318 p.
  4. Barkakati N. X Window System Programming. Sams, 1991. - 750 p.
  5. Douglas A. Young. The X Window System: Programming and Applications with Xt, OSF/Motif. Prentice Hall, 1994. - 656 p.
  6. Foley J.D.Fundamentals of Interactive Computer Graphics (Systems Programming Series). Addison Wesley, 1982. - 664 p.
  7. Jones O. Introduction to The X Window System. Prentice Hall, 1988. - 528 p.
  8. Kozierok C. The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference. No Starch Press, 2005. - 1616 p.
  9. Mansfield N. The Joy of X: The Architecture of the X Window System. UIT Cambridge Ltd., 2010. - 380 p.
  10. Nelson M. The data compression book: Featuring fast, efficient data compression techniques in C. M&T Books, 1991. - 527 p.
  11. Rosenthal D., Flowers J., Scheifler R., Gettys J. X Window Sytem, Third Edition: The Complete Reference to Xlib, X Protocol, ICCM, XLFD, X Version 11, Release 5. Digital Press, 1992. - 1000 p.
  12. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Stein C. Introduction to Algorithms, 3rd Edition. The MIT Press, 2009. - 1312 p.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

© Кубалиев Ж.М., Ружников В.А., 2015

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Данный сайт использует cookie-файлы

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

О куки-файлах