1. Индикатор работоспособности. Для функций вышерас­положенного уровня может оказаться важным иметь уверенность в том, что подуровень УДС работает надлежащим образом и под­соединен к функционирующей сети. Указатель работоспособности обеспечивает внутреннее для станции периодическое информиро­вание о том, что подуровень УДС функционирует надлежащим образом и что УДС других станций работоспособны.

Указанное информирование осуществляется, когда УД—КА пе­ресекает дугу отсутствие_ответа_10 с новым значением перемен­ной состояние-передачи, равной значению переменной передача- маркера. Информирование о работоспособности происходит, когда станция открывает окно ответа и ничего не опознает в этом окне. Указатель работоспособности информирует о том, что станция принимает маркер от другой станции и что значение ее преемника не изменилось, что является нормальными условиями устойчивого функционирования сети.

Информирование о работоспособности должно осуществляться периодически в той станции, где переменная желание-участвовать остается истинной, а переменная единственная_активная_станция — ложной; другими словами, в той станции, которая является участником активного логического кольца. Если информирование о работоспособности происходит не периодически, монитор станции может предположить, что либо УДС станции неправильно функци­онирует, либо в сети возникла какая-то другая катастрофическая неисправность. После, возможно, небольшого числа повторных попыток станция должна быть удалена из сети для того, чтобы защитить другие станции от влияния возможного неисправного УДС.

  1. Выход из кольца. Если переменная желание-участвовать установлена в значение «ложно», и станции входят и выходят из кольца, то удаленная станция может повторно войти в кольцо при значении СС_известен «истинно», но недействительным СС. Эта ситуация может быть разрешена через обычный механизм восста­новления кольца.

Такая ситуация имеет место, когда станция занимает дугу вы- ход-из-кольца, тогда переменная желание-участвовать или ожи- дание-любой-передачи становится истинной, прежде чем станция сможет занять дугу выход-из-кольца и, таким образом, станция сможет вновь войти в кольцо через дугу восстановление-запроса- вхождения и не изменять адрес СС. Эта последовательность мо­жет привести к безуспешности передачи маркера, к вопросам кто-следующий? и в исключительных случаях — к выдаче за- прос-любой-стаиции.

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

  1. Делегирование права на передачу. Станция, владеющая маркером, может запросить другую станцию, не владеющую мар­кером, передать ответ. Фактически первая станция делегирует другой станции полномочие на передачу. Вторичная станция дол­жна удовлетворять всем требованиям, предъявляемым настоящим стандартом к владельцу маркера, за исключением требования к участию в логическом кольце передачи маркера и к соответствую­щим протокольным механизмам (если только эта вторичная стан­ция не входит или нс требует входа в кольцо). Эта вторичная станция не обязательно должна быть участником логического кольца с точки зрения адресации. Она не должна передавать в сеть свои данные, если только не имеет место следующее:

  1. она уполномочена владельцем маркера выполнить функции передатчика или

  2. передача данных разрешена процедурами, определенными в разд. 7.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Желаемое_время_обращения_(класс_доступа) — пространство целых чисел в диапазоне от 0 до 221-однооктетных_интервалов, ис­пользуемых в факультативных процедурах назначения приорите­тов и в тайм-ауте обслуживания-кольца. (См. п. 7.1.4 относитель­но функций этой переменной). •

Начальное_значение_тайм-аута_обслуживания_кольца — целое число в диапазоне от 0 до 221-однооктетных-интервалов, использу­емое для определения начального значения тайм-аута-оборота_ маркера (обслуживание-кольца) при входе станции в кольцо. Большое значение этого числа заставит станцию запросить преем­ников сразу же после ее входа в кольцо, а нулевое его значение приведет к отсрочке станцией этого запроса, по меньшей мере, на один оборот маркера. В конкретной реализации ненулевое значе­ние может рассматриваться как бесконечное.

Время_удержания_маркера_высш_приоритета — целое число в диапазоне от 0 до 216-однооктетных_интервалов. Используется для контроля максимального времени, в течение которого станция может передавать кадры при классе доступа 6. Если факультатив­ная возможность назначения приоритетов не используется, тогда время_удержания_маркера-высш_приоритета определяет, как дол* го станция может передавать кадры любого класса доступа.

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

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

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

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

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

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

Принят-ответ — булева переменная, которая принимает зна­чение «истинно», когда ИНТ—КА получает действительный кадр ответа после передачи станцией кадра запрос-с-ответом.

Питание-вкл — булева переменная, указывающая, что УД— КА может начинать работу. Ее значение обеспечивается диспетче­ром станции.

Замечание по управлению членством логического кольца. Булева переменная желание-участвовать функция и ожидание-ка- кой-либо_передачи определяют операции УД—КА относительно соперничества за овладение маркером и участия в логическом кольце в соответствии со следующей таблицей.Значения переменных и функций

Действия УД—КА

желание_участвовать

ожи дани е_.какой—л и - бо_передачи

ЛОЖНО

ложно

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

ЛОЖНО

истинно

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

истинно

ложно

Соперничает за маркер, если эта стан­ция не единственная активная. Оста­ется в логическом кольце даже при от­сутствии данных для передачи

истинно

истинно

Соперничал за маркер. Остается в логическом кольце и передает данные



  1. Тайм-ауты. При описании конечного автомата использу­ется большое число тайм-аутов. Тайм-аут определяется как сово­купность процедур и булевых переменных. Процедуры именуются как тайм-аут-хх.старт (значение), где хх — имя тайм-аута, а «значение» — целое число, которое устанавливает задержку тайм-аута. Тайм-аут-хх.значение сообщает текущее значение счет­чика. Булевы переменные именуются тайм-аут-хх.истек и прини­мают значение «ложно» в процессе отсчета тайм-аута и значение «истинно», когда тайм-аут истекает и достигнет значения ноль.

Например, тайм-аут шина-свободна устанавливается в значе­ние «один» (.интервал ответа) путем отсчета тайм-аута_ш.ина_сво- бодна.старт (1). Переменная тайм-аут-шипа-свободна.истек при­нимает значение «ложно» в течение одного интервала-ответа.

  1. Интервальные тайм-ауты интервала-ответа. Первые пять тайм-аутов (тайм-аут ліина-свободная, тайм-аут-заявки, тайм-аут_окна_ответа, тайм-аут_соперничества и тайм-аут-переда- чи-маркера) оперируют целыми числами, кратными сетевому ин- тервалу-ответа. (Первые пять тайм-аутов не используются одно­временно, поэтому они могут быть реализованы одним схемным таймером).

Тайм-аут_шина_свободна — управляет длительностью, в тече­ние которой станция в состоянии ДЕЖУРНОЕ прослушивает лю­бые данные в среде до входа в состояние ЗАЯВКА-МАРКЕРА й повторной инициации сети. Большинство станций ожидают в тече­ние семи интервалов-ответа. Одна из станций сети, имеющая на- именьший_адрес, ожидает в течение шести интервалов_ответа. Функция макс-шина_свободна выдает значение 6 или 7 в зависи­мости от состояния наименьшего-адреса.

Тайм-ауТ-заявки — управляет длительностью интервалов ме­жду передачами кадров заявка_маркера, в течение которых стан­ция прослушивает. Таймер_заявки всегда загружается значени­ем 1.