Che cosa è il controllo ciclico della ridondanza e come funziona in termini semplici (stile for-dummies)?

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

  •  10-12-2019
  •  | 
  •  

Domanda

Ho difficoltà a capire il concetto e il funzionamento del brutto termine del suono " Redondanza ciclica ". Attendo un corso universitario sulle reti di computer e sto già perse.

Il problema è che la mia comprensione della matematica è molto limitata (studiata matematica molto tempo fa a scuola e ho dimenticato la maggior parte) e non posso ottenere ad esempio quello che diavolo è il polinomiale del generatore, quali polinomi devono fare Con CRC e per riassumere - tutto ciò sembra totalmente incomprensibile per me.

Leggo la voce Wiki su CRC, ma non mi ha aiutato da quando non sono bravo a matematica e tutti questi simboli e termini di matematica sono come i cinesi.

Capisco che CRC viene utilizzato per il rilevamento degli errori quando si inviano dati sulla rete ma da allora sono perso.

Qualcuno può aiutarmi a spiegare questo concetto in termini semplici e possibilmente fornire un esempio?

Durante l'ultima lezione il professore ha iniziato a disegnare tutti questi e zero, divide e non so cosa e io stavo solo fissando e sentire stupido.

Sarei molto grato che qualcuno può aiutarmi a capire!

È stato utile?

Soluzione

Se vuoi che la risposta sia molto semplice devi accettare qualche semplificazione eccessiva, se sei disposto a vivere con questo, qui va:

I dati vengono trasmessi su collegamenti imperfetti - gli errori possono verificarsi in arrivo. Immagina di voler assicurarsi che le informazioni ricevute siano le stesse del trasmesso senza sprecare troppa larghezza di banda, come lo faresti?

È possibile trasmettere ogni pezzo di informazione due volte e se sull'estremità ricevente vedi che il primo è diverso dal secondo che conosci si è verificato un errore e è necessario richiedere di nuovo i dati - ma questo sarebbe molto dispendioso , tagliare efficacemente la tua larghezza di banda a metà.

Ora, cosa succede se è possibile calcolare un valore molto più piccolo dei dati in sé ancora dipende da esso? Quindi se i dati sono cambiati lungo la strada (a causa dell'errore), il valore calcolato non sarebbe più "corrispondere" ai dati e si è verificato un errore. C'è un tale calcolo?

E la semplice divisione e prendendo un resto come questo valore?

Dì che voglio trasmettere un'informazione / numero 1.000. La dividi con il numero scelto - come 6 ad esempio ... che mi dà 166 e un resto di 4. Prendo il resto come il mio valore di controllo che è molto più piccolo delle informazioni che sto effettivamente trasmettendo, quindi non sto sprecando Troppa larghezza di banda e trasmetto 1.000 seguiti da 4. Un ricevitore lo prende, prende il numero 1.000 dividerlo per 6 e se il resto è 4, presuppone che nessun errore si sia verificato.

Se si è verificato un errore e riceverebbe 998 invece di 1.000 a causa dell'errore sul collegamento - si dividerà per 6, ottenere un resto di 2 che non corrisponde a 4 e viola che conosce un errore. Questo è il principio di base del CRC.

certo che è un po 'più complicato perché si divide da un polinomio ma il principio di utilizzare un resto come "breve valore che rappresenta i dati" per controllarlo per errori nello stesso modo in cui supporti.

Spero che questo ti aiuti a farti prendere la testa su cosa sta succedendo;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top