¿Cómo funcionan CRC y Checksum en los sistemas de red?

CRC y las sumas de verificación son una excelente manera de identificar si un mensaje se recibió correctamente. Se utilizan para verificar que hubo algún error en las capas subyacentes de la pila OSI. Tienen una importancia crítica en la capa de enlace de datos, donde verifican que no haya fallas en la capa física (donde generalmente ocurren fallas).

Cómo funcionan: cuando un dispositivo tiene que enviar un marco (mensajes), crea un hash del mismo. Ese hash no es más que un montón de bits, puedes pensarlo como un resumen del paquete. Sin embargo, no puede reconstruir el paquete a partir del hash. En cambio, el mismo paquete siempre generará el mismo hash. Ese hash es el CRC / suma de verificación.

Una vez que se crea el hash, se adjunta al final del marco y se envía con él.

Cuando los otros dispositivos reciben el paquete, intenta crear el hash nuevamente y lo compara con el recibido. Si son iguales, el paquete se recibió correctamente. De lo contrario, tuvimos errores de transmisión.

Si se detectan errores de transmisión, la capa de enlace de datos abandona la trama. Simplemente lo deja caer. Cualquier retransmisión será manejada por protocolos de capa superior, si es necesario. Además, la retransmisión está bajo la responsabilidad de los dispositivos finales (los que se comunican entre sí). Los dispositivos intermedios, como enrutadores o conmutadores, no se encargan de eso.

Si desea obtener más información sobre este tipo de operación de redes, puede consultar este artículo que he escrito sobre la capa de enlace de datos.

Una de las principales diferencias observadas entre los dos es que CRC usa una fórmula matemática que se basa en una codificación de 16 o 32 bits en lugar de Checksum que se basa en 8 bytes para verificar los datos.

Los CRC son bastante similares a las sumas de verificación, pero utilizan el método de división polinómica para determinar el valor del CRC.

  1. CRC es más exhaustivo en comparación con Checksum en la comprobación de errores e informes.
  2. Checksum es el más antiguo de los dos programas.
  3. CRC tiene un cálculo más complejo en comparación con la suma de verificación.
  4. La suma de verificación detecta principalmente cambios de un solo bit en los datos, mientras que CRC puede verificar y detectar errores de dos dígitos.
  5. CRC puede detectar más errores que la suma de verificación debido a su función más compleja.
  6. Una suma de verificación se emplea principalmente en la validación de datos al implementar software.

Así que ahora enfocándonos en cómo funciona Checksum :

Una suma de verificación es un tipo simple de verificación de redundancia que se utiliza para detectar errores en los datos. Los errores ocurren con frecuencia cuando los datos se escriben en el disco o cuando se transmiten a través de una red. Aunque los errores … son pequeños, un pequeño error puede afectar la calidad de los datos y los datos no pueden ser utilizados.

La suma de verificación se realiza calculando los valores binarios en un paquete o en diferentes bloques de datos utilizando un algoritmo particular y guardando los datos. Cuando se reciben datos en cualquiera de los extremos, se calculará una nueva suma de comprobación utilizando algún Algoritmo y se comparará con el Algoritmo existente. Si esas sumas de verificación no coinciden … debe haber un error en los datos recibidos.

Hay incluso más métodos como CRC para detectar tales errores, pero el método requiere recursos de alto nivel para utilizar el CRC para verificar errores.

Verificación de redundancia cíclica (CRC) Un mecanismo de detección de errores en el que se agrega un número especial a un bloque de datos para detectar cualquier cambio introducido durante el almacenamiento (o transmisión). El CRC se recalcula en la recuperación (o recepción) y se compara con el valor transmitido originalmente, lo que puede revelar ciertos tipos de error.

Pero este sistema es más complejo y requiere más recursos para implementarlo.

Básicamente son técnicas para detectar errores en archivos o paquetes transmitidos. Esencialmente, el lado emisor realiza un cálculo, trata los bytes del paquete como números y utiliza alguna fórmula o algoritmo fijo. El resultado se agrega al paquete. El lado de recepción realiza el mismo cálculo en los bytes del paquete y compara el resultado con el valor que se agregó al paquete. Deberían ser iguales. Si son diferentes, significa que hay un error en el paquete. CRC (verificación de redundancia cíclica) y la suma de verificación son diferentes formas de hacer el cálculo; hay muchas variantes.