vos
.pdfвременная задержка при установлении соединения. Как и остальные временные характеристики эмулятора, этот параметр требует указания среднего значения и допустимого разброса. Временной задержкой при установлении соединения считается время между выдачей на инициирующей стороне примитива N_CONNECT.REQ и получением на отвечающей стороне примитива N_CONNECT.IND. Этот же параметр используется для вычисления времени между выдачей на отвечающей стороне примитива N_CONNECT.RESP и получением примитива N_CONNECT.CONF на стороне инициатора. В случае возникновения ошибки при установлении соединения время между выдачей запроса N_CONNECT.REQ и получением примитива N_DISCONNECT.IND вычисляется также на основе этого параметра.
вероятность ошибки при установлении соединения. Представляется как оценка в виде отношения числа неудачных попыток соединения к общему числу выданных запросов
N_CONNECT.REQ.
транзитная задержка. Входят затраты на гипотетические служебные расходы протоколов сетевого уровня. Исходя из значения транзитной задержки, задаваемого средней величиной и допустимым разбросом, и значения скорости передачи, для каждого передаваемого пакета вычисляется время между выдачей примитива N_DATA.REQ на стороне отправителя и получением примитива N_DATA.IND на принимающей стороне.
вероятность искажения пакета. Представляется как оценка в виде отношения числа пакетов, искаженных в ходе передачи по сети, к общему числу переданных пакетов. В эмуляторе возможное искажение переданного пакета производится заменой содержимого байтов пакета на случайное значение.
вероятность потери пакета данных. Ее оценка – это вычтенное из единицы отношение числа полученных примитивов N_DATA.IND к числу переданных примитивов N_DATA.REQ.
вероятность случайного разрыва соединения в течении каждых 1000 системных единиц времени.
временная задержка при разрыве соединения. Задаваемое средним значением и допустимым разбросом время между
11
выдачей запроса N_DISCONNECT.REQ и получением на другой стороне соединения N_DISCONNECT.IND.
вероятность появления дубликата. Представляется как оценка в виде отношения числа пакетов, у которых появились дубликаты в ходе передачи по сети, к общему числу переданных пакетов. В эмуляторе возможное искажение переданного пакета производится заменой содержимого байтов пакета на случайное значение.
Рис. 1.1. Панель настройки показателей качества сетевого уровня
1.2. Сервис сетевого уровня
Эмулятор представляет услуги сетевого уровня для использования их на вышележащих уровнях. Реализованный эмулятор предоставляет транспортному уровню сервис, ориентированный на соединение, а также поддерживает передачу
12
дейтаграмм. Эмулятор не поддерживает функции управления, синхронизации, а также передачу данных с подтверждением. Эмулятор сетевого уровня использует примитивы, описанные в таблице 1.1.
Таблица 1.1.Примитивы, используемые эмулятором
Примитив |
Тип |
Параметры |
|
Описание |
|
|
|
N_CONNECT |
запрос |
address |
Генерируется |
|
|
на |
|
.REQ |
|
|
транспортном |
уровне |
и |
||
|
|
|
отсылается вниз на сетевой |
||||
|
|
|
уровень |
в начале |
попытки |
||
|
|
|
установления |
|
сетевого |
||
|
|
|
соединения. (address-адрес |
||||
|
|
|
вызываемой системы) |
|
|||
N_CONNECT |
индикация |
address |
Генерируется |
на |
сетевом |
||
.IND |
|
|
уровне и отсылается вверх |
||||
|
|
|
на транспортный уровень в |
||||
|
|
|
целях |
|
индикации |
||
|
|
|
поступившего |
запроса |
на |
||
|
|
|
установление |
|
сетевого |
||
|
|
|
соединения. (address-адрес |
||||
|
|
|
вызывающей системы) |
|
|||
N_CONNECT |
ответ |
address |
Генерируется |
|
|
на |
|
.RESP |
|
|
транспортном |
уровне |
и |
||
|
|
|
отсылается вниз на сетевой |
||||
|
|
|
уровень в ответ на ранее |
||||
|
|
|
полученный |
|
|
|
|
|
|
|
N_CONNECT.IND. (address- |
||||
|
|
|
адрес вызываемой системы) |
||||
N_CONNECT |
Подтвержд |
address |
Генерируется |
на |
сетевом |
||
.CONF |
|
|
уровне и отсылается вверх |
||||
|
|
|
на транспортный уровень в |
||||
|
|
|
целях |
|
индикации |
||
|
|
|
поступившего |
|
|
|
|
|
|
|
N_CONNECT.RESP. |
|
|||
|
|
|
(address-адрес вызывающей |
||||
|
|
|
системы) |
|
|
|
|
N_DISCONNECT |
запрос |
address |
Генерируется |
|
|
на |
|
.REQ |
|
|
транспортном |
уровне |
и |
||
|
|
|
отсылается вниз на сетевой |
||||
|
|
|
уровень |
для |
|
разрыва |
|
|
|
|
сетевого соединения |
|
13
Продолжение табл. 1.1.
Примитив |
Тип |
Параметры |
|
Описание |
|
|
|
N_DISCONNECT |
индикация |
- |
Генерируется |
на |
сетевом |
||
.IND |
|
|
уровне и отсылается вверх |
||||
|
|
|
на транспортный уровень в |
||||
|
|
|
целях индикации |
разрыва |
|||
|
|
|
сетевого |
соединения |
или |
||
|
|
|
при возникновении ошибки |
||||
|
|
|
при |
попытке |
|
его |
|
|
|
|
установления |
|
|
|
|
N_DATA.REQ |
запрос |
address |
Генерируется |
|
|
на |
|
|
|
userdata |
транспортном |
уровне |
и |
||
|
|
|
отсылается вниз на сетевой |
||||
|
|
|
уровень для передачи блока |
||||
|
|
|
данных. |
|
|
|
|
N_DATA.IND |
индикация |
userdata |
Генерируется |
на |
сетевом |
||
|
|
|
уровне и отсылается вверх |
||||
|
|
|
на транспортный уровень в |
||||
|
|
|
целях |
|
индикации |
||
|
|
|
поступившего |
|
блока |
||
|
|
|
данных. |
|
|
|
|
N_DATAGRAM |
запрос |
address |
Генерируется |
|
|
на |
|
.REQ |
|
userdata |
транспортном |
уровне |
и |
||
|
|
|
отсылается вниз на сетевой |
||||
|
|
|
уровень |
для |
|
передачи |
|
|
|
|
дейтаграммы. (address-адрес |
||||
|
|
|
принимающей системы) |
|
|||
N_DATAGRAM |
индикация |
address |
Генерируется |
на |
сетевом |
||
.IND |
|
userdata |
уровне и отсылается вверх |
||||
|
|
|
на транспортный уровень в |
||||
|
|
|
целях |
|
индикации |
||
|
|
|
поступившей дейтаграммы. |
||||
|
|
|
(address-адрес |
передающей |
|||
|
|
|
системы) |
|
|
|
|
1.3. Процесс эмуляции.
Процесс эмуляции при использовании режима с установлением соединения заключается в следующем. Пусть одна из систем (например, система А) пытается установить сетевое соединение с другой системой (например, системой В), выдавая на сетевой уровень примитив N_CONNECT.REQ. Если системы не
14
находились в состоянии “соединены” или “ожидание сетевого соединения”, то через некоторое время (зависит от параметра “временная задержка при установлении соединения”) и с некоторой вероятностью (зависит от параметра “вероятность ошибки при установлении соединения”) системы переходят в состояние “ожидание сетевого соединения” и на транспортный уровень системы В выдается примитив N_CONNECT.IND. После этого система В выдает на сетевой уровень примитив N_CONNECT.RESP. Т.к. системы находятся в состоянии “ожидание сетевого соединения”, то через некоторое время (зависит от параметра “временная задержка при установлении соединения”) и с некоторой вероятностью (зависит от параметра “вероятность ошибки при установлении соединения”) системы переходят в состояние “соединены” и на транспортный уровень системы А выдается примитив N_CONNECT.CONF.
Когда две системы находятся в состоянии “соединены”, между ними возможна передача данных. Передающая система выдает на сетевой уровень примитив N_DATA.REQ. С некоторой вероятностью данные искажаются (зависит от параметра “вероятность искажения пакета”) и теряются (зависит от параметра “вероятность потери пакета данных ”). Если данные не потеряны, то через некоторое время (зависит от параметра “транзитная задержка” и “скорость передачи данных) на транспортный уровень принимающей системы выдается примитив N_DATA.IND.
Разрыв соединения между двумя системами может произойти самопроизвольно (зависит от параметра “вероятность случайного разрыва”) или в результате выдачи одной из систем на сетевой уровень примитива N_DISCONNECT.REQ. После выдачи примитива N_DISCONNECT.REQ сетевое соединение разрывается и через некоторое время (зависит от параметра “временная задержка при разрыве соединения”) на транспортный уровень второй системы выдается примитив N_DISCONNECT.IND.
Случай с использованием дейтаграммного режима значительно проще. Для передачи данных нет необходимости устанавливать соединение. Для передачи данных передающая система выдает на сетевой уровень примитив N_DATAGRAM.REQ. С некоторой вероятностью данные искажаются (зависит от параметра “вероятность искажения пакета”) и теряются (зависит от параметра
15
“вероятность потери пакета данных” и “скорость передачи данных”). Если данные не потеряны, то через некоторое время (зависит от параметра “транзитная задержка”) на транспортный уровень принимающей системы выдается примитив
N_DATAGRAM.IND.
2.Интерфейс программного комплекса
2.1.Основная панель лабораторного практикума
Запуск
эмуляции
Оценка
протокола
Остановка и завершение эмуляции
2.2. Главное меню
Пункт “Файл” (работа с файлами) содержит следующие подпункты:
“Создать” команда открытия нового файла. “Открыть” команда открытия существующего файла.
“Открыть вновь” команда открытия файлов, которые были открыты или сохранены ранее.
“Сохранить” команда сохранения текущего файла. “Сохранить как ” команда сохранения текущего файла с
новым именем.
“Выход” – команда выхода.
Пункт “Параметры” (установка параметров) содержит следующие подпункты:
16
“Параметры эмулятора” – вызывает панель настройки показателей качества сетевого уровня.
“Пароль” вызывает панель ввода административного пароля. “Параметры” – вызывает панель настройки лабораторного
комплекса.
Пункт “Отладка” (установка отладчика) содержит следующие подпункты:
“Трассировка” – включает (и выключает) режим вывода имен выполняемого события (событие - см. п. 5).
“Отладчик” – вызывает отладчик. “Просмотреть журнал” – просмотр журнала.
Пункт “Уровни” (установка доступа к уровням) содержит следующие подпункты (доступные только после ввода пароля):
“Прикладной процесс ” – включает (и выключает) доступ к прикладным процессам.
“Прикладной” – включает (и выключает) доступ к прикладному уровню.
“Представления ” – включает (и выключает) доступ к уровню представления.
“Сеансовый” – включает (и выключает) доступ к сеансовому уроню.
“Транспортный” – включает (и выключает) доступ к транспортному уровню.
17
2.3. Панель редактора событий
Список событий. Кнопка для редактирования обработчика
Кнопка для добавления события.
Кнопка для переименования события.
Кнопка для уничтожения события.
Кнопка для копирования события в другой банк.
Кнопка для копирования события в другую систему.
Инициализация протокола перед запуском
Выбор банка.
Кнопки перехода в другие системы
18
2.4. Панель редактирования обработчика события
Номера текущих |
Редактор |
столбца и строки |
|
19
2.5.Отладчик
Спомощью отладчика можно выполнить построчную обработку протокола. При необходимости можно выполнить обработчик события без остановок после выполнения очередной строки, а также продолжить обработку всех событий без остановок до появления специального оператора break. В любом случае в панели отладчика отображается код обработчика события с выделением текущей строки. Также можно просмотреть значения переменных (только числовых) на текущем уровне.
Выполнить |
Добавить |
Остановка |
Выход из |
следующую |
переменную. |
выполнения |
отладчика |
строку |
|
|
|
Выполнять |
|
|
|
до |
|
|
|
следующег |
|
|
|
о события. |
|
|
|
Выполнять |
|
|
|
до |
|
|
|
появления |
|
|
|
оператора |
|
|
|
Код
обработчи
ка
текущего
Выполня |
|
емая |
|
строка |
Текущее событие Текущая строка |
|
|
Текущая система |
|
Просмотр
переменных
Текущий оператор
20