Проверка продольного резервирования
В телекоммуникациях продольный избыточный контроль (LRC) или горизонтальный избыточный контроль — это форма проверки избыточным кодом , которая применяется независимо к каждой из параллельных групп битовых потоков. Данные необходимо разделить на блоки передачи , к которым добавляются дополнительные проверочные данные.
Этот термин обычно применяется к одному биту четности на битовый поток, вычисляемому независимо от всех других битовых потоков ( BIP-8 ). [1] [2]
Это «дополнительное» слово LRC в конце блока данных очень похоже на контрольную сумму и проверку циклическим избыточным кодом (CRC).
Оптимальный прямоугольный код [ править ]
Хотя простая продольная проверка четности только может обнаруживать ее можно комбинировать с дополнительным кодированием контроля ошибок, таким как проверка поперечного избыточного кода (TRC) ошибки, для исправления ошибок . Проверка поперечного избыточного кода хранится на специальной «дорожке четности».
Всякий раз, когда в блоке передачи данных возникает какая-либо однобитовая ошибка, такая как двумерная проверка четности или «двухкоординатная проверка четности», [3] позволяет приемнику использовать TRC, чтобы определить, в каком байте произошла ошибка, и LRC, чтобы точно определить, на какой дорожке произошла ошибка, определить, какой именно бит ошибочен, а затем исправить этот бит, перевернув его. [4] [5] [6]
Псевдокод [ править ]
Международный стандарт ISO 1155. [7] утверждает, что проверка продольного избыточного кода для последовательности байтов может быть вычислена программно по следующему алгоритму:
lrc := 0 for each byte b in the buffer do lrc := (lrc + b) and 0xFF lrc := (((lrc XOR 0xFF) + 1) and 0xFF)
которое можно выразить как «8-битное дополнение до двух суммы всех байтов по модулю 2». 8 "( x AND 0xFF
эквивалентно x MOD 28
).
Другие формы [ править ]
Многие протоколы используют байт проверки продольного избыточного кода на основе XOR (часто называемый символом проверки блока или BCC), включая протокол интерфейса последовательной линии (SLIP, не путать с более поздним и хорошо известным последовательной линии Интернет -протоколом ), [8] стандарт IEC 62056-21 для считывания показаний электрических счетчиков, смарт-карты, определенные в ISO/IEC 7816 , и протокол ACCESS.bus .
Такой 8-битный LRC эквивалентен проверке циклическим избыточным кодом с использованием полинома x 8 + 1, но независимость битовых потоков менее очевидна, если рассматривать ее таким образом.
Ссылки [ править ]
- ^ RFC 935 : «Надежные протоколы канального уровня».
- ^ «Ошибки, обнаружение ошибок и контроль ошибок: передача данных и компьютерные сети: подход бизнес-пользователя» .
- ^ «Глава1» . Архивировано из оригинала 13 июня 2013 г. Проверено 20 августа 2012 г.
- ^ Гэри Х. Кемметмюллер. «Коррекция ошибок ОЗУ с использованием двумерной проверки четности» .
- ^ Остербан. «Продольный паритет» .
- ^ «Ошибки, обнаружение ошибок и контроль ошибок» .
- ^ ISO 1155:1978 Обработка информации. Использование продольного четности для обнаружения ошибок в информационных сообщениях .
- ^ РФК 914 . «Протокол Thinwire для подключения персональных компьютеров к ИНТЕРНЕТУ». Приложение D: «Протокол последовательного интерфейса линии (SLIP)».
- В этой статье использованы общедоступные материалы из Федеральный стандарт 1037C . Управление общего обслуживания . Архивировано из оригинала 22 января 2022 г. (в поддержку MIL-STD-188 ).