Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> Programmazione >> C /C + + Programming >> .

Come funziona il CRC?

I controlli di ridondanza ciclica (CRC) sono un meccanismo di rilevamento degli errori ampiamente utilizzato nei sistemi di comunicazione e archiviazione digitale. Funzionano aggiungendo un valore di controllo a lunghezza fissa, noto come resto o firma CRC, a un blocco di dati. Il resto del CRC viene calcolato in base al contenuto del blocco dati e ad una formula matematica predeterminata, nota come polinomio generatore.

Il principio di base alla base dei CRC è che se si verificano errori durante la trasmissione o l'archiviazione dei dati, è probabile che cambino i bit all'interno del blocco dati. Quando il blocco dati viene ricevuto a destinazione, il resto CRC viene ricalcolato utilizzando lo stesso polinomio del generatore e confrontato con il resto CRC originale aggiunto ai dati.

Se il resto CRC ricalcolato corrisponde al resto CRC originale, indica che è probabile che il blocco dati sia privo di errori. Tuttavia, se i resti CRC non corrispondono, ciò suggerisce che potrebbero essersi verificati degli errori durante la trasmissione o la memorizzazione dei dati.

Ecco una panoramica semplificata di come funzionano i CRC:

Preparazione dei dati:il blocco dati da proteggere viene suddiviso in un numero fisso di bit.

Calcolo CRC:il polinomio generatore viene utilizzato per calcolare il resto CRC per il blocco dati. Questo calcolo comporta operazioni matematiche e spostamento dei bit di dati in base al polinomio specifico.

Aggiunta del resto CRC:il resto CRC calcolato viene aggiunto al blocco dati originale, formando un'unità dati protetta.

Rilevamento errori:quando l'unità dati protetta viene ricevuta a destinazione, il ricevitore ricalcola il resto CRC utilizzando lo stesso polinomio del generatore e lo confronta con il resto CRC aggiunto.

Se i resti CRC corrispondono, indica che è probabile che il blocco dati sia accurato e non sia stato danneggiato.

Se i resti CRC non corrispondono, ciò suggerisce che potrebbero essere stati introdotti errori durante la trasmissione o la memorizzazione dei dati.

Gli algoritmi CRC possono rilevare un'ampia gamma di errori comuni, inclusi errori a bit singolo, errori di burst e alcuni errori di sincronizzazione. Tuttavia, è importante notare che i CRC non sono infallibili e potrebbero non rilevare determinati tipi di errori o manipolazioni intenzionali dei dati.

I CRC sono comunemente utilizzati in varie applicazioni, inclusi protocolli di rete, sistemi di archiviazione dati e sistemi di comunicazione, per garantire l'integrità e l'accuratezza dei dati durante la trasmissione e l'archiviazione.

 

Programmazione © www.354353.com