Поскольку станция широкополосной сети всегда должна опознавать свои собственные кадры, то в случае, если станция, передавшая маркер, опознает отдельный пакет помех и не опознает собственного кадра маркера, она предполагает, что опознала свой собственный искаженный кадр маркера, который оказался искаженным и продолжает наблюдать дальше.
При обнаружении второго пакета-помех или пакета-помех после опознания собственного кадра маркера станция, передавшая маркер, продолжает наблюдать в состоянии КОНТРОЛЬ_ПЕ- РЕДАЧИ-МАРКЕРА еще в течение максимум четырех интерва- лов-ответа. Если и после этого она ничего не обнаружит, станция предполагает, что обнаруженный пакет помех не является искаженным кадром ее приеемника, и повторно выдает маркер. Если в течение следующих четырех интервалов-ответа станция ничего не обнаружит, она полагает, что ее приеемник завладел маркером.
Если владелец маркера не обнаружит действительного кадра данных после первой передачи маркера, он еще раз повторяет операцию передачи маркера, осуществляя такой же контроль, как и при первой попытке.
Если преемник не передает и после второго кадра маркера,, передающая станция предполагает, что этот преемник неисправен. При этом она выдает кадр «кто-следующий?» с адресом своего преемника в поле блок-данных этого кадра. Каждая станция сравнивает значение поля блок-данных кадра «кто следующий?» с адресом своего предшественника (станции, которая в нормальных условиях передает ей маркер). Станция, чей предшественник является преемником передающей станции, отвечает за кадр «кто следующий?» своим адресом в кадре установить-преемника. Станция-владелец маркера устанавливает таким образом нового преемника, выводя неисправную станцию из логического кольца.
Если передающая станция не обнаружила ответа на кадр «кт©' следующий?», она повторяет этот кадр еще раз. Если ответа по- прежнему нет, эта станция пытается использовать другую стратегию восстановления логического кольца. Она передает кадр за- ирос-преемннка-2 со своим собственным адресом в полях АП и АО, запрашивая любую станцию системы ответить ей. Любая работоспособная станция, которая обнаружила этот запрос и которая желает стать участником логического кольца, выдает ответ, и тем самым восстанавливает логическое кольцо, используя рассматриваемый в п. 5.1.4 процесс окна ответа.
Если все попытки запросить преемника оказались безуспешными, станция полагает наличие неисправности: либо все станции неисправны, либо все станции вышли из логического кольца, либо имеет место разрыв в физической среде, либо неправильно работает собственный передатчик станции, либо неисправен собственный приемник станции, в результате чего она не может слышать другие станции, отвечающие на ее запросы. В этих условиях, станция прекращает попытки поддержать логическое кольцо. Если станция не имеет кадров для передачи, она отыскивает некоторую информацию об активности других станций. Если станция имеет кадры для передачи, она передает все свои оставшиеся кадры данных и затем повторяет процесс передачи маркера. Если станция выдала свои кадры и по-прежнему не может определить своего преемника, она «замолкает» и слушает передачи других станций.
Таким образом, при нормальной работе маркер передается от станции к станции, используя короткий кадр маркера. Если станции не удается захватить маркер, то передающая станция использует последовательность восстановительных процедур, объем которых сильно возрастает при повторяющихся неудачах станции установить станцию—преемник.
Окна ответа. Новые станции вводятся в логическое кольцо посредством управляемого процесса соперничества с использованием «окон ответа». Окно ответа — это управляемый интервал времени (равный одному интервалу-ответа), следующий после передачи кадра управлен-ия-УДС, в кото-ром станция, передающая кадр, выдерживает паузу и слушает ответ. Если в интервале окна ответа станция опознает начало передачи, она продолжает слушать эту передачу даже после того, как окно ответа истечет до тех пор, пока передача не закончится. Таким образом, окна ответа определяют интервал времени, в течение которого станция может услышать начало ответа от другой станции.
Два типа кадров: запрос-преемника-1 и запрос-преемника-2 указывают на открытие окон ответа для станций, желающих войти в логическое кольцо. Кадр запрос-преемника определяет диапазон адресов станций между адресом отправителя и получателя кадра. Те станции, чьи адреса попадают в этот диапазон, и которые желают войти в логическое кольцо, отвечают на этот кадр.
После передачи кадра запрос-преемник а станция ожидает поступления ответа в окне ответа, -следующем за кадром. Отвечающие станции посылают этой станции свои запросы стать следую- . щей станцией в логическом кольце. Если станция, передавшая кадр, опознает действительный запрос, она разрешает новой станции войти в логическое кольцо, изменяя адрес своего преемника на адрес новой станции и передавая маркер этому новому преемнику.
Не исключена воможность, что в любом окне ответа несколько станций одновременно пожелают войти в логическое кольцо. Чтобы минимизировать возникающее в таких случаях соперничество, последовательность выдачи запросов ограничивается требованием, чтобы станция запрашивала разрешение на доступ только тогда, когда окно ответа открыто для диапазона адресов, охватывающих и ее адрес.
Существует два типа кадра «запрос-преемника»: запрос-пре- емника-1, имеющий одно окно ответа, и запрос-преемника-2, имеющий два окна ответа. Запрос-преемника-1 передается, когда .адрес преемника меньше адреса данной станции. Это нормальная ситуация, когда маркер передается от станции с большим адресом к станции с меньшим адресом. Кадр запроб-преемника-1 разрешает отвечать только тем станциям, адреса которых находятся в диапазоне между адресами передатчика маркера и предполагаемого следующего владельца маркера, ограничивая, таким образом, число возможных соперников и сохраняя нисходящий порядок логического кольца.
Только у одной станции логического кольца свой адрес меньше адреса ее преемника (т. е. единственная станция, имеющая наименьший адрес, передает маркер на «вершину» адресной иерархии логического кольца). При запросе преемников такая станция должна открыть два окна ответа: одно для тех станций, адреса которых расположены ниже ее собственного адреса, и другое для станций с адресами выше адреса ее преемника. При открывании окон ответа станция с наименьшим адресом посылает кадр запрос-пре- емника-2. Станции, адреса которых расположены ниже адреса передающей станции, выдают ответ в первом окне Ьтвета; станции с адресами более высокими, чем у преемника передающей станции, выдают ответ во втором окне ответа.
Запрашивающая станция, которая опознала в любом окне ответа действительный кадр установить-преемника, находит нового преемника. Если одновременно отвечают несколько станций, то в заданный период ответа можно слышать лишь нераспознаваемые помехи. При этом запрашивающая станция выполняет последовательный алгоритм арбитража с целью идентификации одного отвечающего, выдавая кадр раз решен ие-сопер ни честна. Станции, которые ответили на самый ранний кадр запрос-преемника и которые еще не исключены указанным алгоритмом, выбирают двухбитную величину задержки прослушивания (обычно из адреса станции) и «слушают» в течение 0, 1, 2 или 3 интервалов-ответа в зависимости от величины задержки прослушивания. (Выбор этого* значения задержки прослушивания описан ниже. Если эти соперничающие станции во время прослушивания что-то опознают (т. е. не-молчание),, они исключают себя из процесса арбитража. Если они опознают только «молчание», они продолжают отвечать- на последующие запросы разрешение-соперничества запрашивающей станции. Этот процесс обычно приводит к установлению одного нового преемника.
Ограничение времени оборота маркера. Наихудший случай времени оборота маркера определяет максимальную задержку, испытываемую станцией в получении доступа к сети. Очень длительное время оборота маркера имеет место, когда многие станции пытаются включиться в логическое кольцо, выполняя процедуру запроса преемника при одном и том же обороте маркера.
Максимальное время оборота маркера ограничивается временем отсрочки процедуры запроса преемника всякий раз, когда время оборота маркера превышает заданное максимальное значение. Тайм-аут-оборота-маркера (обслуживание-кольца) на каждой отанции измеряет время оборота маркера. Если это время превышает установленное диспетчером станции значение желаемое-время- оборота (обслуживание-кольца), станция не выполнит процедуру запроса преемника. При следующем обороте маркера станция определяет, достаточно ли быстро обращается сейчас маркер, чтобы выполнить процедуру запроса преемника.
Значение желаемое-время оборота (обслуживание-кольца) в сочетании с факультативной возможностью назначения приоритетов (см. п. 5.1.7) определяет максимальное время оборота маркера.
Инициация. Инициация касается в основном специального случая подключения новых станций; эта процедура запускается при истечении в одной из станций тайм-аута неактивности (ши- на-свободна). При истечении этого тайм-аута станция передает кадр заяівка_м.аіркеіра. Как и в алгоритме окна ответа, алгоритм инициации допускает возможность одновременной попытки нескольких станций инициировать сеть. Эта ситуация разрешается путем сортировки адресов инициаторов.
Каждый возможный инициатор передает кадр заявка-марке- ра, у которого длина поля блок-ланных кратна сетевому -интерва- лу_ответа (кратность 0, 2, 4, 6 основана на выбранных битах адреса станции). Каждая инициирующая станция ожидает затем в течение одного интервала-ответа, чтобы начать собственную передачу, пропуская передачи других станций, которые выбрали такую же длину кадра. Затем станция отслеживает состояние среды.
Если станция опознает не-молчание, она приходит к выводу, что какая-то станция (или станции) ведет (ут) передачу большей длительности. Данная станция уступает право на передачу станциям, ведущим более длинные передачи, и вновь входит в состояние ДЕЖУРНОЕ.
При обнаружении молчания и наличии в комбинации адреса неиспользованных бит станция, пытающаяся инициировать, повторяет этот процесс, используя следующие два бита своего адреса для определения длины следующего передаваемого кадра. Если все биты использованы и по-прежнему опознается молчание, станция становится «победителем» соперничества за инициацию и завладевает м-аркером.
Поскольку в сети оказывается уникальный кадр маркера, логическое кольцо строится по описанному ранее процессу окна ответа.
Примечание. В конце алгоритма сортировки адресов используется случайная пара бит, чтобы предотвратить ситуацию, когда две станции, имеющие одинаковый адрес (что является ошибочной ситуацией), не выводили постоянно всю систему из строя. Если две станции не различаются (случайные выборы идентичны), они обе пытаются сформировать логическое кольцо и, по меньшей мере, одна из них должна этого добиться. Если они различаются (случайные выборы различны), одна из них должна отсрочить свою передачу. В последнем случае станция, отсрочившая передачу, услышит передачу от станции с идентичным адресом и обнаружит состояние ошибки.
Выход из кольца. Станция может сама в любое время достаточно просто выйти из логического кольца, не ответив на переданный ей маркер и предоставив возможность механизмам восстановления неисправностей протокола доступа к среде «залатать» образовавшийся пробел. Более эффективный метод состоит в следующем: станция, владеющая маркером и желающая выйти из логического кольца, передает кадр установить-преемника своей станции — предшественнику (т. е. станции, которая передала ей імар- кер), содержащий адрес своего преемника. Затем станция, желающая выйти из кольца, передает, как обычно, маркер своему преемнику. Для восстановления станции в логическом кольце требуется выполнить одну из последовательностей, описанных в пп. 5.1.4 и 5.1.6.
Факультативная возможность назначения приоритетов. ЛАетод маркерного доступа обеспечивает факультативный механизм назначения приоритетов, который назначает кадрам данных вышерасположенного уровня, ожидающим передачи, различные «классы обслуживания», классифицируемые или упорядочиваемые по степени желаемой приоритетности передачи. Этот механизм дает возможноеіь подуровню УДС обеспечивать для протоколов подуровня УЛЗ и более высоких уровней восемь классов обслуживания. Приоритет каждого кадра определяется классом обслуживания, запрошенным в команде УД-БЛОК-ДАННЫХ.запрос (см. п. 2.2.1).
В методе маркерного доступа к шине различаются только четыре уровня приоритета, называемые «классами доступа». Таким образом, имеются четыре очереди запросов для хранения кадров, ожидающих передачи. Классы доступа именуются номерами 0, 2, 4 и 6; при этом 6 — высший приоритет, 0 низший приоритет.
Подуровень УДС преобразует запрошенный подуровнем УЛЗ класс услуг в трехбитное значение приоритета, которое вводится в поле «управление кадра». Затем значение приоритета преобразуется в класс доступа УДС путем отбрасывания наименее значащего бита в поле приоритета. Таким образом, классы обслуживания 0 и 1 соответствуют классу доступа 0, классы обслуживания 2 и 3 — классу доступа 2, классы обслуживания 4 и 5 — классу доступа 4 и классы обслуживания 6 и 7 — классу доступа 6.
Любая станция, не использующая факультативную возможность назначения приоритетов, должна передавать каждый кадр данных с классом доступа 6 (высший приоритет). Значение класса обслуживания в примитиве УД-БЛОК-ДАННЫХ.запрос должно передаваться в октете УК. Для всех станций общее правило управления передачей этих кадров высшего приоритета состоит в том, что станция не должна передавать последовательные кадры данных дольше некоторого максимального времени, устанавливаемого диспетчером станции. Это время, называемое временем- удержания_маркера_высш_пр, предотвращает монополизацию сети со стороны любой станции. Станция, имеющая для передачи большее число кадров данных класса доступа 6, чем она может передать за один период времени-удержания-маркера-высш-пр, не имеет права передавать последующие кадры после истечения этого времени и должна отдать маркер. Однако, если станция, использующая факультативную возможность назначения приоритета, 'Имеет для передачи кадры более низкого класса доступа, и ей отведено для этого время, она должна передать эти кадры, соблюдая описываемые здесь правила системы приоритетов.