Лабораторная среда Для Анализа работы протокола X11
- Авторы: Кубалиев Ж.М.1, Ружников В.А.1
-
Учреждения:
- Поволжский государственный университет телекоммуникаций и информатики
- Выпуск: Том 13, № 3 (2015)
- Страницы: 350-354
- Раздел: Статьи
- URL: https://journals.eco-vector.com/2073-3909/article/view/56130
- DOI: https://doi.org/10.18469/ikt.2015.13.3.18
- ID: 56130
Цитировать
Полный текст
Аннотация
В статье рассматривается проблема построения лабораторной среды с целью анализа графического протокола 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
Список литературы
- 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.
- 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.
- Bell T. Text Compression. Prentice Hall, 1990. - 318 p.
- Barkakati N. X Window System Programming. Sams, 1991. - 750 p.
- Douglas A. Young. The X Window System: Programming and Applications with Xt, OSF/Motif. Prentice Hall, 1994. - 656 p.
- Foley J.D.Fundamentals of Interactive Computer Graphics (Systems Programming Series). Addison Wesley, 1982. - 664 p.
- Jones O. Introduction to The X Window System. Prentice Hall, 1988. - 528 p.
- Kozierok C. The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference. No Starch Press, 2005. - 1616 p.
- Mansfield N. The Joy of X: The Architecture of the X Window System. UIT Cambridge Ltd., 2010. - 380 p.
- Nelson M. The data compression book: Featuring fast, efficient data compression techniques in C. M&T Books, 1991. - 527 p.
- 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.
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Stein C. Introduction to Algorithms, 3rd Edition. The MIT Press, 2009. - 1312 p.