Диаграмма состояний конечного автомата управления доступом
О — АВТОНОМНОЕ
1 — ДЕЖУРНОЕ
2 — ЗАПРОС.ВХОЖДЕНИЯ
3 — ЗАДЕРЖКА-ЗАПРОСА
4 — ЗАЯВКА-МАРКЕРА
5 — ИСПОЛЬЗОВАНИЕ-МАРКЕРА
6—ОЖИДАНИЕ-ОТВЕТА
-ИНТ-КА
7—КОНТРОЛЬ-КЛАССА
-ДОСТУПА
8—ПЕРЕДАЧА-МАРКЕРА
9—КОНТРОЛЬ-ПЕРЕДА- ЧИ-МАРКЕРА
10—ОЖИДАНИЕ-ОТВЕТА
Черт. 5.3
Дежурное состояние. ДЕЖУРНОЕ — это нормальное статическое состояние УД—КА.
При приеме кадра управление-УДС, над которым станция должна выполнить некоторые действия, вводится соответствующее состояние. Если, например, принят кадр маркера, адресованный данной станции, то станция входит в состояние ИСПОЛЬЗОВАНИЕ- МАРКЕРА.
Если станция в течение длительного времени (исчисляемого несколькими интервалами-ответа) не опознает никакой активности в среде, это может означать необходимость восстановления логического кольца. При этом станция пытается заявить маркер (входит в состояние ЗАЯВКА-МАРКЕРА) и инициировать (повторно инициировать) логическое кольцо.
Запрос вхождения. В состояние ЗАПРОС-ВХОЖДЕНИЯ переход происходит из состояния ДЕЖУРНОЕ, если станция, желающая войти в логическое кольцо, получает кадр запрос-преемника, охватывающий адрес данной станции. (В состояние ЗАПРОС-ВХОЖДЕНИЯ станция входит также из состояния ЗАДЕРЖ- КА-ЗАПРОСА в процессе разрешения соперничества, рассматриваемого в п. 5.2.3). В состоянии ЗАПРОС-ВХОЖДЕНИЯ соперничающая станция передает владельцу маркера кадр устано- вить-преемника и переходит в состояние ЗАДЕРЖКА-З АП РОСА для ожидания ответа.
Если станция намерена ответить на кадр запрос-преемника или кто-следующий? в первом окне ответа, она переходит в состояние ЗАПРОС-ВХОЖДЕНИЯ из состояния ДЕЖУРНОЕ с нулевой задержкой и поэтому сразу передает ответ установить-преемника и переходит в состояние ЗАДЕРЖКА-ЗАПРОСА. Если станция намерена отвечать во втором или в одном из последующих окон ответа, следующем за кадром, она задерживается в состоянии ЗАПРОС-ВХОЖДЕНИЯ до передачи кадра установить- преемника.
Если в состоянии' ЗАПРОС-ВХОЖДЕНИЯ станция опознает какую-либо передачу, она считает, что другая станция с более высоким номером адреса запрашивает маркер и поэтому данная станция должна возвратиться в состояние ДЕЖУРНОЕ.
Задержка запроса. ЗАДЕРЖКА-ЗАПРОСА — это состояние, в которое станция входит после передачи кадра запрос-преемника в состоянии ЗАПРОС-ВХОЖДЕНИЯ. В состоянии ЗАДЕРЖКА-ЗАПРОСА станция может рассчитывать услышать:
Маркер от владельца маркера, .адресованный данной станции и означающий,, что ее кадр установить-преемника опознан;
Маркер от владельца маркера, адресованный другой станции и означающий, что кадр установить-преемника этой другой станции опознан;
Кадр разрешение-соперничества от владельца маркера, означающий, что все станции, которые все еще запрашивают входа в логическое кольцо, должны выполнить другой шаг процесса разрешения соперничества, либо • .
Кадры других станций установить-преемника, которые данная станция игнорирует.
Если станция ничего не опознает или опознает кадр, отличный от кадров, указанных в перечислениях 1), 3) и 4), она должна выйти из состояния ЗАДЕРЖКА-ЗАПРОСА. При этом станция отказывается от запроса маркера и возвращается в состояние ДЕЖУРНОЕ.
В случае 1) владелец маркера опознал запрашивающую станцию и передал маркер. Процесс разрешения соперничества закончен. Запрашивающая станция при получении маркера переходит в состояние ИСПОЛЬЗОВАНИЕ-МАРКЕРА и начинает передачу.
В случае 2) .владелец маркера опознал другую запрашивающую станцию и передал ей маркер. Процесс разрешения соперничества закончен. Данная станция отказывается от запроса мар- кера и возвращается в состояние ДЕЖУРНОЕ.
В случае 3) владелец маркера опознал ответы от многих станций, запрашивающих маркер, и передал кадр разрешение-сопер- пичества. Все станции, находящиеся в состоянии ЗАДЕРЖКА- ЗАПРОСА, передают ответ на этот кадр. Отвечающие станции сначала устанавливают задержку и возвращаются в состояние ЗАПРОС-ВХОЖДЕНИЯ, где они слушают других запрашивающих. Если передача ни одной из запрашивающих станций не была услышана к моменту истечения периода задержки, тогда каждая станция передает владельцу маркера другой кадр установить- преемника.
Соперничество нескольких станций за маркер разрешается благодаря тому, что каждая станция задерживается на период пребывания в состоянии ЗАПРОС-ВХОЖДЕНИЯ перед передачей другого кадра установить-преемника. Интервал задержки выбирается путем использования двух бит станционного (уникального) адреса. При первом прохождении процесса разрешения соперничества используются два наиболее значащих бита адреса, при втором прохождении — 'следующие два бита адреса и т. д. Таким образом, станционные задержки равны 0, 1, 2 или 3 интервала-ответа при входе в состояние ЗАПРОС-ВХОЖДЕНИЯ перед передачей данных.
Когда несколько станций запрашивают входа в логическое кольцо, желательно, чтобы станция, владеющая маркером, передала маркер станции с наибольшим адресом. Чтобы выбрать среди многих претендентов соперничающую станцию с наибольшим адресом, используется дополнение адреса станции до единиц с целью определения задержки в состоянии ЗАПРОС-ВХОЖДЕНИЯ. Таким образом, станции с численно более высокими адресами задерживаются на более короткие интервалы и передают свои сообщения установить-преемника раньше, чем станции с более низкими адресами. Станции с численно более низкими адресами опознают передачи станций с большими адресами и выходят из процесса соперничества.
Если две соперничающие станции имеют одинаковое значение двух выбранных бит адреса, они задерживаются на одинаковое время и передают более или менее одновременно. Если владелец маркера опознает несколько ответов, но не опознает ни от одной из станций действительного кадра установить-преемника, он передает другой кадр разрешение-соперничества, начиная другой шаг процесса разрешения соперничества.
Процесс разрешения соперничества может иметь максимум 25 прохождений (48/2-f-l, для 48-битных адресов), образуя следующий цикл.
Все оставшиеся запрашивающие станции передают владельцу маркера кадры установить-преемника.
Все они слушают ответ от владельца маркера и игнорируют другие кадры установить-преемника.
Все они опознают кадр разрешение-соперничества от владельца маркера.
Все они задерживают передачу на несколько интервалов- ответа, исходя из последующих двух бит их собственных адресов.
Если в период задержки они опознают другой кадр, они отказываются от соперничества.
Процесс разрешения соперничества должен разрешаться таким образом, чтобы соперничающая станция с наибольшим значением адреса была опознана владельцем маркера и получила маркер. Однако, если двум станциям ошибочно присвоены одинаковые станционные адреса, обе они будут участвовать в процессе соперничества, используя одинаковые задержки и, возможно, не разрешат его.
Чтобы найти выход из этой ошибочной ситуации после того, как все биты адреса станции были использованы и соперничество осталось 'неразрешенным, выполняется процедура окончательного оазрешения с использованием двухбитного случайного номера. Если обе станции выбирают одинаковое случайное значение этого номера, или же другая ошибка препятствует разрешению соперничества, то владелец маркера и соперничающие станции отказываются от процесса разрешения до тех пор, пока не откроется следующее окно ответа. (Таким образом, две станции с одинаковыми адресами, которые постоянно выбирают одинаковое случайное значение номера, возможно, никогда не смогут войти в логическое кольцо).
Заявка маркера. В состояние ЗАЯВКА-МАРКЕРА станция входит из состояния ДЕЖУРНОЕ после 'истечения тайм-аута неактивности (и эта станция желает войти в логическое кольцо). В этом состоянии станция пытается инициировать или повторно инициировать логическое кольцо передачей кадров заявка-маркс- ра.
Чтобы разрешить ситуацию, когда несколько станций одновременно передают кадры заявка-маркера, каждая станция после передачи кадра заявка-маркера устанавливает задержку длительностью в один интервал-ответа и затем осуществляет наблюдение за физической средой, как описано выше. Если по истечении этой задержки шина находится в неактивном состоянии, станция передает другой кадр заявка-маркера.
Если станция выполнила макс-число-передач (где макс-чнс- ло-передач равно половине числа бит в адресе станции плюс единица, поскольку биты адреса используются попарно) кадров заявка-маркера, не опознав других передач, то эта станция успешно заявила маркер и она переходит в состояние ИСПОЛЬЗОВАНИЕ МАРКЕРА.
Использование маркера. Состояние ИСПОЛЬЗОВАНИЕ- МАРКЕРА вводится сразу после приема или после заявки маркера. Это то состояние, в котором станция может передавать кадры данных.
Как только станция входит в это состояние, она начинает, отсчет тайм-аута «удержание маркера», который ограничивает время, в течение которого станция может осуществлять передачу до перехода к обработке следующего класса доступа или до передачи маркера. Значение, первоначально загруженное в таймер удержания маркера, т. е. время-удержания-маркера -высш-приорите- та, является параметром, определяемым системой.
При истечении станционного тайм-аута удержания маркера и завершении любой текущей передачи или при окончании у станции данных для передачи она входит в состояние КОНТРОЛЬ- КЛАССА-ДОСТУПА.
Когда станция передает кадр данных, она устанавливает таймаут окна ответа в значение 3 интервала-ответа и входит в состояние ОЖИДАНИЕ-ОТВЕТА-ИНТ—КА.
Ожидание ответа ИНТ—КА. Состояние ОЖИДАНИЕ- ОТВЕТА-ИНТ—КА вводится после, передачи кадра данных. Автомат УД—КА может ожидать, прежде чем выдать автомату ИНТ—КА сообщение о получении ответа.
Если кадром, переданным в состоянии ИСПОЛЬЗОВАНИЕ- МАРКЕРА, был кадр запрос-без-ответа, то ответ не ожидается. Состояние ИСПОЛЬЗОВАНИЕ-МАРКЕРА вводится снова для проверки другого кадра или тайм-аута_удержания-маркера. Если был передан кадр запрос-с-ответом, то станция в состоянии ОЖИДАНИЕ-ОТВЕТА-ИНТ—КА ожидает одно из следующих событий:
поступление кадра ответа, адресуемого запрашивающему;
поступление любого другого действительного кадра;
истечение тайм-аута.
Если опознан кадр ответа, адресованый запрашивающему, снова вводится состояние ИСПОЛЬЗОВАНИЕ-МАРКЕРА для проверки другого кадра или тайм-аута_удержания-маркера. (Автомат ИНТ—КА передает кадр ответа указанному логическому объекту пользователя-УДС так же, как и все другие кадры данных, адресуемые данной станции. ИНТ—КА увязывает также кадр ответа с только что переданным кадром запрос-с-ответом).
Если станция опознала любой другой действительный кадр, значит имеет место ошибка. Станция возвращается в состояние ДЕЖУРНОЕ и обрабатывает полученный кадр.
Если тайм-аут истечет до того, как будет опознан действительный кадр, станция повторяет передачу кадра данных запрос-с-от- ветом. Если число повторных передач этого кадра станцией достигло значения, установленного параметром макс-число-попы- ток, станция отказывается от запроса. Автомат ИНТ—КА извещает логический объект пользователя УДС, что ответ на этот кадр не получен. Вводится состояние ИСПОЛЬЗОВАНИЕ-МАРКЕРА для проверки другого кадра или тайм-аута-удержания-маркера.
Контроль класса доступа. В состоянии КОНТРОЛЬ- КЛАССА-ДОСТУПА автомат УД—КА управляет передачей кадров различных классов доступа. Если факультативная возможность назначения приоритета не используется, считается, что все кадры имеют высший приоритет и состояние КОНТРОЛ Ь-КЛАС- СА-ДОСТУПА служит только для контроля входа в состояние ПЕРЕДАЧА-МАРКЕРА.
При использовании факультативной возможности назначения приоритетов станция может перед передачей маркера передать кадры с более низкими классами доступа. Для каждого класса доступа, кроме наивысшего, устанавливается желаемое время оборота-маркера. Когда станция владеет маркером и начинает учитывать передаваемые кадры такого класса доступа, время, оставшееся в таймере желаемого оборота-маркера, загружается в таймер удержания-маркера и станция возвращается обратно в состояние ИСПОЛЬЗОВАНИЕ-МАРКЕРА. В это время таймер желаемого оборота_маркера также перезагружается своим исходным значением.
Таким образом, для каждого класса доступа станция будет поочередно менять свои состояния ИСПОЛЬЗОВАНИЕ-МАРКЕРА и КОНТРОЛЬ-КЛАССА-ДОСТУПА. При наличии времени кадры данных будут передаваться в состоянии ИСПОЛЬЗОВАНИЕ-МАРКЕРА. После того как будет проверен класс доступа низшего приоритета, станция приступит к процессу передачи маркера, описываемому ниже.
При завершении станцией передачи кадров данных она должна войти в состояние ПЕРЕДАЧА-МАРКЕРА. Здесь возможны три случая:
станция знает своего преемника, поэтому просто передаст ему маркер и входит в состояние КОНТРОЛЬ_ПЕРЕДАЧИ-МАР- КЕРА;
станция знает своего преемника, но должна сначала проверить, желают ли новые станции войти в логическое кольцо. Станция передает кадр запрос-преемника и переходит в состояние ОЖИДАНИЕ-ОТВЕТА;
станция не знает своего преемника. (Такая ситуация имеет место после процесса инициации и в ошибочных ситуациях). Станция передает кадр запрос-преемника-2, открывая окна ответа для всех станций системы и переходит .в состояние ОЖИДА- НИЕ-ОТВЕТА.
Передача маркера. ПЕРЕДАЧА-МАРКЕРА — это состояние, ‘в котором станция пытается передать маркер своему преемнику.