ГОСТ Р 54708—2011
B
start
(n, L, s) = n.s;(9)
B
end
(n, L, s) = MIN[s(n + 1) – 1, L – 1].(10)
Рисунок 13 — Фрагментация AF или RS пакета
16
Каждый фрагмент PFT, сформированный из одного AF или RS пакета, должен иметь те же самые
значения во всех полях заголовка PFT, за исключением полей Findex, Plen и HCRC.
Поле Findex должно содержать счет, который должен начаться с нуля и увеличиваться на единицу
для каждого фрагмента.
Поле Plen всех фрагментов должно иметь величину s для начальных f – 1 фрагментов и s-(L%f)
(оператор модуля) для финального фрагмента. Когда используется код Рида-Соломона, все фрагмен-
ты будут иметь длину s.
Поле HCRC должно быть вычислено правильно для каждого фрагмента PFT.
7.3.3 Транспортная адресация
Поля адресации Source и Dest уровня PFT предназначены, чтобы использоваться при иденти-
фикации отправителя (Source) и получателя (Dest) пакета. Значение FFFFдолжно использоваться,
чтобы указать “передачу”, все другие значения указывают определенный адрес. Если устройство кон-
фигурировано с определенным источником и/или адресами назначения, то должны игнорироваться все
фрагменты PFT, принятые с неправильным невещательным адресом.
7.4 Процесс декодирования
13
216
16
Процесс декодирования PFT фрагментов состоит из 4 стадий в следующем порядке:
1) синхронизация;
2) отказ от неправильно адресованных фрагментов (если транспортная адресация позволяет);
3) дефрагментация (если используется код Рида-Соломона либо простая фрагментация);
4) код Рида-Соломона обнаруживает и исправляет ошибки (если код Рида-Соломона разрешен).
7.4.1 Синхронизация
Для потоковых каналов связи (например, асинхронный последовательный или TCP/IP) должны
использоваться следующие процессы для синхронизации поступающего потока; синхронизация может
также применяться при чтении файла:
1) обнаружение битовой комбинации 0101000001000110 (5046 ), соответствующей синхронизи-
рующему слову “PF” в коде ASCII, чтобы найти начало заголовка PFT кандидата;
2) вычисление CRC по заголовку кандидата — это может быть выполнено эффективно непрерыв-
ной байтовой реализацией CRC, используя тот факт, что CRC заголовка PFT, включающее поле CRC,
будет иметь постоянное значение 1D0F ;
3) проверка длины заголовка, которая соответствует отобранным вариантам: если слишком ко-
роткая — продолжите от шага (2), если слишком длинная, возвратитесь к шагу (1), если соответствует,
синхронизация была достигнута и поле Plen может использоваться, чтобы определить длину фраг-
мента.