PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UDP Checksum berechnen


ESAD
2008-07-24, 20:12:51
Um die UDP Checksum zu berechnen brauchte ich den:
Pseudo Header und das UDP Datagram

Sehe ich das richtig das das UDP Datagram eigentlich nur das "normale" UDP Paket ist? Also UDP Header+Daten?

Das problem bei meinen überlegungen ist jetzt, dass ich ja nicht den kompletten UDP header habe da ja die checksumme fehlt? muss die mit 0en aufgefüllt werden?

ist ja nicht so ergiebig (http://tools.ietf.org/html/rfc768)

Sephiroth
2008-07-24, 22:54:45
Steht doch eigentlich in der RFC, die du verlinkt hast.
The pseudo header conceptually prefixed to the UDP header contains the
source address, the destination address, the protocol, and the UDP
length.

Ja die Checksum ist Null (0x0000), wenn sie nicht verwendet wird.
An all zero transmitted
checksum value means that the transmitter generated no checksum
Für den pseudo header brauchst du die Checksum nicht, denn es spielt keine Rolle ob sie verschieden von Null ist oder nicht.

hier auch noch zwei Sachen
http://www.netfor2.com/udpsum.htm
http://www.codeproject.com/KB/recipes/checksum32.aspx

ESAD
2008-07-24, 23:21:27
ähm

1) der pseudo header beinhaltet keine checksum
2) ich weiß dass sie 0 ist wenn sie nicht verwendet wird. dieses wissen bringt mir nix da ich sie errechnen will
3) die checksumme wird aus den daten des A)pseudoheaders B)UDP Headers C) Daten des UDP Paketes errechnet

so nun will ich wissen:
da ich den UDP header zur berechnung benötige (u.A.) muss der bereich der checksumme ja irgendwie ausgefüllt sein.

Sephiroth
2008-07-24, 23:49:49
äh, ja, mein Fehler ... die Checksum ist zwecks Berechnung auch Null.

This checksum procedure is the same as is used in TCP.
The checksum algorithm is:

The checksum field is the 16 bit one's complement of the one's
complement sum of all 16 bit words in the header. For purposes of
computing the checksum, the value of the checksum field is zero.

ESAD
2008-07-25, 00:50:05
ah danke. das steht im rfc für IP? meine güte ist das verschachtelt

ESAD
2008-07-31, 01:12:12
um die checksumme eines IP Headers zu berechnen muss man soweit ich weiß:

...

edit:habs hinbekommen