Тайм-аут_окна_ответа — управляет интервалом времени, в течение которого станция, имеющая открытое окно ответа, прослушивает перед передачей своего следующего кадра.
При передаче кадра запрос-преемника, кто-следующий? или разрешение-соперничества этот тайм-аут управляет интервалом времени, в течение которого станция запрашивает ответ. После передачи кадра запрос-преемника передающая станция загружает таймер окна-ответа числом открытых окон. Таким образом, этот тайм-аут определяет, как долго станция остается в состоянии ОЖИДАНИИ Е-ОТВЕТА, прослушивая ответы станций. Если этот тайм-аут истек и ничего? не было опознано, станция переходит в состояние ПЕРЕДАЧА-МАРКЕРА и далее в следующее подсос- тояние передача-маркера.
При передаче кадра данных запрос-С-ответом тайм-аут-окна- -ответа управляет интервалом времени, в течение которого станция, ожидает кадра ответа, прежде чем повторить кадр запрос-с- .ответом.
Тайм-аут_соперничества — управляет интервалом времени, в течение которого станция прослушивает в состоянии ЗАПРОС- ВХОЖДЕНИЯ после обнаружения кадра разрешение-соперничества, запрос-преемника или кто-следующий?, когда станция желает соперничать за овладевание маркером. Если станция во время прослушивания опознает передачу, она выходит из соперничества и должна возвратиться в состояние ДЕЖУРНОЕ.
Тайм-аут-передачи_маркера — управляет интервалом времени, в течение которого станция прослушивает после передачи маркера своему преемнику.
Если какой-либо кадр будет обнаружен до истечения таймаута передача-маркера, станция полагает; что ее преемник принял маркер. Если этот тайм-аут истек, а кадр данных не опознан, станция полагает, это ее преемник не принял маркер и переходит к следующему этапу процедуры передачи маркера.
Тайм-ауты октетных-интервалов. Остальные тайм-ауты имеют кратность октетному-интервалу, а не сетевому интервалу- ответа. Они используются для того, чтобы реализовать структуру классов доступа и для каждого класса доступа ограничить время, в течение которого станция может начинать передачу кадров.
Тайм-аут_оборота_маркера (класс_доступа) — это набор четырех тайм-аутов: по одному для каждого из трех низших классов доступа и один для обслуживания кольца. Три первые из этих тайм-аутов имеются только в тех станциях, которые используют факультативную возможность назначения приоритетов. Четвертый тайм-аут — обслуживание-кольца имеется во всех станциях.
Когда станция начинает обработку маркера при заданном классе доступа соответствующий таймер перезагружается значени- і ем заданного-времени-оборота для данного класса доступа. Когда станция снова получает маркер, она может передавать данные этого класса доступа до тех пор, пока не истечет оставшееся время в соответствующем тайм-ауте_оборота_маркера.
При первоначальном входе в кольцо три первые таймера приоритета устанавливаются в нулевое значение (тайм-ауты истекли), а тайм-аут_оборота_маркера (обслуживание-кольца) устанавливается в начальное_значение-тайм-аута-обслуживания_кольца.
Тайм-аут_удержания-маркера — время, оставшееся в текущем тайм-ауте-оборота-маркера загружается в таймер-удержания- маркера непосредственно перед тем, как таймер_оборота_маркера будет перезагружен. Станция может передавать кадры данных соответствующего класса доступа до тех пор, пока не истечет - тайм-аут_удержания_маркера.
Когда станция -передает сообщения наивысшего класса доступа, значение тайм-аута_удержания_маркера-высш_приоритета загружается в таймер-удержания-маркера. Таким образом, сообщения наивысшего класса доступа лимитируются только фиксированным числом октетов плюс завершением передачи последнего сообщения независимо от текущей загрузки сети.
Переменные и функции приемного конечного автомата. Выходы автомата ПМ—КА описаны ниже.
Молчание.шины — булева переменная, которая принимает значение «истинно» каждый раз, когда физический уровень сооб- „ щает, что принято сообщение молчание, и «ложно1», когда принято нечто другое, отличное от молчания. Переменная молчание-ши- ны устанавливается и сбрасывается автоматом ПМ—КА, а считы- • вается только автоматом УД—КА.
ПМ_кадр — запись, регистрируемая автоматом ПМ—КА. Эта запись обновляется для отображения содержимого самого последнего принятого действительного кадра. Основные поля в этой записи следующие.
УК — однооктетное поле управления кадра.
АП — двух- или шестиоктетное поле адреса получателя.
АО — двух- или шестиоктетное поле адреса отправителя.
Блок_данных — многооктетное поле блока данных.
КПК — четырехоктетное поле контрольной последовательности кадра.
ПМ_протокольный кадр — этот сигнал указывает, что принят действительный кадр и что тип этого кадра является одним из типов протокольного кадра УДС. Этот сигнал устанавливается автоматом ПМ—КА, считывается и сбрасывается автоматом УД— КА.
ПМ_кадр-данных — этот сигнал указывает, что принят действительный кадр и что тип этого кадра — кадр данных. Этот сигнал устанавливается автоматом ПМ—КА, а считывается автоматами УД—КА и ИНТ—КА; он сбрасывается только автоматом ИНТ—КА.
Пакет-помехі-булева переменная, устанавливаемая приемным автоматом ПМ—КА, когда переменная молчание-шины принимает значение «истинно» (шина переходит из состояния не_мол- чание в состояние молчание), и в течение передачи не были установлены ни ПМ-протокольный-кадр, ни ПМ_кадр данных (т. е. не было опознано ни одного действительного кадра). Она сбрасывается автоматом УД—КА после обработки условия «пакет помех».
Другие переменные и функции. Следующие переменные и функции являются локальными по отношению к автомату УД— КА.
ВМ — адрес владельца маркера — адрес текущего владельца маркера. Временный буфер загружен полем АО кадра запрос-преемника или кто-следующий? Если кадр установить-преемника передается станцией как часть процесса разрешения соперничества, то адрес АП берется из ВМ.
СС—адрес следующей станции—адрес преемника станции в логическом кольце. СС устанавливается, когда станция не знает, опознал ли ее преемник кадр запрос-преемника и соперничает ли он за маркер. Станция устанавливает адрес СС равным значению поля адреса получателя этого кадра. (Если соперничество станции в окне ответа оказалось успешным, она получит маркер и, возможно, передаст его той станции, чей адрес был загружен в область СС). Предположим, например, что станция с адресом 25 не входит в логическое кольцо, но желает в него войти. Если эта станция опознает кадрзапрос-преемника, переданный станцией 30 с адресом АП, равным 20, она установит СС равным 20 — адресу АП кадра. Если станция соперничает в окне и опознана станцией с адресом 30, ей будет передан маркер. Когда станция закончит передачу кадров данных, она передаст маркер своему преемнику—станции с адресом 20.
Переменная СС загружается также всякий раз, когда станция принимает адресованный ей кадр установить-преемника.
Каждый раз, когда значение СС меняется, примитив УД-СОБЫ- ТИЕ.индикация передается диспетчеру станции, если это возможно
Примечание. Поскольку станция считает, что она является членом логического кольца и она знает значение СС„ она больше не перезагружает СС при открытии окна соперничества, охватывающего адрес этой станции. Это обусловлено тем, что в условиях восстановления от ошибок станции будут передавать кадры запрос-преемника_2, адресованные самим себе, что открывает окна ответа для всех станций. Если бы при этом все станции сбрасывали свои переменные СС, то любое существующее логическое кольцо было бы разрушено.
СС-известен — булева переменная, которая указывает, считает ли данная станция, что она знает адрес своего преемника. Эта переменная устанавливается в значение «истинно» всякий раз, когда станция побеждает в процессе соперничества запрос-вхожде- ния, или находится в_кольце и получает адресованный ей кадр ус- тановить-пресмника, в котором блок данных (новый СС) не равен ДС.
Переменная СС-известен устанавливается в значение «ложно» всякий раз, когда станция выходит из логического кольца, или когда адрес СС устанавливается кадром установить-преемника в значение ДС.
Если переменная СС_известен «ложна», это означает, что данная станция не является членом активного логического кольца и что значения СС ;и ПС те определены.
ПС — адрес предшествующей станции — эта переменная устанавливается в значение адреса отправителя последнего маркера, адресованного данной станции.
При опознании кадра кто_следующий? содержимое поля блок- данных кадра сравнивается с содержимым ПС. Если они равны, станция отвечает на запрос кто-сле дующий? кадром установить- преемника.
Следующий пример пояснит использование ПС. Если логическое кольцо содержит станции с адресами 30, 25 и 20, то станция с адресом 20 в своем регистре ПС будет иметь значение 25, так как это адрес той станции, которая передает ей маркер. Если станция с адресом 25 неисправна, когда станция 30 пытается передать ей маркер, она не получит ответа. После двух попыток передать маркер, станция 30 передает кадр «кто следующий после 25?». Станция 20 отвечает передачей кадра «установите вашим преемником 20». Таким способом інеіисправіная станция 25 быстро выводится из кольца.
Макс_класс_доступа — целочисленная константа, используемая для инициации последовательности обработки ожидающей очереди кадров. Значение макс_класса_доступа равно 6 — наивысшему классу доступа.
Класс_доступа — целое число, используемое для упорядочения классов доступа во время передачи кадров данных.
Первый или самый приоритетный класс-доступа устанавливается в значение макс-класс_доступа (т. е. 6). Затем переменная класс-доступа уменьшается (на 2) по всем классам, пока не станет меньше нуля, после чего станция выполняет свои функции обслуживания кольца и передает маркер.
В_кольце — булева переменная устанавливается в значение «истинно», когда станция побеждает в процессе соперничества за- прос-вхождения, или когда станция успешно завершает процесс заявки маркера. Устанавливается в значение «ложно», когда станция сама выходит из логического кольца.
Станция_ограниченной_активности — булева переменная, используемая для приведения в состояние молчания тех станций, которые имеют неисправные приемники. Если приемник станции становится неработоспособным и это явно не обнаруживается, эта станция будет прерывать работу системы, непрерывно заявляя маркер и запрашивая преемника станции.
Если переменная станция_ограниченной_активности истинна, станции запрещается входить в процесс заявки маркера, если только у нее нет данных для передачи. Таким образом, станция с неработоспособным приемником и не имеющая данных для передачи будет оставаться пассивной и выведенной из кольца.
Если станция является участником кольца и ее приемник неисправен, она не сможет опознать заявку маркера своего приемника. Станция войдет в циклический алгоритм восстановления передачи маркера, быстро достигнув того момента, когда она передаст кадр запрос_преемника_.2, адресуемый самой себе, и не получит вразумительного ответа. С этого момента станция устанавливает переменную станция-ограниченной-активности в значение «истинно» и становится пассивной.
Переменная станция-ограниченной-активности принимает значение «ложно» всякий раз, когда станция обнаруживает действительный кадр от другой станции.
Младший-адрес — булева переменная принимает значение «истинно», когда адрес станции преемника больше адреса данной станции, и значение «ложно» в противном случае.
В любой момент времени в логическом кольце должна быть только одна станция, в которой переменная младший-адрес установлена в значение «истинно». Это та станция, которая имеет самый младший адрес среди всех станций, находящихся в данное время в логическом кольце. Когда эта станция открывает окна ответа во время передачи маркера, она должна открыть два окна. Первое окно используется теми станциями, которые имеют более- низкий адрес по сравнению со станцией, желающей войти в кольца.'Второе окно используется станциями, которые имеют более высокий адрес по сравнению с адресом следующего нормального владельца маркера (т. е. той станции, которая в данный момент имеет самый высокий адрес в кольце).
Младший-адрес вычисляется и устанавливается станцией всякий раз, когда СС изменяется.
Младший-адрес используется с другой целью, не имеющей отношения к передаче маркера. Если станция, владеющая маркером,. приходит в неисправное состояние, другая станция восстанавливает маркер. Тайм-аут шина-свободна является «сторожевым» тайм-аутом. Если станция ничего не опознает в интервале, превышающем этот тайм-аут, начинается процесс заявки-маркера.
При попытке минимизировать вмешательство в процесс заявки маркера одной из станций назначают меньшее значение тайм- аута-шина_свободна по сравнению с другими станциями. Эта станция восстанавливает все ошибки, связанные с потерей маркера, за исключением тех, которые она сама вызывает. Станция, у которой переменная младший-адрес имеет значение «истинно», всегда единственная в сети поскольку ей назначена такая роль.
Маркер-передан — булева переменная устанавливается в значение «истинно», когда станция передает маркер, и в значение «ложно», если станция опознает действительный кадр от другой •станции.
Эта переменная используется для обнаружения ошибок дублирования адресов сети. Если станция опознает действительный кадр УДС с адресом отправителя, равным ее собственному адресу, и переменная маркер-передан ложна, эта станция не может передавать кадр. Если такой кадр опознан, подуровень УДС извещает диспетчера станции об обнаружении другой станции сети, использующей такой же адрес УДС, после чего подуровень УДС входит в состояние АВТОНОМНОЕ.