ГОСТ Р 54458—2011
Портотправителя
Т <2байта)
Портполучателя
(2 байта)
Длина областиданных
(2 байта)
Контрольнаясумма
(2 байта)
Рисунок 2 — Структура заголовка UDP
В поле «Длина области данных» заносится число, равное количеству вставляемых MPEG-2 TS
пакетов, умноженное на длину пакета (188 или 204 байт). Блок калсуляции в направлении MPEG-2
TS—IPобъединяет в единую последовательностьдо семи пакетов потока MPEG-2 TS длиной 188 или
204 байта.
В поле «Порт отправителя» заносится номер порта «Конвертора», передающего MPEG-2 TS по
IP сети.
В поле «Порт получателя» заносится номер порта «Конвертера», принимающего MPEG-2 TS по
IP сети.
В поле «Контрольная сумма» вначале заносится значение 0. Реальное значение поля «Контроль
ная сумма» подсчитывается в блоке сетевого уровня.
Полученный UDP пакет передается в блок сетевого уровня.
В направлении MPEG-2 TS*-IP блок калсуляции должен проверять значения полей «Адрес от
правителя» и «Адрес получателя» пакета UDP, полученного из блока сетевого уровня. Далее блок кап-
суляции должен извлекать пакеты MPEG-2 TS из поля данных UDP пакета, вычислять контрольную
сумму и сравнивать с полем «Контрольная сумма» UDP пакета. Если контрольные суммы совпадают, то
все извлеченные пакеты MPEG-2 TS передаются в блок MPEG-2 TS интерфейса физического уровня. В
противном случае все извлеченные пакеты MPEG-2 TS отбрасываются, и в блок мониторинга и кон
троля ошибок должно быть послано сообщение о получении поврежденного UDP пакета.
6.1.5Блок сетевого уровня должен осуществлять формирование пакетов сетевого уровня. В каче
стве протокола сетевого уровня должен использоваться протокол IP версии 4.
Структура заголовка IP пакета для передачи UDP пакета представлена на рисунке 3.
00000000
Адрес отправителя
(4 байта)
Адрес получателя
(4 байта)
Протокол
(1 байт)
Длина UPDпакета
(2
байта)
Рисунок 3 — Структура заголовка IP пакета
В поле «Адрес отправителя» заносится IPv4 адрес «Конвертора», передающего MPEG-2 TS по
IP сети.
В поле «Адрес получателя» заносится IPv4 адрес «Конвертора», принимающего MPEGTS по
IP сети.
В поле «Протокол» заносится значение 17 (00010001 в двоичном виде. 0x11 — в шестнадцатерич
ном) — идентификатор UDP-протокола.
Поле «Длина UDP пакета» содержит длину UDP-сообщения (UDP-эаголовок + данные, длина
псевдоэаголовка не учитывается) в байтах, то есть совпадает с полем «Длина области данных» в за
головке UDP пакета.
UDP-заголовок не содержит информации об адресах отправителя и получателя. Чтобы проверить,
достигло ли UDP-сообщение пункта своего назначения, используется дополнительный псевдозаголо
вок. Псевдозаголовок не включается в UDP-сообщение. Он используется для подсчета контрольной
суммы перед отправлением сообщения и при его получении («Конвертор», принимающий MPEG-2 TS по
IP сети, составляет свой псевдозаголовок, используя адрес «Конвертора», с которого пришло со
общение. и собственный адрес, а затем подсчитывает контрольную сумму).
Перед расчетом контрольной суммы UDP-сообщение дополняется в конце нулевыми битами до
длины, кратной 16 битам (псевдозаголовок и добавочные нулевые биты не отправляются вместе с со
общением).
Для подсчета контрольной суммы псевдозаголовок и UDP-сообщение разбиваются на слова
(1 слово = 2 байта (октета) = 16 бит]. Затем суммируются все слова, причем после каждого шага сумми
рования выполняется поразрядное дополнение до единицы значения суммы. Результат записывается в
поле «Контрольная сумма» в заголовке UDP пакета.
6