ГОСТ Р ИСО/МЭК 8825-3—2016
9.9 Факультативные возможности в кодовых последовательностях
9.9.1 Факультативные возможности («опции») в протоколах обычно считаются сегодня чем-то.
чего следует избегать, но ECN должна обеспечивать поддержку таких факультативных возможностей,
если разработчик протокола решает (или решил ранее) применить их.
9.9.2 Когда значения кодируются в пространство кодирования, возможно указать, что размер про
странства кодирования (см. 9.21.5) является факультативной возможностью кодера, обеспечив нали
чие некоторой формы определителя длины, связанного с кодированием (расширение факультативных
возможностей может быть ограничено максимальным значением, которое может кодироваться в опре
делителе длины). Это обеспечивает некоторый детальный уровень поддержки факультативных воз
можностей кодирования.
9.9.3 Более общим является механизм, похожий на поддержку дифференциального кодирования-
декодирования (см. 9.8), но в этом случае объект кодирования для некоторого класса может опреде
ляться в виде выбора в кодере объекта кодирования из упорядоченного списка определенных объектов
кодирования для этого класса. Дополнительно к определению списка возможных кодовых последова
тельностей необходимо также обеспечить спецификацию объекта кодирования для класса в категории
«альтернативы» (см. 9.6). Этот объект кодирования определяет кодовые последовательности и про
цедуры, необходимые декодеру, чтобы определять, какой именно объект кодирования был применен
кодером.
9.10 Свойства объектов кодирования
9.10.1 Объекты кодирования имеют некоторые общие свойства. В большинстве случаев они пол
ностью определяют кодирование, но в некоторых случаях они являются конструкторами кодирования, то
есть они определяют только структурные аспекты кодирования, которые затребуют объекты коди
рования для компонентов структуры кодирования, чтобы заворшить определение кодовой последова
тельности.
9.10.2 Другой ключевой характеристикой объекта кодирования является то. что он может затре
бовать информацию от вычислительной среды, в которой его правила в конечном счете применяются.
Одним из аспектов такой вычислительной среды, который всегда поддерживается, является наличие
границ в определении типа АСН.1, которые будут «видимыми для PER» (см. ИСО/МЭК 8825-2, подраз
дел 9.3).
Примечание — Несколько другой (и нестандартизованной) внешней зависимостью могло бы стать
определение не-ECN объекта кодирования для класса кодирования ^ALTERNATIVES, который указывает выбран
ную альтернативу, основанную на внешних данных, например, о канале, по которому передано сообщение.
9.10.3 Третьей ключевой характеристикой является то. что объект кодирования может применять
идентификационный описатель в своих кодовых последовательностях. Это является такой частью
(состоящей из фиксированного набора битовых позиций) всех кодовых последовательностей, кото рая
образует и различает свои кодовые последовательности от кодовых последовательностей других
объектов кодирования (любого класса), которые применяют такой же идентификационный описатель.
Идентификационные описатели должны быть видимы для декодеров, не имеющих информации о том. что
было кодировано — класс кодирования или абстрактное значение (но имеющих информацию об имени
используемого идентификационного описателя). Это понятие моделирует (и обобщает) исполь зование
тегов в кодированиях BER: значение тега в BER может определяться без знания класса кодиро вания для
всех кодовых последовательностей BER и служит для указания кодовой последовательности с целью
различать функциональные возможности, упорядочивать наборы и выбирать альтернативы.
9.11 Параметризация
9.11.1 Объекты кодирования, наборы объектов кодирования и классы кодирования могут быть
параметризованы так же, как типы и значения АСН.1. Это является просто расширением нормального
механизма АСН.1.
9.11.2 В первую очередь параметризация используется при определении объекта кодирования,
который нуждается в идентификации некоторого определителя для завершения определения кодовой
последовательности (см. 9.13.2) (см. в D.1.11.3 пример параметризованного определения ECN).
9.11.3 Другим важным использованием параметризации является определение структуры кодиро вания,
которая будет использована для замены многих разных классов в кодировании (см. также 9.16.5).
15