2.3.3 VERIFICACION DE REDUNDANCIA CICLICA.
"La comprobación de redundancia cíclica (CRC) 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. Los bloques de datos ingresados en estos sistemas contiene un valor de verificación adjunto, basado en el residuo de una división de polinomios; el cálculo es repetido, y la acción de corrección puede tomarse en contra de los datos presuntamente corrompidos en caso de que el valor de verificación no concuerde; por lo tanto se puede afirmar que este código es un tipo de función que recibe un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud fija como salida. El término suele ser usado para designar tanto a la función como a su resultado. Pueden ser usadas como suma de verificación para detectar la alteración de datos durante su transmisión o almacenamiento. Las CRC son populares porque su implementación en hardware binario es simple, son fáciles de analizar matemáticamente y son particularmente efectivas para detectar errores ocasionados por ruido en los canales de transmisión. La CRC fue inventada y propuesta por W. Wesley Peterson en un artículo publicado en 1961."
A diferencia de las técnicas VRC y LRC, que se basan en la suma (para calcular la paridad), la técnica CRC se basa en la división binaria. En esta técnica, se añaden bits redundantes en la unidad de datos de forma que los todo el conjunto sea divisible exactamente por un número binario determinado, en el destino los datos recibidos son divididos por ese mismo número, si en ese caso no hay resto de la operación, el dato es aceptado, si apareciera un resto de la división, el dato se entendería que se ha corrompido y se rechazará.
La técnica añade unos bits de CRC, de la siguiente manera en tres pasos básicos: en primer lugar se añade una tira de n ceros, siendo n el número inmediatamente menor al número de bits del divisor predefinido (que tiene n+1 bits), el segundo paso es dividir la nueva unidad de datos por el divisor predefinido usando un proceso de división binaria, el resto que quedara sería los bits de CRC a añadir, el tercer paso es sustituir los n bits añadidos en el paso primero por los n bits del resto de la operación del segundo paso, el dato final será divisible exactamente por el divisor predefinido. La imagen muestra el esquema del proceso.
No hay comentarios:
Publicar un comentario