Einzelnen Beitrag anzeigen

SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#26

Re: CRC32 für einzelne Wörter!

  Alt 25. Jan 2009, 09:11
Also laut http://de.wikipedia.org/wiki/Ethernet steht bei FCS geschrieben:

Zitat:
Das FCS-Feld stellt eine 32-Bit-CRC-Prüfsumme dar. Die FCS wird über den eigentlichen Frame berechnet, also beginnend mit der Ziel-MAC-Adresse und endend mit dem PAD-Feld. Die Präambel, der SFD und die FCS selbst sind nicht in der FCS enthalten. Wenn ein Paket beim Sender erstellt wird, wird eine CRC-Berechnung über die Bitfolge durchgeführt und die Prüfsumme an den Datenblock angehängt. Der Empfänger führt nach dem Empfang die gleiche Berechnung aus. Stimmt die empfangene nicht mit der selbst berechneten Prüfsumme überein, geht der Empfänger von einer fehlerhaften Übertragung aus, und der Datenblock wird verworfen.

Zur Berechnung der CRC-32-Prüfsumme werden die ersten 32 Bits der Mac-Adresse invertiert und das Ergebnis ebenfalls invertiert (Vermeidung des Nullproblems).

Die FCS wird, anders als die Datenbits, mit dem höchstwertigen Bit voran übertragen, womit der Empfänger seine CRC-Prüfung auch über das PAD-Feld hinaus auf die FCS anwenden kann. Ist die Prüfsumme nach Verwendung der FCS ungleich Null, war die Übertragung fehlerhaft.
Also sollte dann doch CRC32 sein, oder? Ich meine sehen werde ich es ja spätestend wenn die Frames bei einem Switchdurchlauf verworfen werden

Aber zu deinem Code: Werden da die jetzt schon die ersten 4 Bytes der MAC-Adresse und das Ergebniss invertiert? Kann deinem Code leider nur minimal folgen, was wohl an meinen rudimentären Pointerkenntnissen liegt
  Mit Zitat antworten Zitat