🔍 Simulatore CRC v3.5

Sistemi e Reti - 3ª ITIS – Lezione interattiva sul CRC, con validazione matematica e strumenti per laboratorio

1 Inserisci messaggio e generatore
Formula di costruzione del frame: T(x) = M(x) · xⁿ ⊕ CRC(x) Operativamente: T = M seguito dal CRC. Gli zeri aggiunti in coda servono solo per calcolare il resto.
Solo 0 e 1 — max 128 bit. È possibile usare anche messaggi con grado minore di G(x).
M(x) = x³ + x² + 1
Deve iniziare con 1 — max 65 bit. Per CRC-32 il generatore ha 33 bit.
G(x) = x³ + x + 1
Esempi rapidi:
Lezione (M=1101, G=1011) Esercizio corretto (M=1010, G=1101) CRC-3 didattico CRC-8 didattico CRC-32 Ethernet reale

Come viene scelto il polinomio generatore G(x)?

Nel simulatore puoi scrivere qualsiasi generatore binario valido per fare esercizio. Nelle reti reali, però, G(x) non viene scelto dallo studente, dal programmatore o dalla scheda di rete: è fissato da uno standard tecnico.

  • Il primo bit deve essere 1, perché indica il termine di grado massimo.
  • Il grado di G(x) determina il numero di bit del CRC: grado 3 → CRC di 3 bit; grado 32 → CRC di 32 bit.
  • Un buon generatore è progettato per rilevare molti tipi di errore: errori su un singolo bit, su due bit, errori con numero dispari di bit alterati e raffiche di errore.
  • Per questo Ethernet usa un polinomio standard CRC-32, molto più robusto dei piccoli generatori didattici.
CRC-32 Ethernet, forma normale non riflessa:
G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Bit del generatore usati dal simulatore:
100000100110000010001110110110111
Nota didattica: il simulatore mostra la divisione modulo 2 nella forma scolastica. Le implementazioni reali possono usare registri a scorrimento, bit riflessi, valore iniziale e XOR finale. Il principio rimane: il FCS contiene un CRC di 32 bit.
Esempi verificati di correttezza

I seguenti casi di test sono stati verificati indipendentemente e devono produrre i risultati indicati. Servono come prova di correttezza dell'algoritmo per chiunque voglia replicare o validare il simulatore. Puoi caricarli rapidamente cliccando "Carica".

Messaggio M Generatore G CRC atteso Frame trasmesso Fonte
1101 1011 001 1101001 Lezione standard (CRC-3 didattico)
1010 1101 001 1010001 Esercizio guidato (CRC-3 didattico)
11010011101100 1011 100 11010011101100100 Wikipedia — Cyclic redundancy check
10110010 100000111 00010111 1011001000010111 CRC-8 ATM (1 byte)
1111111111111111 10011 0011 11111111111111110011 CRC-4 ITU su pattern di soli "1"
📐 Polinomio CRC-32 IEEE 802.3 (Ethernet): il simulatore usa la forma non riflessa 100000100110000010001110110110111 (33 bit), corrispondente a x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1. Verificato bit per bit contro lo standard IEEE 802.3.