Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_MSPR_SFU16.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.15 Mб
Скачать

5.3.3 Моделирование протоколов передачи данных

Протоколами называют наборы правил (алгоритмы) для связи между абонентами вычислительной или телекоммуникационной системы. Протоколы управляют форматом, временными интервалами, последовательностью работы и контролем ошибок при передаче сообщений. В соответствии с принятой моделью связи открытых систем OSI (Open System Interconnection) существует семь уровней взаимодействия между абонентами системы – от физического (нижний уровень) до прикладного (верхний уровень). На каждом из уровней должен действовать свой протокол. На практике обычно используется всего три уровня протоколов:

– низший аппаратный (протоколы Ethernet, Tokeu Ring, FDDI);

– средний уровень (протоколы NetBIOS, IPX/SPX, TCP/IP);

– высший уровень (протоколы SMB, NCP).

Реальные протоколы представляют собой достаточно сложные алгоритмы, и поэтому возникает необходимость моделирования их работы с целью определения рабочих характеристик или обнаружения ошибок. Сеть Петри, моделирующая работу реального протокола, обычно содержит сотни узлов-позиций и переходов. В данной книге мы рассмотрим значительно упрощенную модель протокола передачи данных, которая, тем не менее, отражает существенные черты его работы [42].

Раскрашенная сеть Петри с временным механизмом, моделирующая работу протокола, приведена на рисунке 5.21.

1. Описание работы протокола. Система передачи данных, реализуемая с помощью протокола, состоит из трех подсистем: отправитель, получатель и сеть, по которой в одну сторону передается сообщение, а в обратную сторону – подтверждение о приеме сообщения получателем («квитанция»).

По сети передается сообщение, разбитое на фрагментов, называемых пакетами. Каждый пакет состоит из номера (целое число типа integer с временной меткой) и текстовой части (типа string). Первоначально все пакетов находятся в позиции . Целью работы системы является передача всех пакетов получателю в позицию с сохранением последовательности их номеров. Кроме того, отправитель должен получить «квитанции» о передаче всех пакетов, и эти «квитанции» с пометкой о времени передачи помещаются в .

Рис. 5.21 Модель протокола передачи данных

позиции , моделируют, соответственно, условия начала и конца передачи пакетов, а позиции , моделируют условия начала и конца передачи «квитанций».

позиции , являются счетчиками, т.е. хранят номера отправленных и принятых пакетов.

Переход моделирует начало передачи очередного пакета, переходы и - прохождение, соответственно, пакета и «квитанции» через сеть, переход - прием и анализ очередного пакета, переход - прием и анализ очередной «квитанции».

2. формальное описание CPN, моделирующей протокол. ниже приведено формальное описание сети на рисунке 5.21 в сокращенном виде.

  • Множество цветов:

;

;

;

; ;

  • Множества позиций и переходов показаны непосредственно на рисунке.

  • Цветовая функция имеет вид

  • Выражения на дугах показаны непосредственно на рисунке 5.21. Обратим внимание на дуги to и to . Выражения на этих дугах зависят от датчика случайного кода , который с определенной вероятностью вырабатывает значение true или false. Прохождение сигнала по этим дугам рассмотрено ниже.

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

  • функция инициализации имеет вид (рисунок 5.21) - иными словами, в начальный момент времени ( , ) в позиции находится подлежащих передаче пакетов, структура которых определена типом ;

- начальный номер передаваемого пакета;

.

3. Временной механизм работы CPN. Важную роль в работе рассматриваемой модели играет временной механизм.

Все переходы осуществляют временную задержку: - на время , - на время , - на время , задержка срабатывания переходов и является случайной величиной, которую генерирует датчик случайных чисел. На дуге to введена задержка на время .

Перемещаемые в сети фишки имеют временные метки, и при их прохождении через переходы значения «прикрепленного» времени возрастают, что моделирует задержку передачи как сообщений, так и «квитанций».

Помимо временной задержки, в рассматриваемой CPN моделируется потеря сообщения как при передаче пакета (на to ), так и при передаче «квитанции» (на дуге to ). Моделирование этих событий состоит в том, что с некоторой вероятностью, генерируемой специальным датчиком , вместо очередного пакета вида по дуге to передается «пустой» пакет , а по дуге to вместо сообщения – «пустое» сообщение .

4. Описание работы CPN. Проследим передачу одного пакета в системе. Пусть часы глобального времени в момент начала передачи показывают . В позиции находится фишка , в позиции - фишки ,…, , а в позиции - фишки ,…, , где ‑номер очередного передаваемого пакета, .

При срабатывании из извлекается фишка и с задержкой передается в . Кроме того, фишка с задержкой по дуге to возвращается в , а фишка по дуге to с временной меткой направляется в .

Следующим срабатывает переход и со случайной задержкой передает в либо фишку , либо «пустою» - в зависимости от сигнала датчика . Переход анализирует пришедшую в информацию. Если пришел очередной ожидаемый пакет, т.е. если хранимая в фишка имеет тот же номер, что и фишка ( ), то после задержки происходят следующие действия:

- принятый пакет передается получателю в с временной меткой ;

- содержимое счетчика в увеличивается на 1;

- в отправляется фишка с временной меткой .

Если же в пришло «пустое» сообщение (т.е. ), то в ничего не передается, содержимое не изменяется и в позицию отправляется фишка с прежним номером и указанной выше временной меткой.

Передача «квитанции» по обратному каналу происходит аналогичным образом. Фишка или с накопленной временной задержкой проходит через переход , при этом временная метка увеличивается на случайную величину . Затем на дуге to происходит проверка потери «квитанции». При срабатывании датчика в позицию вместо фишек или приходит фишка . Переход анализирует пришедшую фишку. При совпадении номера пришедшей фишки с номером отправленной переход срабатывает и отправляет фишку в , в противном случае срабатывания не происходит, и в остается прежний номер пакета . В первом случае может сработать переход и начнется передача пакета в описанном выше порядке. Во втором случае система оказывается заблокированной до тех пор, пока предыдущий пакет по дуге to не вернется в . После этого начнется повторная передача пакета с начальной временной отметкой .

Описанная модель протокола передачи данных позволяет исследовать характеристики его работы. Варьируя времена задержки , функции распределения величины и датчика , можно путем имитационного моделирования (многократного «прогона» пакетов через CPN) подобрать параметры протокола, обеспечивающие его эффективную работу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]