Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> C /C + + Προγραμματισμός

Πώς λειτουργεί το crc;

Οι κυκλικοί έλεγχοι πλεονασμού (CRC) είναι ένας ευρέως χρησιμοποιούμενος μηχανισμός ανίχνευσης σφαλμάτων σε συστήματα ψηφιακής επικοινωνίας και αποθήκευσης. Λειτουργούν προσθέτοντας μια τιμή ελέγχου σταθερού μήκους, γνωστή ως υπόλοιπο CRC ή υπογραφή, σε ένα μπλοκ δεδομένων. Το υπόλοιπο CRC υπολογίζεται με βάση τα περιεχόμενα του μπλοκ δεδομένων και έναν προκαθορισμένο μαθηματικό τύπο, γνωστό ως πολυώνυμο γεννήτριας.

Η βασική αρχή πίσω από τα CRC είναι ότι εάν προκύψουν σφάλματα κατά τη μετάδοση ή την αποθήκευση δεδομένων, είναι πιθανό να αλλάξουν τα bit μέσα στο μπλοκ δεδομένων. Όταν το μπλοκ δεδομένων λαμβάνεται στον προορισμό, το υπόλοιπο CRC υπολογίζεται εκ νέου χρησιμοποιώντας το ίδιο πολυώνυμο γεννήτριας και συγκρίνεται με το αρχικό υπόλοιπο CRC που προσαρτήθηκε στα δεδομένα.

Εάν το υπόλοιπο CRC που υπολογίστηκε εκ νέου ταιριάζει με το αρχικό υπόλοιπο CRC, υποδηλώνει ότι το μπλοκ δεδομένων είναι πιθανό να είναι απαλλαγμένο από σφάλματα. Ωστόσο, εάν τα υπόλοιπα CRC δεν ταιριάζουν, υποδηλώνει ότι ενδέχεται να έχουν συμβεί σφάλματα κατά τη μετάδοση ή την αποθήκευση δεδομένων.

Ακολουθεί μια απλοποιημένη επισκόπηση του τρόπου λειτουργίας των CRC:

Προετοιμασία δεδομένων:Το μπλοκ δεδομένων προς προστασία χωρίζεται σε σταθερό αριθμό bit.

Υπολογισμός CRC:Το πολυώνυμο της γεννήτριας χρησιμοποιείται για τον υπολογισμό του υπολοίπου CRC για το μπλοκ δεδομένων. Αυτός ο υπολογισμός περιλαμβάνει μαθηματικές πράξεις και μετατόπιση των bit δεδομένων με βάση το συγκεκριμένο πολυώνυμο.

Προσάρτηση υπολοίπου CRC:Το υπολογισμένο υπόλοιπο CRC προσαρτάται στο αρχικό μπλοκ δεδομένων, σχηματίζοντας μια προστατευμένη μονάδα δεδομένων.

Ανίχνευση σφαλμάτων:Όταν η προστατευμένη μονάδα δεδομένων λαμβάνεται στον προορισμό, ο δέκτης υπολογίζει εκ νέου το υπόλοιπο CRC χρησιμοποιώντας το ίδιο πολυώνυμο γεννήτριας και το συγκρίνει με το προσαρτημένο υπόλοιπο CRC.

Εάν τα υπόλοιπα CRC ταιριάζουν, υποδηλώνει ότι το μπλοκ δεδομένων είναι πιθανό να είναι ακριβές και ότι δεν έχει καταστραφεί.

Εάν τα υπόλοιπα CRC δεν ταιριάζουν, υποδηλώνει ότι ενδέχεται να έχουν εισαχθεί σφάλματα κατά τη μετάδοση ή την αποθήκευση δεδομένων.

Οι αλγόριθμοι CRC μπορούν να ανιχνεύσουν ένα ευρύ φάσμα κοινών σφαλμάτων, συμπεριλαμβανομένων σφαλμάτων ενός bit, σφαλμάτων ριπής και ορισμένων σφαλμάτων συγχρονισμού. Ωστόσο, είναι σημαντικό να σημειωθεί ότι τα CRC δεν είναι αλάνθαστα και ενδέχεται να μην ανιχνεύουν ορισμένους τύπους σφαλμάτων ή σκόπιμους χειρισμούς δεδομένων.

Τα CRC χρησιμοποιούνται συνήθως σε διάφορες εφαρμογές, συμπεριλαμβανομένων πρωτοκόλλων δικτύου, συστημάτων αποθήκευσης δεδομένων και συστημάτων επικοινωνίας, για να διασφαλιστεί η ακεραιότητα και η ακρίβεια των δεδομένων κατά τη μετάδοση και την αποθήκευση.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα