Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Никифоров Взаимосвяз открытых систем 2010

.pdf
Скачиваний:
50
Добавлен:
16.08.2013
Размер:
1.14 Mб
Скачать

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 системных единиц времени; временная задержка при разрыве соединения. Задаваемое сред-

ним значением и допустимым разбросом время между выдачей запроса N_DISCONNECT.REQ и получением на другой стороне соединения N_DISCONNECT.IND;

вероятность появления дубликата. Представляется как оценка в виде отношения числа пакетов, у которых появились дубликаты в ходе передачи по сети, к общему числу переданных пакетов. В

11

эмуляторе возможное искажение переданного пакета производится заменой содержимого байтов пакета на случайное значение.

Рис. 1.1. Панель настройки показателей качества сетевого уровня

1.2. Сервис сетевого уровня

Эмулятор представляет услуги сетевого уровня для использования их на вышележащих уровнях. Реализованный эмулятор предоставляет транспортному уровню сервис, ориентированный на соединение, а также поддерживает передачу дейтаграмм. Эмулятор не поддерживает функции управления, синхронизации, а также передачу данных с подтверждением. Эмулятор сетевого уровня использует примитивы, описанные в табл. 1.1.

12

 

 

 

 

 

Таблица 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. В любом случае в панели отладчика отображается код обработчика события с выделением текущей строки. Также можно просмотреть значения переменных (только числовых) на текущем уровне.

Выполнить

следующую

строку

Выполнять до следующего события

Выполнять до появления опера-

тора break

Код обработчика текущего события

Выполняемая строка

Текущая система

Добавить

Остановка

Выход из

Просмотр

переменную

выполнения

отладчика

переменных

Текущее событие Текущая строка

Текущий оператор

20