протокол vsmp

advertisement
СИСТЕМА АВТОМАТИЗИРОВАННОГО
ОПОВЕЩЕНИЯ ПОЛЬЗОВАТЕЛЕЙ В
ЛОКАЛЬНОЙ СЕТИ
Давыдова Мария, лицей №1580
ЦЕЛЬ РАБОТЫ
Разработка программного комплекса для автоматизации отправки
текстовых сообщений пользователям локальной сети
ТРЕБОВАНИЯ К КОМПЛЕКСУ
 Работа под управлением MS-DOS и поддержка протокола Novell IPX
 Работа на маломощных компьютерах и сетях с невысокой пропускной
способностью
 Надежность и простота использования
 Психологическая ненавязчивость интерфейса
1
AРХИТЕКТУРА КОМПЛЕКСА
ПРИНЦИПЫ ПОСТРОЕНИЯ КОМПЛЕКСА




Независимость компонентов комплекса
Наличие единого протокола взаимодействия между компонентами
Максимально возможное разделение функций компонентов
Централизованное управление компонентами
Сервер
(MSGSend)
Локальная сеть
Протокол VSMP
Протокол VSMP
Локальная сеть
Клиент
(MSGShow)
Другой
компонент
Локальная сеть
Протокол VSMP
2
КЛИЕНТСКАЯ ЧАСТЬ
СТРУКТУРА КОМПОНЕНТА
Клиент
Загрузочный модуль
Модуль работы со
знакогенератором
Модуль работы с
видеоадаптером
Протокол
ФУНКЦИИ МОДУЛЕЙ
 Перехват прерываний
 Менеджмент памяти
 Контроль копий компонента на
отдельной рабочей станции
 Динамическое
перепрограммирование
знакогенератора
 Работа с видеопамятью напрямую
 Изменение видеорежима
 Сохранение/восстановление
регистров CRT-контроллера
 Поддержка протокола IPX
 Поддержка внутреннего протокола
комплекса
3
СЕРВЕРНАЯ ЧАСТЬ
СТРУКТУРА КОМПОНЕНТА
Сервер
Модуль контроля
состояния комплекса
Модуль отправки
сообщения
Модуль контроля
состояния комплекса
Протокол
ФУНКЦИИ МОДУЛЕЙ
 Контроль всех копий MSGShow и
станций, на которых они запущены
 Разбор входного файла
 Менеджмент сообщений между
станциями
 Многоуровневый дамп состояния
протокола и статистики пакетов
 Печать текущего состояния объектов
компонента
 Поддержка протокола IPX
 Поддержка внутреннего протокола
комплекса
4
ПРОТОКОЛ VSMP
<00>
SAP: Сервисный пакет
INITRQ: Запрос на инициализацию
<01>
<02> ATTACH: ID этой копии MSGShow
Сервер
MSGRQ: Запрос на новое сообщения
<01>
<03>
Клиент
MSG: Новое сообщение.....
…..DETACH: Отсоединение от MSGSend
<02>
ФОРМАТ ПАКЕТА С ДАННЫМИ
1 2 3 4 5 6 7 8 9 . . .
. . . 82 83
01 09 H e l l o !
 Текст сообщения
 Дополнительная информация (ID или начало сетевого адреса)
 Код пакета
5
ИЗМЕНЕНИЕ ВИДЕОРЕЖИМА
Регистр начала вертикального
гашения луча
CRTC
Vertical Blanking Start
Register
+ вертикальный размер символа
Регистр длительности участка
отображения в кадре
+ вертикальный размер символа
Vertical Display End
Register
Регистр начала вертикального
обратного хода луча
Vertical Retrace Start
Register
+ вертикальный размер символа / 2
Maximum Scan Lines
Register
Регистр вертикального размера
символа
6
РАБОТА СО ЗНАКОГЕНЕРАТОРОМ
00000000
00000000
00000000
00000000
10000000
10000000
10000000
10000000
10000000
10000000
10000000
10000000
00000000
00000000
00000000
00000000
ASCII код 0ffh
00000000
00000000
10000000
11000000
01100000
01100000
01100000
11100000
01100000
01100000
01100000
01100000
00000000
00000000
00000000
00000000
ASCII код 0ffh
00000000
00000000
11100000
10110000
00011000
00011000
00011000
11111000
00011000
00011000
00011000
00011000
00000000
00000000
00000000
00000000
ASCII код 0ffh
00000000
00000000
00111000
01101100
11000110
11000110
11000110
11111110
11000110
11000110
11000110
11000110
00000000
00000000
00000000
00000000
ASCII код 065h
7
ЗАГРУЗОЧНЫЙ МОДУЛЬ
 перехват прерываний
- сохранение вектора старого ISR
- установка нового вектора ISR
 завершение программы резидентом
Инсталляция
Вызов прерывания
Завершение работы
 выполнение нового обработчика
 вызов старого обработчика
 восстановление векторов ISR
 освобождение памяти
ПЕРЕХВАТЫВАЕМЫЕ ПРЕРЫВАНИЯ
Таймер
int 08h
Манипуляции со знакогенератором, VSMP
Клавиатура
int 09h
Поддержка управляющих клавиш
Video BIOS
int 10h
Контроль внешних попыток изменить видеорежим
DOS Safe
int 28h
Безопасное обращение в функциям DOS
DOS MUX
int 2Fh Инсталляция, разбор командной строки
ДИАГРАММА НАСЛЕДОВАНИЯ
КЛАССОВ CЕРВЕРА
CObj
CList
CNode
CDump
CRecord
CNet
CInfo
CList<CNode>
CList<CRecord>
РЕАЛИЗАЦИЯ ПРОТОКОЛА VSMP
СТРУКТУРА ПРОТОКОЛА
Протоколы
Надстройка над
протоколом IPX
Внутренний протокол
VSMP
Библиотеки
поддержки IPX
ФУНКЦИИ МОДУЛЕЙ
 Реализация асинхронной работы
с пакетами данных
 Реализация механизма таймаутов
для минимизации потерь данных
при передаче
 Обработка приходящих пакетов
согласно внутреннему протоколу
 Инициализация и вызов функций
IPX для языка С++
 Инициализация и вызов функций
IPX для языка ассемблера
ВЫВОДЫ
РЕЗУЛЬТАТЫ РАБОТЫ
 Разработан модульный масштабируемый программный комплекс для
автоматизации оповещения пользователей в локальной сети
 Клиентская программа работает в модифицированном видеорежиме на
дополнительной текстовой строке
 Используется динамическое переопределение знакогенератора
 Разработан открытый протокол VSMP и библиотека поддержки VSMP-over-IPX
 Разработаны библиотеки поддержки протокола IPX
НАПРАВЛЕНИЯ ДАЛЬНЕЙШИХ РАЗРАБОТОК
 Разработка и поддержка VSMP API
 Разработка серверной части под ОС Novell (MsgSend.NLM)
 Разработка версии протокола и соответствующего компонента для обмена
личными сообщениями между пользователями
 Поддержка других сетевых протоколов, прежде всего TCP/IP
 Разработка клиентской части под ОС Windows
8
Download