Hallo GerdW,
nutzt denn LV die CRC bei UDP? Es besteht ja auch die Möglichkeit in das CRC-Feld 0 einzutragen, dann wird die CRC nicht berücksichtigt.
Wenn die CRC genutzt wird, nach welchem Verfahren wird sie gebildet? Wie es unter Wikipedia UDP beschrieben ist?
Berechnung der Prüfsumme (Quelle Wikipedia:
http://de.wikipedia.org/wiki/User_Datagram_Protocol )
Die Berechnung der Prüfsumme beim Sender erfolgt nach folgendem Algorithmus:
Setze das Prüfsummenfeld im UDP-Header auf 0000 0000 0000 0000.
Erzeuge eine vorzeichenlose 32-Bit-Zahl für die Prüfsumme, initialisiere sie mit Nullen.
Fasse direkt benachbarte Bytes des UDP-Paketes zu 16-Bit-Blöcken zusammen. Falls der letzte Block weniger als 16 Bit hat, dann fülle ihn von hinten mit Nullen auf, bis er 16 Bit hat.
Speichere das Ergebnis der Addition aller 16-Bit-Blöcke mit Übertrag in der Prüfsumme.
Fasse direkt benachbarte Bytes des Pseudo-Headers zu 16-Bit-Blöcken zusammen.
Speichere das Ergebnis der Addition dieser 16-Bit-Blöcke und der bisherigen Prüfsumme mit Übertrag in der Prüfsumme.
Fasse direkt benachbarte Bytes der Prüfsumme zu zwei 16-Bit-Blöcken zusammen, addiere diese und speichere das Ergebnis mit Übertrag in der Prüfsumme, bis kein Übertrag mehr bei der Addition entsteht.
Die signifikantesten 16 Bit der 32-Bit-Prüfsumme sind nun Nullen. Die weniger signifikanten Bits sind die eigentliche Prüfsumme; speichere diese als vorzeichenlose 16-Bit-Zahl.
Wenn diese 16-Bit-Zahl nicht nur aus Einsen besteht, dann speichere ihr Einerkomplement im UDP-Header (sowohl 1111 1111 1111 1111 und das Einerkomplement hiervon, 0000 0000 0000 0000, symbolisieren die Zahl 0). In IPv4 UDP wird 0000 0000 0000 0000 auch verwendet, um zu signalisieren, dass keine Prüfsumme berechnet wurde. IPv6-UDP-Pakete mit der Prüfsumme 0000 0000 0000 0000 sind ungültig (RFC 6935).
Der Empfänger prüft zunächst, ob das Prüfsummenfeld des empfangenen Paketes nur aus Nullen besteht. Wenn ja, kann er das Paket als richtig empfangen werten, da keine Prüfsumme vorhanden ist. Wenn nicht, so wendet er den oben beschriebenen Algorithmus auf das empfangene Paket und den zugehörigen Pseudo-Header an, lässt den letzten Schritt weg und addiert die selbst berechnete Prüfsumme auf die im Prüfsummenfeld empfangene, was durch die Einerkomplementdarstellung einer Subtraktion entspricht. Erhält der Empfänger 0 als Ergebnis der Addition (bzw. Subtraktion), so wertet er die empfangenen Daten als mit den gesendeten übereinstimmend.