Статус документа
Статус документа

ГОСТ 33465-2015 Глобальная навигационная спутниковая система экстренного реагирования при авариях. Протокол обмена данными устройства/системы вызова экстренных оперативных служб с инфраструктурой системы экстренного реагирования при авариях (Издание с Поправкой)

     5.6 Описание структур данных, используемых в протоколе транспортного уровня

5.6.1 Общая структура пакета протокола транспортного уровня определяется составом пакета и его форматом.

5.6.1.1 Пакет протокола транспортного уровня состоит из заголовка, поля "данные уровня поддержки услуг", а также поля контрольной суммы "данных уровня поддержки услуг".

Состав пакета протокола транспортного уровня представлен на рисунке 1.

Рисунок 1 - Состав пакета протокола транспортного уровня

5.6.1.2 Общая длина пакета протокола транспортного уровня не превышает значения 65535 байт, что соответствует максимальному значению параметра Window Size (максимальный размер целого пакета, принимаемый на стороне приемника) заголовка протокола TCP. Такое значение максимального размера пакета позволяет более эффективно использовать каналы передачи данных, базируясь только на стандартном методе управления потоком данных, заложенном в протоколе TCP/IP [3].

Формат пакета транспортного уровня представлен в таблице 3.


Таблица 3 - Состав пакета протокола транспортного уровня

5.6.1.3 Заголовок протокола транспортного уровня состоит из следующих параметров (полей): PRV, PRF, PR, CMP, ENA, RTE, HL, HE, FDL, PID, PT, PRA, RCA, TTL, HCS. Протокол уровня поддержки услуг представлен полем SFRD, контрольная сумма поля уровня поддержки услуг содержится в поле SFRCS.

Описание вышеуказанных параметров (полей) приведено в таблице 4.


Таблица 4 - Описание параметров (полей), входящих в состав пакета протокола транспортного уровня

Обозначение параметра (поля)

Назначение параметра (поля)

PRV

Параметр определяет версию используемой структуры заголовка и должен содержать значение 0x01. Значение данного параметра инкрементируется каждый раз при внесении изменений в структуру заголовка

SKID

Параметр определяет идентификатор ключа, используемый при шифровании

PRF

Параметр определяет префикс заголовка транспортного уровня и для данной версии должен содержать значение 00

RTE (Route)

Битовое поле определяет необходимость дальнейшей маршрутизации данного пакета на удаленную телематическую платформу, а также наличие опциональных параметров PRA, RCA, TTL, необходимых для маршрутизации данного пакета. Если поле имеет значение 1, то необходима маршрутизация и поля PRA, RCA, TTL присутствуют в пакете. Данное поле устанавливает диспетчер той телематической платформы, на которой сгенерирован пакет, или УСВ, сгенерировавшая пакет для отправки на телематическую платформу (в случае установки в ней параметра HOME_DISPATCHER_ID, определяющего ее адрес, на который данная УСВ зарегистрирована). В случае отсутствия в УСВ параметра HOME_DISPATCHER_ID маршрутизация пакета производится по внутренним правилам диспетчера, обрабатывающего пакет

ENA (Encryption Algorithm)

Битовое поле определяет код алгоритма, используемый для шифрования данных из поля SFRD. Если поле имеет значение 0 0, то данные в поле SFRD не шифруются. Состав и коды алгоритмов не определены в данной версии протокола

CMP (Compressed)

Битовое поле определяет, используется ли сжатие данных из поля SFRD. Если поле имеет значение 1, то данные в поле SFRD считаются сжатыми. Алгоритм сжатия не определен в данной версии протокола

PR (Priority)

Битовое поле определяет приоритет маршрутизации данного пакета и может принимать следующие значения:

00 - наивысший;

01 - высокий;

10 - средний;

11 - низкий.

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

HL

Длина заголовка протокола транспортного уровня в байтах с учетом байта контрольной суммы (поля HCS)

HE

Определяет применяемый метод кодирования следующей за данным параметром части заголовка протокола транспортного уровня. Зарезервировано

FDL

Определяет размер в байтах поля данных SFRD, содержащего информацию протокола уровня поддержки услуг

PID

Содержит номер пакета протокола транспортного уровня, увеличивающийся на 1 на стороне отправителя при отправке каждого нового пакета. Значения в данном поле изменяются по правилам циклического счетчика в диапазоне от 0 до 65535, т.е. при достижении значения 65535, следующее значение должно быть 0

PT

Тип пакета протокола транспортного уровня.

Поле РТ может принимать следующие значения:

0 - EGTS_PT_RESPONSE (подтверждение на протокол транспортного уровня);

1 - EGTS_PT_APPDATA (пакет, содержащий данные протокола уровня поддержки услуг);

2 - EGTS_PT_SIGNED_APPDATA (пакет, содержащий данные протокола уровня поддержки услуг с цифровой подписью)

PRA

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

RCA

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

TTL

Время жизни пакета при его маршрутизации между телематическими платформами. Использование данного параметра предотвращает зацикливание пакета при ретрансляции в системах со сложной топологией адресных пунктов. Первоначально TTL устанавливается телематической платформой, сгенерировавшей данный пакет. Значение TTL устанавливается равным максимально допустимому числу телематической платформы между отправляющей и принимающей платформами. Значение TTL уменьшается на единицу при трансляции пакета через каждую телематическую платформу, при этом пересчитывается контрольная сумма заголовка протокола транспортного уровня. При достижении данным параметром значения 0 и при обнаружении необходимости дальнейшей маршрутизации пакета, происходит уничтожение пакета и выдача подтверждения с соответствующим кодом

(PC_TTLEXPIRED см. приложение В)

SFRCS

Контрольная сумма.

Для подсчета контрольной суммы по данным из поля SFRD используется алгоритм CRC16-CCITT. Данное поле присутствует только в том случае, если есть поле SFRD. Пример программного кода расчета CRC-16 приведен в приложении Г.

SFRD

Структура данных, зависящая от типа пакета и содержащая информацию протокола уровня поддержки услуг

HCS

Контрольная сумма заголовка протокола транспортного уровня (начиная с поля PRV до поля HCS, не включая последнего). Для подсчета значения поля HCS ко всем байтам указанной последовательности применяется алгоритм CRC-8. Пример программного кода расчета CRC-8 приведен в приложении Д

5.6.1.4 Блок-схема алгоритма сборки пакета протокола транспортного уровня при приеме представлена на рисунке 2.

5.6.2 Структуры данных в зависимости от типа пакета

В зависимости от типа пакета протокола транспортного уровня структура поля SFRD имеет различный формат.

5.6.2.1 Структура данных пакета EGTS_PT_APPDATA

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


Таблица 5 - Формат поля SFRD для пакета типа EGTS_PT_APPDATA

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

Тип

Тип данных

Размер, байт

SDR 1 (Service Data Record)

О

BINARY

9 ... 65517

SDR 2

О

BINARY

9 ... 65517

...

...

...

...

SDRn

О

BINARY

9 ... 65517

Примечание - Структуры SDR 1, SDR 2, SDRn содержат информацию протокола уровня поддержки услуг. Таких структур в составе поля SFRD может быть одна или несколько, идущих одна за другой. Описание внутреннего состава структур представлено в разделе 6.