Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка edited.doc
Скачиваний:
2
Добавлен:
23.09.2019
Размер:
1.11 Mб
Скачать
  1. Архитектура взаимодействия управляющих протоколов.

Данная глава посвящена обзору компонентов приложения. Естественно, что кроме базовых компонентов, реализующих функционал управляющих протоколов, необходимы компоненты, отвечающие за конфигурацию приложения и управление потоком ввода\вывода (включая безопасность).

Рис. 1 Логическая схема приложения

ICQ Client — данный компонент содержит набор методов, используемых для передачи мгновенных сообщений по протоколу OSCAR. При вызове подключения, компонент устанавливает соединение с сервером login.icq.com по протоколу HTTPS.

Server App — промежуточный графический компонент между ICQ Client и сервером трансляции. Отображает весь ввод\вывод на форму логгирования. В дальнейшем этот компонент планируется упразднить и сделать запуск приложения автоматическим в виде службы Windows при загрузке операционной системы.

Рис. 2 Графический компонент Server App

Так же этот компонент содержит набор управляющих команд, список которых приведен ниже:

Команда

Описание

!list

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

!open <name>

Открывает соединение <name>.

!close

Закрывает текущее активное соединение.

!async

Активирует асинхронный режим чтения (активирован по умолчанию).

!sync

Активирует синхронный (блочный) режим чтения.

Таблица 1. Управляющие команды компонента Server App

Terminal Formatter — данный компонент предназначен для форматирования ввода\вывода. При получении команд от пользователя, в случае, если команда является служебной – компонент посылает оборудованию необходимые escape-символы\последовательности. Далее приведен список служебных команд:

Команда

ASCII-код (dec)

!c

\03 (CTRL + C)

!t

\09 (TAB)

!rn

\13\10 (ENTER)

!e

\30 (CTRL + SHIFT + 6)

!ret

\30\120 (CTRL + SHIFT + 6 + x)

Таблица 2. Служебные команды сервера трансляции

При получении ответных данных от оборудования, компонент проверяет вывод на наличие любой учетной информации. В случае нахождения таких данных, они удаляются из вывода, точнее заменяются на строку !<output omitted>, что свидетельствует о том, что информация присутствует в конфигурации, но не отображается в целях безопасности. В дальнейшем планируется расширить список служебных команд (в зависимости от оборудования) и дать пользователю возможность самому назначать служебные команды.

XML Config Parser — данный компонент служит для создания и редактирования файла конфигурации учетной информации оборудования. Сам файл конфигурации представляет собой обычный XML файл. При запуске приложения данный компонент проверяет наличие файла конфигурации, если он существует, данные из него загружаются в приложение и используются при создании нового подключения. Также данный компонент содержит методы для получения информации о списке подключений доступных клиенту, который в данный момент делает запрос и может ли текущий клиент вообще обращаться к серверу (зарегистрирован ли UIN в файле конфигурации).

AES — используется компонентом XML Config Parser для шифрования и расшифрования файла конфигурации на 256-битнном ключе.

GHOST Hash, Cipher — используется компонентом XML Config Parser для хэширования пароля пользователя. Результат хэш-функции используется как ключ для шифрования и расшифрования файла конфигурации компонентом AES. Хэш-функция реализована по стандарту ГОСТ Р 34.11-94.

Configuration Assistant — графическое приложение для создания и редактирования файла конфигурации. Использует компонент XML Config Parser.

Рис. 3 Интерфейс компонента Configuration Assistant

Tamir.SharpSSH, Minimalistic Telnet и Serial Connector реализуют подключения по протоколам SSH, Telnet и RS-232 соответственно.

IConnection — единый интерфейс для компонентов Tamir.SharpSSH, Minimalistic Telnet и Serial Connector.

Coordinator — центральный компонент, управляющий терминированием подключений и вводом\выводом.

На рис. 4 приведен пример структуры системы: практически для каждой операционной системы существует OSCAR-совместимый клиент, который должен взаимодействовать с сервером ICQ по протоколу HTTPS. В управляемой системе есть сервер, на котором установлено данное приложение, которое так же взаимодействует с сервером ICQ по HTTPS. К серверу, сетевое оборудование может быть подключено как по консоли (RS-232) так и по сети (через управляющую подсеть). Заметим также, что кроме сетевого оборудования, через ICQ клиент можно управлять и серверами на базе операционных систем Unix или Linux, т.к. обычно в них встроен сервер Telnet и\или SSH.

Рис. 4. Пример структуры системы