Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Qué es el código de verificación de redundancia cíclica?

¿Qué es el código de verificación de redundancia cíclica?

Categoría: Computadora/Red >> Programación >> Otros Lenguajes de Programación

Descripción del problema:

Lo mejor es tener ejemplos

Análisis:

El código de verificación de redundancia cíclica CRC (Cyclic Redundancy Check)

es un código de verificación de uso común y se usó ampliamente en las primeras comunicaciones porque la tecnología de comunicación inicial no era lo suficientemente confiable. (La fuente de la falta de confiabilidad está determinada por la tecnología de la comunicación. Por ejemplo, la comunicación por ondas electromagnéticas se ve afectada por los rayos y otros factores). La comunicación poco confiable generará confusión sobre la "confirmación de información". El libro menciona el ataque de comunicación conjunto del Ejército Rojo y el Ejército Rojo. Ejército Azul En el ejemplo del enemigo al pie de la montaña, el Ejército Rojo envió un mensaje el primer día pidiendo al Ejército Azul que atacara juntos al día siguiente. Después de recibirlo, el Ejército Azul envió un mensaje de confirmación, pero. Al Ejército Azul le preocupaba que si el 'mensaje de confirmación' no era confiable, Si no logra comunicarse con el Ejército Rojo, ¿no estaría en peligro? Entonces el Ejército Rojo envió otro "mensaje de confirmación", pero el mismo problema aún no podía resolverse y el Ejército Rojo todavía no se atrevía a actuar precipitadamente.

Verificar la confiabilidad de la comunicación requiere una "verificación". La verificación se basa en los datos mismos y se basa en una determinada forma matemáticamente acordada para verificar si el resultado de la verificación es confiable o no. fiable, los datos serán tratados; si no son fiables, serán descartados y retransmitidos o reparados;

El código CRC se compone de dos partes. La primera parte es el código de información, que es la información que debe verificarse. La segunda parte es el código de verificación si el código CRC tiene n bits de longitud. , el código de información tiene una longitud de k bits y se denominan códigos (n,k). Sus reglas de codificación son:

1. Primero desplaza el código de información original (kbit) hacia la izquierda en r bits (k+r=n)

2. Usa un polinomio generador g (x) (también se puede considerar como un número binario) divide la fórmula anterior en módulo 2 y el resto obtenido es el código de verificación.

Es muy simple lo que hay que explicar: la división de módulo 2 es utilizar la suma de módulo 2 durante el proceso de división. La suma de módulo 2 es en realidad la operación XOR con la que estamos familiarizados, es decir, la suma. no considerar carry La fórmula es:

0=1+1=0,1+0=1=1

Es decir, "diferente" significa verdadero, y "no diferente" significa falso.

De esto obtenemos el teorema: a+b+b=a, es decir, las tablas de valores directos de 'módulo 2 menos' y 'módulo 2 suma' son exactamente iguales.

Con la suma y la resta, se puede usar para definir la división de módulo 2, por lo que el polinomio generador g(x) se puede usar para generar el código de verificación CRC.

Por ejemplo: g(x)=x4+x3+x2+1, código (7,3), el código CRC generado por el código de información 110 es:

101

11101 | 110,0000

111 01

1 0100

1 1101

1001

El resto es 1001, por lo que el código CRC es 110,1001

Los códigos CRC estándar son CRC-CCITT y CRC-16, y sus polinomios generadores son:

CRC -CCITT=x16+x12+x5+1

CRC-16=x16+x15+x2+1