Verificación de redundancia longitudinal

Código de detección de errores

La verificación de redundancia longitudinal (LRC), o verificación de redundancia horizontal, es un código de detección de errores usado frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar cambios accidentales en los datos. Se aplica independientemente a cada uno de un grupo paralelo de flujos de bits. Los datos deben dividirse en bloques de transmisión, a los que se agregan los datos de verificación adicionales.

El término generalmente se aplica a un solo bit de paridad por flujo de bits, calculado independientemente de todos los otros flujos de bits (BIP-8),[1][2]

Añadir el LRC al final de un bloque de datos es un procedimiento muy similar a la suma de verificación (cheksum) y la verificación de redundancia cíclica (CRC).

Pseudocódigo

editar

La norma internacional ISO 1155[3]​ establece que una verificación de redundancia longitudinal para una secuencia de bytes se puede calcular en el software mediante el siguiente algoritmo:

Set LRC = 0
For each byte b in the buffer
do
    Set LRC = (LRC + b) AND 0xFF
end do
Set LRC = (((LRC XOR 0xFF) + 1) AND 0xFF)

Otras formas

editar

Muchos protocolos usan un byte de verificación de redundancia longitudinal basado en la lógica XOR (a menudo llamado carácter de verificación de bloque o BCC), entre los que se encuentran el Serial Line Internet Protocol (SLIP),[4]​ el estándar IEC 62056-21 para lectura de medidores eléctricos, tarjetas inteligentes como se define en ISO/IEC 7816, y el protocolo ACCESS.bus.

Un LRC de 8 bits es equivalente a la verificación de redundancia cíclica utilizando el polinomio x8 + 1. Muchos protocolos utilizan el LRC basado en la lógica XOR, incluido el estándar eléctrico IEC 62056-21 para mediciones, tarjetas inteligentes definidas a través de ISO 7816 y el protocolo ACCESS.bus.[1]

Referencias

editar
  1. a b RFC 935: "Reliable link layer protocols".
  2. "Errors, Error Detection, and Error Control: Data Communications and ComputerNetworks: A Business User's Approach".
  3. ISO 1155:1978 Information processing -- Use of longitudinal parity to detect errors in information messages.
  4. RFC 914. "A Thinwire Protocol for connecting personal computers to the INTERNET".Appendix D: "Serial Line Interface Protocol (SLIP)".