GetUSB.info Logo

Pregunta: CRC Checksum Versículo Verificación de Memorias USB?

Es de suma de comprobación o CRC mejor para comprobar los datos escritos en las unidades flash USB ?

Este blog es para dar al usuario en general una idea de lo que el método de verificación es mejor para la escritura de datos en una unidad flash . Hay enlaces de referencia en la parte inferior de este post que bucean mucho más profundo en los dos métodos de verificación si esta simple visión general no es suficiente.

La respuesta corta es comprobación de redundancia cíclica o CRC es el mejor método para comprobar los datos escritos en una unidad flash USB.

Muchos creen que una suma de comprobación es el mejor método para verificar los datos escritos en una unidad flash (el más popular es MD5) . Creo que este es el favorito porque es más fácil de entender cómo funciona la verificación , y también más fácil de implementar. Sin embargo, existen fallas en la verificación de suma de control y , por lo tanto no es adecuado para la verificación de los datos escritos en una unidad flash.

¿Cuál es la diferencia entre la suma de comprobación y verificación de CRC ? El método de suma de control utiliza además en sus cálculos matemáticos para comprobar si todos los datos se escriben correctamente . CRC utiliza el algoritmo de división en sus cálculos matemáticos para comprobar si todos los datos se escriben correctamente . Vale la pena señalar que estoy hablando división larga binario, no en el largo división escolar yardas que con tanto cariño recuerda.

Métodos de suma de comprobación calculará el total de bits en un paquete de datos e incluir esa cantidad total de la suma de comprobación , cuando los datos se envían a través de líneas de comunicación. El receptor entonces mirar el paquete, leer el valor de suma de comprobación y luego realizar el mismo cálculo para asegurarse de que todo se suma. Si el cálculo en el extremo del receptor coincide con el valor pasado en el paquete , todo es bueno . El problema es la alta probabilidad de que en algún lugar entre el remitente y el receptor de los bits de datos se cambian , dañado o aún intercambiado aún así obtener un valor de suma de comprobación correcta después del cálculo en el extremo receptor .

120513a

En términos muy simples suponga que tiene un compartimiento de las naranjas y las manzanas rojas que van desde Los Ángeles a Nueva York. Todas las manzanas y las naranjas , donde contaron primero y escritas en un manifiesto, a continuación, se vierte en el recipiente y se envían fuera . En el camino algunas de las manzanas rojas fueron reemplazados con manzanas verdes . Cuando el depósito se llegó a Nueva York, el número total de las manzanas y las naranjas se mantuvo igual después del conteo final, sin embargo, el receptor nunca lo supo se suponía que era sólo manzanas rojas.

Comprobación de redundancia cíclica es tan sencillo como sumar , pero usando la división larga. La ventaja de este enfoque está mirando a través de todo el paquete para verificar si toda la información llega correctamente , en lugar de depender de un número de una suma global como verificación . Al igual que con la división tradicional de largo , división binaria funciona a través del número de dividendos a partir del número divisor.

Dado que el método CRC es un poco más complicado de explicar, en primer lugar quisiera táctil en la manzana y las naranjas ejemplo (antes de que se duerma o haga clic fuera de la página ) . Digamos que el mismo bin de manzanas y naranjas van desde Los Ángeles a Nueva York , pero esta vez las manzanas y las naranjas se colocan en bandejas similares a lo que usted piensa por un cartón de huevos . Las bandejas se apilan agradable y limpio y el manifiesto dice cuántas manzanas , color de las manzanas, las naranjas y las capas de bandejas para toda la fruta . Cuando el depósito de las manzanas y las naranjas se recibió en Nueva York el receptor puede comprobar fácilmente la cantidad de capas en la bandeja y verifique el número total de frutos como se describe en el manifiesto.

Comprobación de redundancia cíclica cálculos son cálculos de división larga para un paquete de información , pero tienen sólo un ligero poco de ajuste . Para iniciar el cálculo de un número divisor se ajusta o ” dada”. A continuación, se agrega en ceros que son uno menos que el número divisor. Así por ejemplo, si el número divisor es 5 dígitos de longitud , entonces deberá añadir cuatro ceros al final del paquete. El cálculo sería entonces comenzar para la división larga binario. Una vez que la división larga binario se hace habrá un número de resto . Aquí es donde la parte ” cíclico ” entra en juego Ahora bien, si el cálculo intercambia el número restante de los cuatro ceros mencionados anteriormente ( cuando el cálculo comenzó ) , a continuación, cuando la división larga se corrió otra vez , no hay ningún resto (el resto es cero ) . El uso de este método significa todos los bits en un paquete se examinan durante el proceso de división binaria largo después de que se recibió el paquete de datos .

120513b

Probablemente la forma más fácil de entender que esto sería una ayuda visual. Estudie los dos gráficos siguientes , entonces tendrá sentido.

Cuando se trata de la razón de los métodos de verificación que se emplearán para la transmisión de datos se realiza normalmente a causa de ” ruido ” en las líneas de transmisión , no por un hacker o manipulación externa tratando de ajustar los datos. Ruido en una línea de transmisión puede ser encontrado por muchas razones , tales como el mal diseño de la parte eléctrica ( decir la placa de circuito impreso de una unidad flash ) o no conectados a tierra correctamente (la mayoría de las unidades flash utiliza dos capas PCB pero la especificación de USB es de cuatro capa CPB como mínimo) o materiales de mala calidad utilizados en el dispositivo. Mediante el uso de métodos de verificación confiables , el receptor puede , con mayor fiabilidad , determinar si todos los datos se envían y se reciben correctamente.

Fuente : Gracias ingenieros Nexcopy Inc. para tomar un tema técnico y presentar de una manera no técnica .

Referencias :

Binary Long Division
https://courses.cs.vt.edu/ ~ cs1104/BuildingBlocks/divide.030.html

Definiciones de CRC a través de Wikipedia
https://en.wikipedia.org/wiki/Cyclic_redundancy_check

Más definición técnica + código de CRC en C y C + +
https://www.barrgroup.com/Embedded-Systems/How-To/CRC-Math-Theory

Tags: , ,

Copyright © 2006-2019

USB Powered Gadgets and more…

Todos los derechos reservados.

GetUSB Publicidad

Las oportunidades en nuestro sitio web alcanzan al menos 1,000 visitas únicas por día.

Para más información

Visite nuestra página de publicidad

Nexcopy Proporciona

Protección de copia USB con gestión de derechos digitales para datos cargados en unidades flash USB.

Contáctenos aprender más.