Quel est le chèque de redondance cyclique et comment cela fonctionne en termes simples (style pour les nuls)?

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

  •  10-12-2019
  •  | 
  •  

Question

J'ai du mal à comprendre le concept et le fonctionnement du terme laid de sondage " chèque de redondance cyclique ". Je participe à un cours collégial sur les réseaux informatiques et je vous perds déjà.

Le problème est que ma compréhension des mathématiques est très limitée (étudié les mathématiques il y a longtemps à l'école et oublié la plupart de cela) et je ne peux pas obtenir par exemple ce que l'enfer est un polynôme de générateur, quels polynômes doivent faire avec CRC et pour résumer - tout cela semble totalement incompréhensible pour moi.

J'ai lu l'entrée Wiki sur CRC, mais cela ne m'a pas aidé depuis que je ne suis pas bon en maths et tous ces symboles et termes mathématiques sont comme le chinois.

Je comprends que CRC est utilisé pour la détection des erreurs lors de l'envoi de données sur le réseau, mais à partir de ce que je suis perdue.

Quelqu'un peut-il m'aider à expliquer ce concept en termes simples et éventuellement donner un exemple?

Au cours de la dernière conférence, le professeur a commencé à dessiner tous ceux-ci et les zéros, la division et je ne sais pas quoi et je faisais juste regarder et me sentir stupide.

Je serais très reconnaissant que tout le monde puisse m'aider à comprendre!

Était-ce utile?

La solution

Si vous voulez que la réponse soit très simple, vous devez accepter une certaine simplification excessive, si vous êtes prêt à vivre avec cela, voici:

Les données sont transmises sur des liens imparfaits - des erreurs peuvent survenir sur le chemin. Imaginez que vous voulez vous assurer que les informations reçues sont identiques à la transmission sans perdre trop de bande passante, comment feriez-vous cela?

Vous pouvez transmettre chaque fois chaque information d'information deux fois et si vous constatez que le premier est différent du second que vous connaissez une erreur est survenue et que vous devez demander à nouveau les données - mais ce serait très gaspillé. , cela couperait efficacement votre bande passante en deux.

Maintenant, et si vous pouviez calculer une certaine valeur qui est beaucoup plus petite que les données elles-mêmes en dépendent? Donc, si les données ont changé en cours de route (en raison d'une erreur), la valeur calculée ne serait plus «correspondant» aux données et vous sauriez qu'une erreur s'est produite. Y a-t-il un tel calcul?

Qu'en est-il de la simple division et de prendre un reste comme cette valeur?

Dites que je veux transmettre une information / numéro de 1 000. Je le divisons par numéro choisi - comme 6 par exemple ... cela me donne 166 et un reste de 4. Je prends le reste comme ma valeur de contrôle qui est beaucoup plus petite que les informations que je transmettes de sorte que je ne gaspine pas. Trop de bande passante et je transmettais 1 000 suivi de 4. Un récepteur l'obtient, prend le numéro 1 000 la divise par 6 et si le reste est 4, il suppose qu'aucune erreur n'est survenue.

Si une erreur était survenue et que cela recevrait 998 au lieu de 1 000 en raison d'une erreur sur le lien - il le diviserait par 6, obtenez un reste de 2 qui ne correspond pas à 4 et que cela ne correspond pas à une erreur est survenue. C'est le principe de base de CRC.

Bien sûr, il est un peu plus compliqué car il se divise par un polynôme mais le principe d'utilisation d'un reste en tant que "valeur courte représentant les données" pour le vérifier pour les erreurs de la même manière.

J'espère que cela vous aidera à vous donner la tête de ce qui se passe;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top