¿Qué es la revisión de redundancia cíclica y cómo funciona en términos simples (estilo de maniquíes)?

StackOverflow https://stackoverflow.com//questions/9635561

  •  10-12-2019
  •  | 
  •  

Pregunta

Tengo problemas para comprender el concepto y el funcionamiento del término de sondeo feo " Cheque de redundancia cíclica ". Asistí a un curso universitario en redes de computadoras y ya me estoy perdiendo.

El problema es que mi comprensión de las matemáticas es muy limitada (estudió Maths hace mucho tiempo en la escuela y se olvidó la mayor parte de ella) y no puedo obtener, por ejemplo, ¿qué es el infierno un polinomio generador, qué tienen que hacer los polinomios? Con CRC y su resumen, todo eso parece totalmente incomprensible para mí.

Leí la entrada de Wiki en CRC, pero no me ayudó, ya que no soy bueno en Matemáticas y todos estos símbolos y términos de matemáticas son como los chinos.

Entiendo que CRC se usa para detección de errores al enviar datos en la red, pero desde entonces estoy perdido.

¿Puede alguien ayudarme con explicar este concepto en términos simples y posiblemente dar un ejemplo?

Durante la última conferencia, el profesor comenzó a dibujar todos estos y ceroes, dividiendo y no sé qué y yo solo estaba mirando y sintiéndome estúpido.

Estaría muy agradecido a que cualquiera pueda ayudarme a entenderlo!

¿Fue útil?

Solución

Si desea que la respuesta sea muy simple, debe aceptar algunas simplificaciones en exceso, si está dispuesto a vivir con eso, aquí va:

Los datos se transmiten a través de enlaces imperfectos: los errores pueden ocurrir en el camino. Imagínese que desea asegurarse de que la información recibida sea la misma que la transmitida sin perder demasiado ancho de banda, ¿cómo haría eso?

Podría transmitir cada información de dos veces y, si está en el extremo receptor, ve que el primero es diferente al segundo, se ha producido un error y debe solicitar los datos nuevamente, pero esto sería muy desperdiciado , se reduciría efectivamente su ancho de banda a la mitad.

Ahora, ¿qué sucede si podría calcular algún valor que es mucho más pequeño que los datos que aún dependen de él? Entonces, si los datos cambiaron en el camino (debido al error), el valor calculado ya no "coincide" de los datos y usted sabría que se ha producido un error. ¿Hay tal cálculo?

¿Qué pasa con la división simple y tomando un resto como este valor?

Di que quiero transmitir una información / número 1.000. Lo divido por el número elegido, como 6, por ejemplo, que me da 166 y un resto de 4. Tomo el resto como mi valor de verificación, que es mucho más pequeño que la información que realmente estoy transmitiendo, así que no estoy perdiendo. Demasiado ancho de banda y yo transmito 1,000 seguido de 4. El receptor lo obtiene, toma el número 1,000 que la divide por 6 y si el resto es 4, entonces asume que no se ha producido ningún error.

Si se había producido un error y recibiría 998 en lugar de 1,000 debido a un error en el enlace, lo dividiría por 6, obtendría un resto de 2 que no coincide con 4 y la viola sabe que se ha producido un error. Ese es el principio básico de CRC.

Por supuesto, es un poco más complicado porque se divide por un polinomio, pero el principio de usar un resto como un "valor corto que representa los datos" para verificarlo por errores de la misma manera se mantiene.

Espero que esto le ayude a obtener la cabeza sobre lo que está pasando;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top