Примечание. Для правильного понимания таблицы переходов состояний необходимо одновременно читать описания ее входов (см. пп. 7.9.1.1 -7.9.1.3).
Описание состояний компонента СОЕДИНЕНИЕ
РАР — компонент находится в режиме асинхронного разъединения, в котором он может принимать ПБД УРРАС от удаленного ПДУО УЛЗ или по запросу пользователя ПДУ передавать такой ПБД удаленному ПДУП УЛЗ для установления соединения звена данных. Кроме того, компонент отвечает на командный ПБД РЗД и другие командные ПДУ с битом 3=1.
УСТАНОВ — компонент передал командный ПБД УРРАС удаленному ПДУП УЛЗ и ожидает от него ответа.
НОРМА — существует соединение звена данных между локальным и удаленным ПДУ. Возможен прием и передача информационных и управляющих ПБД.
ЗАНЯТО — существует соединение звена данных между локальными и удаленным ПДУ, по которому могут передаваться ПБД И. Местные условия делают вероятным аннулирование поля информации принятых ПБД И. Управляющие ПБД могут приниматься и передаваться.
НЕПРИЕМ — существует соединение звена данных между локальным и удаленным ПДУ. Местный компонент СОЕДИНЕНИЕ потребовал, чтобы удаленный компонент СОЕДИНЕНИЕ повторно передал указанный ПБД И, который был получен с нарушением последовательности. Могут передаваться и приниматься информационные и управляющие ПБД.
ЖДАТЬ — существует соединение звена данных между локальным и удаленным ПДУ. Локальный УЛЗ выполняет операцию восстановления по тайм-ауту, передав командный ПБД с битом 3 = 1 и ожидает подтверждения от удаленного УЛЗ; ПБД И могут быть приняты, но не могут быть переданы. Управляющие ПБД могут быть переданы и приняты.
ЖДАТЬ_ЗАНЯТО — существует соединение звена данных между локальным и удаленным ПДУ. Локальный УЛЗ выполняет операцию восстановления по тайм-ауту, передав командный ПБД с битом 3 = 1 и ожидая подтверждения от удаленного УЛЗ. ПБД И не могут передаваться. Местные условия делают вероятным неприем поля информации полученных ПБД И. Управляющие ПБД могут приниматься и передаваться.
ЖДАТЬ_НЕПРИЕМ — существует соединение между локальным и удаленным ПДУ. Локальный компонент СОЕ- - ДИНЕНИЕ запросил удаленный компонент СОЕДИНЕНИЕ повторно передать указанный ПБД И, который был получен с нарушением последовательности. Перед переходом локального УЛЗ в это состояние он выполнял операцию восстановления по тайм-ауту, передав командный ПБД с битом 3=1, и все еще ожидает подтверждения от удаленного УЛЗ. ПБД И могут приниматься, но не могут передаваться. Управляющие ПБД могут приниматься и передаваться.
РАЗЪЕДИНЕНИЕ — по запросу пользователя ПДУ локальный УЛЗ передал командный ПБД РЗД удаленному ПДУП УЛЗ и ждет ответа.
СБРОС - в результате запроса пользователя ПБД или приема ответного ПБД НПРК местный компонент СОЕДИНЕНИЕ передал командный ПБД УРРАС удаленному ПДУП для сброса соединения звена данных и ждет ответа.
ОШИБКА — локальный компонент СОЕДИНЕНИЕ обнаружил ошибку в принятом ПБД и передал ответный ПБД НПРК, после чего ожидает ответа от удаленного компонента СОЕДИНЕНИЕ.
СОЕДИНЕНИЕ - локальный компонент СОЕДИНЕНИЕ получил ПБД УРРАС от удаленного ПБД УЛЗ и ожидает, примет или отклонит локальный пользователь это соединение.
СБРОС ОШИБКИ — локальный компонент СОЕДИНЕНИЕ ждет, примет или отклонит локальный пользователь удаленный запрос сброса.
СБРОС ЖДАТЬ — локальный компонент СОЕДИНЕНИЕ ожидает от локального пользователя указания ЗД СБРОС или ЗД РАЗ ЬЕДИНЕНИЕ.
Описание событий компонента СОЕДИНЕНИЕ. В списке событий, приведенном ниже, значение битов 3 и П в принимаемых командах и ответах записывается в виде X. В таблице переходов состояний используются значения — 0, 1 или X. Последнее означает, что в этом событии может быть значение как 0, так и 1.
СОЕД-ЗАПРОС — пользователь затребовал установления соединения с удаленным ПДУП УЛЗ.
СОЕД-ОТВЕТ — пользователь согласился установить соединение.
ДАННЫЕ-ЗАПРОС — пользователь потребовал передать блок данных удаленному ПДУП УЛЗ.
РАЗ‘ЪЕЗД_ЗАПРОС — пользователь потребовал завершить соединение с удаленным ПДУП УЛЗ.
СБРОС-ЗАПРОС — пользователь потребовал выполнить сброс соединения с удаленным ПДУП УЛЗ.
СБРОС-ОТВЕТ — пользователь дал согласие на сброс соединения звена данных.
МЕСТНАЯ-ЗАНЯТОСТЬ-ОБНАРУЖЕНА - локальная станция вошла в состояние занятости и не может принимать ПБД И от удаленного ПДУО.
МЕСТНАЯ.ЗАНЯТОСТЬ-УСТРАНЕНА - на локальной станции устранено состояние занятости, и она теперь может принимать ПБД И от удаленного ПДУО.
ПРИНЯТ. НЕДЕЙСТВИТЕЛЬНЫЙ-ПБД - удаленный ПДУО передал локальному ПДУП командный или ответный ПБД, который не может быть реализован или имеет поле информации, которого не должно быть или длина которого больше, чем может принять локальный УЛЗ.
ПРИНЯТРЗД-КМД (3 = X) - удаленный ПДУО передал командный ПБД РЗД с битом 3 в значении X, адресованный локальному ПДУП.
ПРИНЯТ—ФРЗД .ОТВ (П = X) - удаленный ПДУО передал ответный ПБД ФРЗД с битом П в значении X, адресованный локальному ПДУП.
ПРИНЯТ_НПРК_ОТВ (П = X) - удаленный ПДУО передал ответный ПБД НПРК с битом П в значении X, адресованный локальному ПДУП.
ПРИНЯТ. И.КМД (3 = X) - удаленный ПДУО передал командный ПБД И с битом 3 в значении X, адресованный локальному ПДУП. Поля Нпм, Нпд — действительны, а значение Нпд — ожидаемый порядковый номер.
ПРИНЯТ-И.КМД (3 = Х)_С_Нпд #= ПМ - удаленный ПДУО передал командный ПБД И с битом 3 в значении X, адресованный локальному ПДУП; поле Нпд — действительно, но не содержит ожидаемый порядковый номер, хотя он и в рамках окна; поле Нпм — действительно.
ПРИНЯТ_ И _КМД (3= X) _ С .НЕДЕЙСТВИТЕЛЬ- НЫМ_Нпд — удаленный ПДУО передал командный ПБД И с битом 3 в значении X, адресованный локальному ПДУП. Поле Нпд — недействительно, поле Нпм — действительно.
ПРИНЯТ_И_ОТВ (П = X) - удаленный ПДУО передал ответный ПБД И с битом П в значении X, адресованный локальному ПДУП. Поля Нпм и Нпд — действительные, а значение Нпд — ожидаемый порядковый номер.
ПРИНЯТ.И-ОТВ (П = Х)_С_Нпд #= ПМ - удаленный ПДУО передал ответный ПБД И с битом П в значении X, адресованный локальному ПДУП Поле Нпд не содержит ожидаемого порядкового номера, но находится в рамках окна приема.
ПРИНЯТ. И _ ОТ В (П = X) _ С-НЕДЕЙСТВИТЕЛЬНЫМ Нпд — удаленный ПДУО передал ответный ПБД И с битом П в значении X, адресованный локальному ПДУП. Поле Нпд — недействительно, поле Нпм — действительно.
ПРИНЯТ.НПР—КМД (3 = X) - удаленный ПДУО передал командный ПБД НПР с битом 3 в значении X, адресованный локальному ПДУП.
ПРИНЯТ_НПР_ОТВ (П = X) - удаленный ПДУО передал ответный ПБД НПР с битом П в значении X, адресованный локальному ПДУП.
ПРИНЯТ.НГПР-КМД (П = X) - удаленный ПДУО передал командный ПБД НГПР с битом 3 в значении X, адресованный локальному ПДУП.
ПРИНЯТ,НГПР_ОТВ (П = X) - удаленный ПДУО передал ответный ПБД НГПР с битом П в значении X, адресованный локальному ПДУП.
ПРИНЯТ-ГПР-КМД (3 = X) - удаленный ПДУО передал командный ПБД ГПР с битом 3 в значении X, адресованный локальному ПДУП.
ПРИНЯТ.ГПР-ОТВ (П = X) - удаленный ПДУО передал ответный ПБД ГПР с битом П в значении X, адресованный локальному ПДУП..
ПРИНЯТ-УРРАС-КМД (3 = X) - удаленный ПДУО передал командный ПБД УРРАС с битом 3 в значении X, адресованный локальному ПДУП.
ПРИНЯТ_НП_ОТВ (П = X) - удаленный ПДУО передал ответный ПБД НП с битом П в значении X, адресованный локальному ПДУП.
ПРИНЯТ-ХХХ-КМД (3 = X) - удаленный ПДУО передал один из командных ПБД типа 2 с битом 3 в значении X, адресованный локальному ПДУП. Вид команды не имеет значения в данном состоянии.
ПРИНЯТ_ХХХ_ОТВ (П = X) - удаленный ПДУО передал один из ответных ПБД типа 2 с битом П в значении X, адресованный локальному ПДУП. Конкретный вид ответа не имеет значения в данном состоянии.
ПРИНЯТ—XXX_YYY — удаленный ПДУО передал ПБД типа 2, адресованный локальному ПДУП. Этот ПБД может быть любой командой или ответом.
ПРИНЯТ_ХХХ_КМД (3 = Х)_С_НЕДЕЙСТВИТЕЛЬНЫМ Нпм — удаленный ПДУО передал один из командных ПБД: И, ГПР, НГПР или НПР с битом 3 в значении X, адресованный локальному ПДУП. Поле Нпм недействительно.
ПРИНЯТ.XXX-ОТВ (П= Х)_С-НЕДЕЙСТВИТЕЛЬНЫМ Нпм — удаленный ПДУО передал один из ответных ПБД: И, ГПР, НГПР или НПР с битом П в значении X, адресованный локальному ПДУП. Поле Нпм недействительно.
З—ТАЙМ—ИСТЕК — истек тайм-аут цикла 3/П.
ДА_ТАЙМ_ИСТЕК — истек тайм-аут подтверждения.
НПР—ТАЙМ—ИСТЕК — истек тайм-аут „передан НПР”.
ЗАНЯТО—ТАЙМ—ИСТЕК — истек тайм-аут удаленный занятости.
В таблице переходов состояний 'некоторые из перечисленных выше событий сопровождаются дополнительными условиями. Событие считается наступившим, если дополнительные условия имеют значение „истинно”.
ДАННЫЕ.ФЛАГ = 1 - если ДАННЫЕ ФЛАГ имеет значение 1, то блок (и) данных, принятых ПБД И, был (и) аннулирован (ы) во время локальной занятости.
ДАННЫЕ.ФЛАГ = 0 - если ДАННЫЕ ФЛАГ имеет значение 0, то блок (и) данных, принятых ПБД И, не был (и) аннулирован (ы) во время локальной занятости.
ДАННЫЕ.ФЛАГ = 2 - ДАННЫЕ_ФЛАГ имеет значение 2, когда переход в состояние ЗАНЯТО произошел из состояния НЕПРИЕМ, а затребованные ПБД И еще не были приняты.
3_ФЛАГ = 1 — 3_ФЛАГ имеет значение 1, если передан командный ПБД с битом 3 = 1 й ожидается прием ответа с битом П = 1.
3-ФЛАГ = 0 — 3-ФЛАГ имеет значение 0, если не ожидается приема ответного ПБД с битом П = 1.
З—ФЛАГ = П — 3-ФЛАГ имеет значение, равное значению бита П в принятом ответном ПБД.
УДАЛЕННАЯ_ЗАНЯТО = 1 - если УДАЛЕННАЯ. ЗАНЯТО имеет значение 1, значит был принят ПБД НГПР от удаленного компонента СОЕДИНЕНИЕ, указывающий на невозможность передачи ПБД И. События ДАННЫЕ ЗАПРОС не распознаются, пока этот флаг не будет установлен в 0.
УДАЛЕННАЯ .ЗАНЯТО = 0 - если УДАЛЕННАЯ. ЗАНЯТО имеет значение 0, то передача ПБД И возможна.
СЧ-ПОВТОР < N2 — число повторов меньше максимального числа повторов.
СЧ—ПОВТОР > N2 — число повторов достигло предела.
У-ФЛАГ = 1 — в состояниях УСТАНОВ, СБРОС, СБРОС. Ж ДАТЬ значение 1 переменной У. ФЛАГ указывает, что был принят ПБД УРРАС.
У-ФЛАГ = 0 — в состояниях УСТАНОВ, СБРОС, СБРОС—ЖДАТЬ значение 0 переменной Х_ ФЛАГ означает, что ПБД УРРАС не принят.
НАЧАТ.З/П-ЦИКЛ — локальный УЛЗ желает инициировать цикл З/П (это требуется только в том случае, если локальный УЛЗ по некоторым' причинам не генерирует других командных ПБД).
7.9.1.3. Описание действий компонента СОЕДИНЕНИЕ. В списке действий, приведенном ниже, значения битов 3 и П в передаваемых командах и ответах указаны, как X. В списке действий таблицы переходов состояний используются значения 0, 1 или X. Последнее означает, что может использоваться 0 или 1.
УДАЛЕННАЯ ЗАНЯТО: = 0 - УДАЛЕННАЯ.ЗАНЯТО, имевшая значение 1, устанавливается в 0, указывая тем самым на способность удаленного УЛЗ принимать ПБДЗИ, прекращается отсчет ЗАНЯТО_ТАЙМ, инициируется СЧ_ПОВ- ТОР: = 0, информируется функция управления подуровнем посылкой ОТЧЕТ-СОСТОЯНИЕ (УДАЛЕННАЯ„НЕ_ЗАНЯТО) и начинается (повторная) передача ПБД И, ожидавших снятия удаленной занятости, при условии, что локальный УЛЗ находится в состоянии НОРМА, НЕПРИЕМ или ЗАНЯТО.
СОЕД_ИНДИКАЦИЯ — информирует пользователя о том, что удаленный ПДУО запросил установление соединения.
СОЕДПОДТВЕРЖДЕНИЕ - компонент СОЕДИНЕНИЕ указывает, что удаленный логический объект сетевого уровня воспринял соединение.
ДАННЫЕ—ИНДИКАЦИЯ — компонент СОЕДИНЕНИЕ передает пользователю блок данных из принятого ПБД И.
РАЗ ЪЕД—ИНДИКАЦИЯ — цнформирует пользователя о том, что логический объект сетевого уровня начал разъединение данного соединения.
СБРОС_ИНДИКАЦИЯ — информирует пользователя о том, что удаленный логический объект сетевого уровня или удаленный компонент УЛЗ начал сброс соединения, или что локальный УЛЗ определил необходимость повторной инициации соединения. Действительными параметрами являются:
УДАЛ. — сброс соединения начат по инициативе удаленного логического объекта (сетевого или УЛЗ);
МЕСТ. — локальный УЛЗ определил необходимость повторной инициации соединения.
СБРОС-ПОДТВЕРЖДЕНИЕ - компонент СОЕДИНЕНИЕ сообщает, что удаленный логический объект сетевого уровня воспринял сброс.
СООБЩИТЬ_СОСТОЯНИЕ — сообщает функция управления подуровнем состояние соединения. Допустимыми значенйями являются:
НПРК-ПРИНЯТ — локальный компонент СОЕДИНЕНИЕ принял ответный ПБД НПРК;
НПРК_ ПЕРЕДАН — цокальный компонент СОЕДИНЕНИЕ принял недействительный ПБД и передал ответный ПБД НПРК;
УДАЛЕННАЯ—ЗАНЯТО — удаленный ПДУП занят; локальный компонент СОЕДИНЕНИЕ не может принимать ДАННЫЕ ЗАПРОС;
У ДАЛ ЕННАЯ-НЕ-ЗАНЯТО - удаленный ПДУП более не занят; локальный компонент СОЕДИНЕНИЕ может теперь принимать ДАННЫЕ—ЗАПРОС.
ЕСЛИ_П = 1_УДАЛЕННАЯ_ЗАНЯТО: = 0 - если на командный ПБД с битом 3=1 принят ответный ПБДЗИ с битом П = 1, то выполняется действие УДАЛЕННАЯ ЗАНЯТО: = 0.
ЕСЛИ_ ДАННЫЕ _ ФЛАГ = 2_ОСТАНОВИТЬ-НПР_ ТАЙМ — если переменная ДАННЫЕ ФЛАГ имеет значение 2, указывая, что ПБД НПР передан, то отсчет тайм-аута „передан НПР” прекращается.
ПЕРЕДАТЬ, РЗД_КМД (3 = X) - передать удаленному ПДУП командный ПБД РЗД с битом 3, равным X.
ПЕРЕДАТЬ—ФРЗД_ОТВ (П = X) - передать удаленному ПДУП ответный ПБД ФРЗД с битом П, равным X.
ПЕРЕДАТЬ_НПРК_ОТВ (П = X) - передать удаленному ПДУП ответный ПБД НПРК с битом П, равным X.
ПЕРЕДАТЬ .ПОВТОРНО-НПРК „ОТВ (П = 0) - передать удаленному ПДУП ответный ПБД НПРК с тем же полем информации, что и переданное ранее. Бит П установить в значение 0.
ПЕРЕДАТЬ— ПОВТОРНО— НПРК—ОТВ—(П = 3) - передать удаленному ПДУП ответный ПБД НПРК с тем же полем информации, что и переданное ранее. Бит П установить равным биту 3 принятого командного ПБД.
ПЕРЕДАТЬ-И__КМД (3=1)— передать удаленному ПДУП командный ПБД И с битом 3 = 1 и с блоком данных, выданным пользователем в примитиве ДАННЫЕ — ЗАПРОС. Перед передачей скопировать переменные ПД и ПМ соответственно в поля Нпд и Нпм передаваемого ПБД И и увеличить на единицу (по модулю 128) переменную ПД.
ПЕРЕДАТЬ,. ПОВТОРНО—И_КМД (3 = 1) - начать повторную передачу всех неподтвержденных ПБД И этого соединения, начиная с номера, равного Нпм, в принятом ПБД. Первый ПБДЗИ передать как команду с битом 3 = 1. Остальные ПБД И можно передавать как команды с битом 3=0 либо как ответы с битом П = 0.
ПЕРЕДАТЬ _ ПОВТОРНО— И _ КМД (3= 1)_ИЛИ_ ПЕРЕДАТЬ— ГПР — начать повторную передачу всех неподтвержденных ПБД И для этого соединения, начиная с номера, равного Нпм в принятом ПБД. Первый передать как команду с битом 3=1. Остальные ПБД И можно передавать как команды с битом 3=0 либо как ответы с битом П = 0. Допускается передать удаленному ПДУП командный ПБД ГПР с битом 3=1 перед началом повторной передачи ПБД И. В этом случае первый ПБД И должен передаваться как команда с битом 3=0 либо как ответ с битом П = 0. Если нет готовых к передаче ПБД И, то удаленному ПДУП должен быть передан командный ПБД ГПР с битом 3=1.ПЕРЕДАТЬ— И-ХХХ (X = 0) — передать удаленному ПДУП блок ПБД И как ответ либо как команду с битом 3/П = 0 и с блоком данных, выданным пользователем в примитиве ДАННЫЕ — ЗАПРОС. Перед передачей скопировать текущие значения переменных ПД и ПМ в поля Нпд и Нпм соответственно блока ПБД И и увеличить после этого переменную ПД на единицу (по модулю 128).
ПЕРЕДАТЬ .ПОВТОРНО-И-ХХХ (X = 0) - начать повторную передачу всех неподтвержденных ПБД И, начиная с номера Нпм, который содержится в последнем принятом ПБД. Они должны быть переданы как команды либо как ответы с битом 3/П =0.
ПЕРЕДАТЬ_ПОВТОРНО_ГІ_ХХХ_ (X = 0)_ИЛИ-ПЕ- РЕДАТЬ—ГПР — начать повторную передачу всех неподтвержденных ПБД И, начиная с номера Нпм, содержащегося в принятом ПБД. Они должны быть переданы как команды либо как ответы с битом 3/П = 0. Допускается передать удаленному ПДУП командный или ответный ПБД ГПР с битом 3/П = = 0 перед началом повторной передачи ПБД И. Если нет готовых к передаче ПБД И, то необходимо передать удаленному ПДУП командный или ответный ПБД ГПР с битом 3/П = 0.
ПЕРЕДАТЬ. ПОВТОРНО. И_ ОТВ (П = 1) - начать повторную передачу всех неподтвержденных для данного соединения ПБД И, начиная с номера Нпм, содержащегося в принятом ПБД. Первый ПБД И должен передаваться как ответ с битом П = 1, остальные либо как команды, либо как ответы с битом 3/П = 0.
ПЕРЕДАТЬ.НПР- КМД (3= 1) - передать удаленному ПДУП командный ПБД НПР с битом 3=1.
ПЕРЕДАТЬ_НПР—ОТВ (П = 1) — передать удаленному ПДУП ответный ПБД НПР с битом П = 1.
ПЕРЕДАТЬ—НПР- XXX (X = 0) — передать удаленному ПДУП ответный или командный ПБД НПР с битом 3/П = 0.
ПЕРЕДАТЬ, НГПР-КМД (3=1) - передать удаленному ПДУП командный ПБД НГПР с битом 3=1.
ПЕРЕДАТЬ.НГПР-ОТВ (П = 1) — передать удаленному ПДУП ответный ПБД НГПР с битом П = 1.
ПЕРЕДАТЬ—НГПР. XXX (X - 0) - передать удаленному ПДУП командный ПБД НГПР с битом 3=0 либо ответный ПБД НГПР с битом П = 0.
УДАЛЕННАЯ-ЗАНЯТО: = 1 - если УДАЛЕННАЯ.ЗА- НЯТО имеет значение 0, то установить ее в значение 1 для указания состояния занятости удаленного УЛЗ и его неспособности принимать ПБД И. Начать отсчет тайм-аута ЗАНЯТО—ТАЙМ, проинформировать об этом функцию управления подуровнем пользователя об этом посылкой ОТЧЕТ-СОСТОЯНИЕ (УДАЛЕ ННАЯ_ЗАНЯТО) и прекратить текущую передачу ПБД И.
МОЖНО—ПЕРЕДАТЬ. НГПР_ XXX (X = 0) - разрешается передать удаленному ПДУП командный или ответный ПБД НГПР с битом 3/П = 0 в случае, если удаленный УЛЗ не принял первый НГПР, переданный во время установления состояния занятости.
ПЕРЕДАТЬ.ГПР. КМД (3= 1) — передать удаленному ПДУП командный ПБД ГПР с битом 3=1.
ПЕРЕДАТЬ. ДА _КМД (3 = 1) — в любом случае разрешается передать удаленному ПДУП командный ПБД с битом 3 = 1. При отсутствии готовых к передаче ПБД И необходимо передать удаленному ПДУП командный ПБД ГПР с битом 3=1 (выдача этого ПБД ГПР может быть задержана на время, ограниченное ДА_ТАЙМ в ожидании генерации ПБД И). Однако, если ПБД И готов к передаче и может быть модифицирован в команду с битом 3 = 1, то передача командного ПБД ГПР не требуется.
ПЕРЕДАТЬ—ГПР-ОТВ (П = 1) — передать удаленному ПДУП ответный ПБД ГПР с битом П = 1.
ПЕРЕДАТЬ. ДА «ОТВ (П - 1) — в любом случае разрешается передать удаленному ПДУП ответный ПБД ГПР с Г битом П = 1. Если нет готовых к передаче ПБД И, то необхо-