Forum: PC-Programmierung CRC Prüfsumme


von unbekannt (Gast)


Lesenswert?

Hallo,
wie man CRC Prüfsummen berechnet, die dann an den Binärcode gehängt 
werden und dann bei der Prüfung zurück dividiert werden ja das weis ich,
jedoch wollte ich mal wissen, wieviel Bytes an Rawdaten immer in Paketen 
genommen wird, wenn man z.B. CRC 8,16,32, 64 nimmt.

Die folgenden Polynome kamen bei mir raus:
http://andybos.dyndns.org/polynome.txt

Ich hoffe das mir jemand helfen kann.

Cu unbekannt

von Stefan E. (sternst)


Lesenswert?

unbekannt schrieb:
> jedoch wollte ich mal wissen, wieviel Bytes an Rawdaten immer in Paketen
> genommen wird, wenn man z.B. CRC 8,16,32, 64 nimmt.

Es gibt keinen direkten festen Zusammenhang zwischen der Größe der Daten 
und der Größe des CRC. CRC funktioniert Bit-weise. Du kannst auch 5 Bits 
durch einen CRC32 schicken. Dass die CRC-Funktionen die Bits "gebündelt" 
entgegennehmen dient nur der Bequemlichkeit.

von Jasch (Gast)


Lesenswert?

unbekannt schrieb:
> Hallo,
> wie man CRC Prüfsummen berechnet, die dann an den Binärcode gehängt
> werden und dann bei der Prüfung zurück dividiert werden ja das weis ich,
> jedoch wollte ich mal wissen, wieviel Bytes an Rawdaten immer in Paketen
> genommen wird, wenn man z.B. CRC 8,16,32, 64 nimmt.
>
> Die folgenden Polynome kamen bei mir raus:
> http://andybos.dyndns.org/polynome.txt

Siehe was Stefan Ernst geschrieben hat.

Aber: die Fehlererkennung der verschiedenen CRCs ist nur bis zu einer 
gewissen Datenlänge gewährleistet. Es werden ja so Sachen wie "jeder 
1-Bit-Fehler" usw. angegeben, das gilt aber nur bis zu einer bestimmten 
Menge verwursteter Bits!

von unbekannt (Gast)


Lesenswert?

ah danke Euch,
jo wenn es egal ist wieviele Bits ich einer CRC Prüfung unterziehe, dann 
ist ja gut ;)

Nochmal danke

von Reinhard Kern (Gast)


Lesenswert?

Eine CRC-Summe bietet keine absolute Sicherheit gegen Fehler, 
schliesslich gibt es ja bei CRC8 nur 256 mögliche Summen. Statistisch 
gesehen enthält aber ein x mal längerer Text auch x mal mehr Fehler, 
damit wächst natürlich auch die Wahrscheinlichkeit, dass ein Fehler 
nicht erkannt wird. Die verwendete Recordlänge ist daher ein Kompromiss, 
der praktisch in der Grössenordnung von 512 Bytes (hard disk sector) 
oder 1522 (ethernet frame) liegt.

Da spielen aber auch andere Gründe mit, z.B. wäre ein Frame von 10 kB 
gut für Downloads, aber völlig ungeeignet für HTTP-Requests, wiel die da 
garnicht zusammenkommen.

Gruss Reinhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.