ГОСТ Р 54708—2011
Для пакетных каналов связи (например, UDP/1P) понятие синхронизации не нужно, поскольку
транспортный протокол будетпредъявлять полные фрагменты уровню PFT. Необходимо только прове
рить, что CRC и длина пакета правильны перед передачей пакета для дальнейшей обработки. Когда
CRC идлина неправильны, пакет считается поврежденным иможетне учитываться.
7.4.2 Транспортная адресация
Каждый фрагмент PFT может содержать источник и адрес назначения. Если представлено, поля
адреса должны быть проверены, и если они не будут соответствовать конфигурации модуля, то весь
фрагмент не учитывается.
Фрагменты PFT. которые несодержатдополнительныйтранспортный заголовок, никогда неучиты
ваются.
7.4.3 Дефрагментация
Дефрагментация — процесс, обратный фрагментации. Управление памятью сохранено простым,
таккакизвестно, чтовсефрагменты (кроме последнего) — имеютодинаковыйразмер. Последнийфраг
мент будеттого же самого размера или меньше, чем предшествующие фрагменты.
Если код Рида-Соломона не используется, каждый фрагмент должен быть принят правильно и
полностью, для того чтобы восстановить оригинальный AF пакет.
При использовании кода Рида-Соломона применяется метод прямой коррекции ошибок, чтобы
попытаться восстановить оригинальный AF пакет прежде, чем будут получены все фрагменты (см.
7.4.4).
П р и м е ч а н и е 1 — Не все фрагменты PFT поступают в установленном порядке. Это может быть резуль
татом установления специальных условий на транспортном уровне (например, изменение порядка пакетов, посы
лаемых через публичный Интернет) или может быть инициировано передающей стороной перемежение
фрагмен тов PFT, принадлежащих различным AF пакетам. Перемежение может быть применено для
защиты от продолжительных потерь связи.
П р и м е ч а н и е 2 — PFT фрагменты, которые совпадают с ранее полученными PFT фрагментами и затем
собранными в AF пакеты, должны быть отброшены.
7.4.4 Декодирование Рида-Соломона
Декодирование Рида-Соломона — процесс, обратный кодированию.
Длина RS пакета может быть рассчитана следующим образом:
где f — число фрагментов, полученных из этого пакета, несущего поле с заголовком Fcount;
s — размере байтах фрагментов PFT, переносимых в поле заголовка Plen всех фрагментов, за
исключением последнего фрагмента (где Fcount равняется [Findex - 1]);
к
— размерданных в байтах кода Рида-Соломона, переносимых в поле заголовка RSk:
р — число байтов четности кода Рида-Соломона, должно иметь значение48.
ста, — максимальное числофрагментов кода Рида-Соломона, которые могут быть посланы;
RxTin— минимальное число фрагментов, которые должны быть получены, прежде чем может быть
начатодекодирование кода Рида-Соломона. Дополнительные фрагменты могут потребовать
ся. если произошли ошибки или еслиодин из полученных фрагментов является последним.
Rxm^ PFT фрагментов могут быть получены один раз. оставшиеся байты могут быть заполнены
нулями и предпринята попытка декодирования кода Рида-Соломона с успешным получением неиска
женного AF пакета с помощью правильного CRC.
В случаеобнаружениябитовыхошибокпотребуетсябольшее количествоPFTфрагментов, прежде
чем оригинальныйAF пакет может бытьправильнодекодирован.
Байты заполнения, добавленные в течение процесса перемежения кода Рида-Соломона, могут в
результате привести к большему количеству восстановленных данных, чем первоначально передава
лось для очень больших пакетов. Эти дополнительные данные все будут нулями, и могут быть диффе
ренцированы, начиная с z нулевых байтов, добавленных при шифровании кодом Рида-Соломона,
используязначениеполя заголовка RSz(г — число байтовзаполнениякода Рида-Соломона, переноси
мыхв полезаголовка RSz (z— число байтовзаполнениякода Рида-Соломона, переносимыхв поле заго
ловка RSz). Размер конечного AF пакета может бытьопределен из поля LEN AF.
(
11
)
(
12
)
14