По истечении тайм-аута подтверждения, тайм-аута „занято” или возможно, тайм-аута бита 3 подуровень УЛЗ на этом сое­динении звена данных должен перейти в состояние восстанов­ления по тайм-ауту и добавить единицу к своей переменной счета повторных передач.

Затем УЛЗ должен начать отсчет тайм-аута бита 3 и пере­дать командный ПБД формата УКО с битом 3, равным 1.

Состояние восстановления по тайм-ауту должно быть сброшено на соединении звена данных, когда УЛЗ примет от удаленного УЛЗ правильный ПБД формата И или формата УКО с битом П, равным 1.

Если в состоянии восстановления по тайм-ауту УЛЗ принял без ошибок действительный ПБД формата И или формата УКО с битом П, равным 1, и с номером Нпм, находящимся внутри диапазона, начинающегося со значения последнего принятого Нпм и до текущего значения переменной передачи включительно, то он должен сбросить состояние восстановле­ния по тайм-ауту, установить свою переменную передачи, равной принятому номеру Нпм, остановить отсчет тайм-аута бита 3 и передать повторно все неподтвержденные ПБД.

Если в состоянии восстановления по тайм-ауту УЛЗ при­нял без ошибок действительный ПБД формата И или форма­та УКО с битом 3/П, равным 0, и с номером Нпм, находящим­ся внутри диапазона, начинающегося со значения последнего принятого Нпм и до текущего значения переменной передачи включительно, то он не должен сбрасывать состояние восста­новления по тайм-ауту, а должен рассматривать принятое значение Нпм как подтверждение указанных ранее передан­ных ПБД И (см. п. 7.5.5).

По истечении тайм-аута бита 3 в состоянии восстановления по тайм-ауту УЛЗ должен прибавить единицу к своей перемен­ной счета повторных передач. Если переменная счета повтор­ных передач не равна N2, то УЛЗ должен передать повторно ПБД формата УКО с битом 3, равным 1, и начать повторный отсчет тайм-аута бита 3.

Если переменная счета повторных передач равняется N2, то УЛЗ должен начать процедуру сброса (передав командный ПБД УРРАС), как описано в п. 7.6 ниже. N2 — это системный параметр (см. п. 7.8.2).

  1. Процедуры сброса

Фаза сброса используется для инициации обоих направле­ний передачи информации в соответствии с описанными ниже процедурами. Фаза сброса должна применяться только во вре­мя режима асинхронного ответа сбалансированного (РАС).

Любой УЛЗ может начать сброс обоих направлений, пере­дав командный ПБД УРРАС и начав отсчет тайм-аута подт­верждения.

После приема командного ПБД УРРАС УЛЗ должен при первой возможности передать:

  1. ответный ПБД НП и сбросить в 0 свои переменные ПМ и ПД для данного соединения звена данных либо

  2. ответный ПБД ФРЗД, если это соединение звена данных должно быть завершено.

Передача ответного ПБД НП или ФРЗД должна иметь преимущество перед передачей любого другого ответного ПБД, который может ожидать передачи по тому же соедине­нию звена данных. После ПБД НП могут следовать другие ПБД УЛЗ, если такие имеются. Если инициирующий УЛЗ правильно принял ПБД НП, то он должен сбросить свои переменные передачи и прием ПД И ПМ в 0 и остановить отсчет тайм-аута подтверждения. Должны быть также сброше­ны все особые условия, которые могли присутствовать в лю­бом из УЛЗ. участвующем в сбросе. Этот обмен должен также указывать на сброс состояния занятости, которое могло быть в любом из УДЗ, участвующем в сбросе.

При приеме ответного ПБД ФРЗД подуровень УЛЗ должен перейти в фазу разъединенного звена данных, прекратить от­счет своего тайм-аута подтверждения и сообщить об этом вы­шерасположенному уровню для принятия соответствующих мер. Если тайм-аут подтверждения истек до приема ответного ПБД НП или ФРЗД, то камандный ПБД УРРАС должен быть передан повторно и начат отсчет тайм-аута подтверждения. После истечения этого тайм-аута N2 раз передающий УЛЗ должен прекратить передачу командного ПБД УРРАС,.сооб­щить об этом вышерасположенному уровню для иницииро­вания соответствующих действий по исправлению ошибки и перейти в режим асинхронного разъединения. Значение N2 определено в п. 7.8.2.

Другие ПБД типа 2 (кроме командных ПБД УРРАС и РЗД), принятые УЛЗ до завершения процедуры сброса, долж­ны быть аннулированы.

При некоторых особых условиях НПРК, перечисленных в п. 7.7, УЛЗ может запросить удаленный УЛЗ сбросить соеди­нение звена данных, передав ответный ПБД НПРК.

При приеме ответного ПБД НПРК (даже во время особого условия НПРК) подуровень УЛЗ должен инициировать проце­дуру сброса путем передачи командного ПБД УРРАС либо инициировать процедуру разъединения путем передачи ко­мандного ПБД РЗД.

После передачи ответного ПБД НПРК подуровень УЛЗ должен ввести особое условие НПРК. Особое условие НПРК должно сбрасываться после того как УЛЗ примет или передаст командный ПБД УРРАС или РЗД либо ответный ПБД ФРЗД. Любой другой командный ПБД типа 2, принятый во время наличия особого условия НПРК, должен вызывать в УЛЗ повторную передачу ответного ПБД НПРК с тем же полем информации, что и первоначально переданное.

При наличии особого условия НПРК дополнительные ПБД И не должны передаваться, а полученные ПБД формата И и формата УКО должны аннулироваться УЛЗ.

При передаче ответного ПБД НПРК подуровень УЛЗ мо­жет начать отсчет своего тайм-аута подтверждения. Если этот тайм-аут истечет до получения от удаленного УЛЗ командно­го ПБД УРРАС или РЗД, то УЛЗ может повторно передать ответный ПБД НПРК и начать повторный отсчет тайм-аута подтверждения. После истечения тайм-аута подтверждения N2 раз УЛЗ должен сбросить это соединение звена данных, передав командный ПБД УРРАС. Значение N2 определяется в п. 7.8.2.

Если во время отсчета тайм-аута подтверждения передают­ся дополнительные ответные ПБД НПРК, то отсчет этого тайм­аута не должен ни прекращаться, ни возобновляться.

  1. Особые условия НПРК

УЛЗ должен запросить процедуру сброса (путем передачи ответного ПБД НПРК), как описано в п. 7.6, если во время фазы передачи информации он получает ПБД с одним из усло­вий, указанных в п. 5.4.2.3.5. Кодирование поля информации передаваемого ответного ПБД НПРК приведено в п. 5.4.2.3.5.

УЛЗ должен начать процедуру сброса (путем передачи командного ПБД УРРАС), как описано в п. 7.6, если в фазе передачи информации он получит ответный ПБД НПРК.

  1. Список параметров соединения звена данных

Определен ряд параметров соединения звена данных, диа­пазоны значений которых определяются на межсистемной основе пользователями во время установки конкретной ЛВС.

Необходимы следующие параметры соединения звена дан­ных для операций типа 2.

  1. Функции тайм-аута. В операциях типа 2 в соединении звена данных могут иметь место ряд независимых событий, каждое из которых могло бы представлять временную функ­цию. Эти временные функции определены ниже так, как они идентифицированы в тексте описания операций типа 2. Понят­но, что эти временные функции можно реализовать, используя ряд индивидуальных тайм-аутов или используя единственный тайм-аут. Если предусмотрена единственная временная функ­ция, то разработчику необходимо будет определять при каж­дом обращении к тайм-ауту, когда останавливать отсчет, когда начинать сначала и когда продолжать начатый отсчет, основываясь на приоритетах конкретных обрабатываемых событий.

Длительности функций тайм-аута должны определяться с учетом момента запуска тайм-аута, т. е. в начале или в конце события, обусловившего запуск тайм-аута (например переда­ча ПБД в УЛЗ), а также с учетом всех задержек, вносимых подуровнем УДС.

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

      1. Тайм-аут подтверждения. Тайм-аут подтверждения является параметром соединения звена данных, который должен определять интервал времени, в течение которого УЛЗ должен ожидать приема подтверждения на один или не­сколько неподтвержденных ПБД И или ожидать ответного ПБД на переданный ненумерованный командный ПБД.

      2. Тайм-аут бита 3. Тайм-аут бита 3 является парамет­ром соединения звена данных, который должен определять временной интервал, в течение которого УЛЗ должен ожидать приема ПБД с битом П, равным 1, в ответ на переданную ко­манду типа 2 с битом 3, равным 1.

      3. Тайм-аут „неприем”. Тайм-аут „неприем” (НПР) является параметром соединения звена данных, который дол­жен определять временной интервал, в течение которого УЛЗ должен ожидать приема ответа на переданный ПБД НПР.

      4. Тайм-аут „занято”. Тайм-аут „занято” является параметром соединения звена данных, который должен опре­делять временной интервал, в течение которого УЛЗ должен ожидать указания сброса состояния занятости на другом УЛЗ.

    1. Максимальное число передач — N2. N2 — это пара­метр соединения звена данных, который указывает макси­мальное число повторных передач ПБД после истечения тайм­аута подтверждения, тайм-аута бита 3 или тайм-аута „не­прием”.

    2. Максимальное число октетов в ПБД И — №1.№1 — это параметр соединения звена данных, который определяет максимальное число октетов в ПБД И. Для определения точ­ного значения N1 для конкретного метода доступа следует обратиться к описанию соответствующего УДС. УЛЗ сам по себе не налагает ограничений на значение N1. Однако в целях получения значения N1, от которого могут зависеть все поль­зователи УЛЗ типа 2, все УДС должны быть способны, по меньшей мере, обрабатывать ПБД И с полем информации до 128 октетов включительно.

    3. Максимальное число неподтвержденных ПБД И — к. Максимальное число (к) последовательно пронумерован­ных ПБД И, которые в УЛЗ могут оставаться неподтвержден­ными в любой момент времени, должно быть параметром сое­динения звена данных, значение которого не должно превы­шать 127.

    4. Минимальное число октетов в ПБД. Действительный ПБД соединения звена данных минимальной длины должен содержать в точности два поля адреса и одно поле управления, расположенные в перечисленном порядке. Таким образом, минимальное число октетов правильного ПБД соединения звена данных должно равняться трем или четырем в зависи­мости от формата ПБД: формат НКО либо формат И или УКО соответственно.

  1. Точное описание процедур типа 2

При обнаружении различий с текстом разд. 7 данный под­раздел (7.9) должен рассматриваться как определяющее опи­сание.

  1. Описание компонента СОЕДИНЕНИЕ. Компонент СОЕДИНЕНИЕ обрабатывает весь поток ПБД типа 2 конкрет­ного соединения звена данных (характеризующегося парами адресов: АП, ПДУП — АО, ПДУО). Будучи активизирован компонент СОЕДИНЕНИЕ должен обрабатывать все ПБД типа 2, адресованные локальному ПДУ от удаленного ПДУ, а также передавать ПБД типа 2 удаленному ПДУ либо по за­просу пользователя, либо в результате выполнения протокола (см. черт. 7.1 и табл. 7).

Когда компонент ПДУ переходит в состояние АКТИВЕН (как описано в п. 6.9), все компоненты СОЕДИНЕНИЕ, свя­занные с этим ПДУ, переходят в состояние РАР (режим асинх­ронного разъединения). Когда компонент ПДУ выходит из состояния АКТИВЕН, все компоненты СОЕДИНЕНИЕ, свя­занные с этим ПДУ, деактивизируются, в каком бы состоянии они ни находились в этот момент.

При интерпретации таблицы переходов состояний необхо­димо учитывать следующие моменты:

  1. Для уменьшения числа состояний используются пере­менные рта „флаг”, которые указывают на наличие специаль­ных условий, влияющих на работу компонента СОЕДИНЕ­НИЕ. Определены следующие флаги: 3_ФЛАГ, П_ФЛАГ, У_ФЛАГ, ДАННЫЕ .ФЛАГ, УДАЛЕННАЯ_ЗАНЯТО.

  2. Некоторые события представлены в форме ПРИНЯТ— XXX—YYY. Это следует понимать как прием любого команд­ного или ответного ПБД, поскольку для этого состояния не­существенно, какой именно ПБДЗ принят.

Для некоторых комбинаций состояний и событий в таблице представлены альтернативные действия. Они разделе­ны горизонтальными пунктирными линиями в колонках „действия” и „следующее состояние”. Выбор варианта дейст­вий осуществляется на основе: а) локального состояния, б) результата действия диспетчера, в) конкретной реализа­ции. Не существует взаимосвязи между порядком альтернати

в

    Диаграмма состояний компонента СОЕДИНЕНИЕ

    а) Установление звена данных, разъединение и сброс






    Черт. 7.1 и событиями; не предполагается, что каждый раз при возник­новении события должна выбираться, одна и та же альтерна­тива.

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

    2. Некоторые действия описаны в форме ПЕРЕДАТЬ _ ХХХ..ОТВ (П = 1) . Это должно означать, что если некоторый другой ответный ПБД с битом П = 0 был передан ранее, то можно модифицировать бит П этого ПБД с 0 на 1 и передать новый ПБД с битом П = 0. Это возможно, например, если реа­лизация УЛЗ управляет очередью ПБД, ожидающих передачи.

    3. Для упрощения таблицы используются следующие четы­ре тайм-аута: ДАД'АЙМ (тайм-аут подтверждения), 3_ТАЙМ (тайм-аут цикла 3/П), НПР_ТАЙМ (тайм-аут „неприем”) и ЗАНЯТО_ТАЙМ (тайм-аут „занято”).'Введением дополни­тельных флагов можно написать функционально эквивалент­ную таблицу переходов состояний с использованием только одного тайм-аута.

    4. Любое действие НАЧАТЬ_ТАЙМ вызывает начало (в том числе повторное) отсчета указанного тайм-аута с нуля, даже если уже шел отсчет этого тайм-аута. При достижении своего предела появляется условие ТАИМ-ИСТЕК и отсчет тайм-аута прекращается. Условие ТАЙМ_ИСТЕК сбрасывает­ся автоматом компонента СОЕДИНЕНИЕ при его распозна­вании. Действие ОСТАНОВИТЕ- ТАЙМ прекращает отсчет тайм-аута, если он имел место, или сбрасывает условие ТАЙМ_ИСТЕК, если тайм-аут уже достиг своего предела.

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