Статус документа
Статус документа

ГОСТ 34.913.4-91 (ИСО 8802/4-88) Информационная технология (ИТ). Локальные вычислительные сети. Метод маркерного доступа к шине и спецификация физического уровня

7. КОНЕЧНЫЙ АВТОМАТ УПРАВЛЕНИЯ ДОСТУПОМ (УД-КА).
ФОРМАЛИЗОВАННОЕ ОПИСАНИЕ


В данном разделе определяется механизм управления доступом к среде с передачей маркера. Раздел начинается с описания переменных и функций, используемых при определении алгоритма. Вторая часть данного раздела представляет собой формальное описание на языке конечных автоматов механизма управления доступом с использованием переменных и функций, рассмотренных в первой части.

7.1. Переменные и функции. Переменные и функции описания конечного автомата подразделяются на следующие категории.

1) Переменные, определяемые диспетчером станции.

2) Переменные, определяемые интерфейсным конечным автоматом.

3) Таймеры (тайм-ауты).

4) Переменные, определяемые приемным конечным автоматом.

5) Прочие функции и функции УД-КА.

7.1.1. Переменные диспетчера станции. Диспетчер станции обеспечивает подуровень УДС следующими параметрами.

ДС - адрес данной станции. Переменная потока бит, установленная в значение 16- или 48-битного адреса станции. Значение ДС неявно определяет длину сетевого адреса.

Интервал_ответа - целое число в диапазоне от 1 до (2-1) октетных_интервалов. См. пп.5.1.1 и 6.1.8.

Мин_длина_преамбулы_после_молчания - целое число в диапазоне 1-15, равное минимальному числу октетов преамбулы, подлежащей использованию в начале передачи после того, как закончилось молчание станции. Значение параметра мин_длины_преамбулы_после_молчания определяется типом физического уровня станции. В п.9.3 описан способ получения этого параметра из диспетчера физического уровня при инициации станции.

Макс_счет_передач - целое число, равное половине длины адреса станции, в битах, плюс единица. (Таким образом, это число равно 9 при 16-битном адресе и 25 при 48-битном адресе).

Значение параметра макс_счет_передач ограничивает циклы в УД-КА. Оно используется для ограничения процесса соперничества за овладение маркером. После прохождения циклов соперничества через значение макс_счет_передач процесс должен быть остановлен, если вследствие ошибки отдельный соперник не может быть удовлетворен.

Значение параметра макс_счет_передач используется также для прекращения процесса заявки маркера. После того как кадр заявки маркера будет передан макс_счет_передач без опознания каких-либо передач от других станций, станция может считать, что она заявила маркер.

Макс_счет_внутр_запросов - целое число в диапазоне от 2 до (2-1), определяющее, сколько раз станция владела маркером. Это число вместе со значением тайм-аута обслуживания_кольца определяет, как часто станция открывает окна ответа. Обычно станция открывает окна ответа перед каждой -ой передачей маркера, где - значение макс_счета_внутр_запросов.

Если бы все станции кольца использовали одинаковое значение макс_счета_внутр_запросов, они могли бы согласованно открывать окна ответа при одном и том же обороте маркера. Эти действия привели бы к быстрым оборотам маркера, когда ни одно окно ответа не открыто, и к случайным оборотам маркера, когда каждая станция открывает окно ответа перед передачей маркера.

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

Макс_число_попыток - целое число в диапазоне от 0 до 7, определяющее число повторных передач станцией кадра запрос_с_ответом в случае отсутствия на него ответа.

Желаемое_время_обращения_(класс_доступа) - пространство целых чисел в диапазоне от 0 до 2-oднooктeтныx_интepвaлoв, используемых в факультативных процедурах назначения приоритетов и в тайм-ауте обслуживания_кольца. (См. п.7.1.4 относительно функций этой переменной).

Начальное_значение_тайм-аута_обслуживания_кольца - целое число в диапазоне от 0 до 2-oднooктeтныx_интepвaлoв, используемое для определения начального значения тайм-аута_оборота_маркера (обслуживание_кольца) при входе станции в кольцо. Большое значение этого числа заставит станцию запросить преемников сразу же после ее входа в кольцо, а нулевое его значение приведет к отсрочке станцией этого запроса, по меньшей мере, на один оборот маркера. В конкретной реализации ненулевое значение может рассматриваться как бесконечное.

Время_удержания_маркера_высш_приоритета - целое число в диапазоне от 0 до 2-oднooктeтныx_интepвaлoв. Используется для контроля максимального времени, в течение которого станция может передавать кадры при классе доступа 6. Если факультативная возможность назначения приоритетов не используется, тогда время_удержания_маркера_высш_приоритета определяет, как долго станция может передавать кадры любого класса доступа.

Желание_участвовать - булева переменная, которая определяет условие устойчивого состояния УД-КА, в котором он не имеет в очереди запросов на передачу. Если эта переменная истинна, станция должна быть в_кольце (быть участником логического кольца с передачей маркера). Если эта переменная ложна, станция должна быть вне_кольца (быть наблюдателем логического кольца с передачей маркера

).

7.1.2. Переменные и функции интерфейсного конечного автомата

Изъятие_ожидающего_кадра (класс_доступа) - функция, обеспечиваемая автоматом ИНТ-КА. Эта функция изымает первый кадр из очереди ожидающих кадров указанного класса доступа и выдает его автомату УД-КА для передачи.

Получение_задержанного_ответа ( ) - функция, обеспечиваемая интерфейсным конечным автоматом УДС. Эта функция воспринимает ответный кадр, выдаваемый пользователем УДС, и выдает его в УД-КА для передачи. Возможен только один ответный кадр в любой момент времени.

Ожидание_передачи (класс_доступа) - пространство булевых переменных, отражающее состояние очереди ожидающих кадров. Эта переменная будет иметь значение "истинно", если очередь ожидающих кадров указанного класса доступа не пустая и "ложно" в противном случае.

Ожидание_любой_передачи - булева переменная, выражающая логическое ИЛИ всех булевых переменных "ожидание_передачи" (класс_доступа). Значение этой переменной истинно, если, по меньшей мере, одна из очередей ожидающих кадров не пустая. Если все очереди пусты, значение этой переменной ложно.