ГОСТ Р 54994—2012
Рисунок 8 — Синтаксис многоадресного протокола доставки DVBSTP
18
5.4.3.1 Семантика многоадресного протокола доставки DVBSTP:
- Ver (Protocol Version): поле «Версия протокола», 2 бита. Поле «Версия протокола» должно иметь
значение «00»;
- Resrv (Reserved): поле «Резерв», 3 бита. Поле «Резерв» должно иметь значение «000»;
- Enc (Encryption): поле «Шифрование», 2 бита. Поле «Шифрование» должно использоваться
для сигнализации о присутствии процедуры шифрования полезной нагрузки. Значение «00» указыва-
ет, что полезная нагрузка не зашифрована. Синтаксис, семантика, поведение и другие значения не
определены;
- C (CRC
f
l
ag): поле «Флаг CRC», 1 бит. Значение поля «Флаг CRC» «1», указывает на присутствие
32-разрядного CRC в конце пакета. Этот флаг может быть установлен в заключительном пакете сегмен-
та, когда section_number соответствует last_section_number;
- Total_segment_size: поле «Полный размер сегмента», 24 бита. Поле определяет размер сегмен-
та в байтах. Для некомпрессированных данных (поле Compression «000») это поле определяет совокуп-
ный размер всех полезных нагрузок всех секций, включенных в сегмент (без заголовков и полей CRC,
если они присутствуют). Для компрессированных данных, например BiM, это поле определяет совокуп-
ный размер всех полезных нагрузок всех секций согласно 5.4.3.2.1 настоящего стандарта, включенных
в сегмент (без заголовков и полей CRC, если они присутствуют) — это поле называется «переданный
размер» («transmitted size»). Для компрессированных данных, которые должны быть распакованы пе-
ред использованием (например, zlib), это поле определяет размер сегмента, однажды распакованного
указанным алгоритмом (отмечают, что это, возможно, не тот же самый размер, какой имел исходный
XML), — это поле называется «декомпрессированный размер» («decompressed size»). Определение
значения компрессированного поля должно указывать, какой должна быть интерпретация полного раз-
мера сегмента;
- Payload ID: поле «ID полезной нагрузки», 8 битов. Поле идентифицирует тип данных, перенесен-
ных в пределах полезной нагрузки. Значения типов данных приведены в таблице 1;
- Segment ID: поле «ID сегмента», 16 битов. Поле идентифицирует сегмент данных для объявлен-
ного типа полезной нагрузки (PT). В случае многократных записей информации для открытия вещания
каждой записи будет присвоен уникальный ID;
- Segment_Version: поле «Версия сегмента», 8 битов. Поле определяет текущую версию сегмента,
находящегося в процессе переноса. Поле включает ID полезной нагрузки вместе с ID сегмента. Макси-
мальный размер поля составляет 256, и после заполнения поля подсчет начинается сначала. Версия
сегмента должна изменяться только в начале сегмента. Однако для обработки функции потери пакетов
приемник должен проверять изменение версии сегмента в любой точке сегмента;
- Section_Number: поле «Количество секций», 12 битов. Поле идентифицирует количество секций
в сегменте. Номер первой секции в сегменте должен быть 0;
- Last Section number: поле «Номер последней секции», 12 битов. Поле «Номер последней сек-
ции» определяет номер последней секции (с самым высоким номером в Поле количество секций) в
сегменте;
- Compr (Compression): поле «Компрессия», 3 бита. Поле «Компрессия» указывает на схему ком-
прессии полезной нагрузки (если компрессия применяется). Все сегменты данного ID полезной нагрузки
должны совместно использовать одно и то же значение компрессии. Значения компрессии представле-