Я читал на специальном низкоскоростном протоколе связи, который вычисляет CRC для полной полезной нагрузки. Эта полезная нагрузка может быть разделена на несколько пакетов. Пользовательский протокол работает поверх существующего протокола шины, что позволяет использовать дополнительные CRC-пакеты для каждого пакета.Какова цель CRC для полезной нагрузки, когда полезная нагрузка разбита на несколько пакетов?
Так что может случиться:
Pkt 0: S | Pkt Hdr Seq = 0 | Начало полезной нагрузки | Pkt CRC | E
Pkt 1: S | Pkt Hdr Seq = 1 | Полезная нагрузка продолжается | Pkt CRC | E
Pkt 2: S | Pkt Hdr Seq = 2 | Конец полезной нагрузки | Полезная нагрузка CRC | Pkt CRC | E
S - начало упаковки; E - конец пакета; Seq - Последовательность Номер пакета
Почему у протокола есть свой CRC на передаваемой ими полезной нагрузке, когда CRC-пакет уже установлен? Полезная нагрузка уже защищена. Разработчики протокола знали о параметре уровня пакета CRC.
Единственные причины я могу думать о том, являются:
- слой прохождения полезной нагрузки до нижнего уровня протокола не обязательно знать, если нижний слой уже имеет CRC
- Слой прохождения полезной нагрузки не знает, имеет ли конфигурация нижнего уровня протокола CRC.
- Слой, передающий полезную нагрузку, использует усовершенствованную технику проверки ошибок или коррекции на полезной нагрузке.
- Слой, передающий полезную нагрузку, защищает полезную нагрузку от потенциально плохих/сломанных нижних слоев/оборудования.
1, 2, & 3 не применяются в этой ситуации. Итак, единственная «хорошая» причина, которую я имею.