Rechnernetze
Home Nach oben

UDP-Prüfsumme

Die UDP-Prüfsumme wird gebildet, indem dem UDP-Kopf ein Pseudo-UDP-Kopf vorangestellt wird. Dieser besteht aus den Internetadressen von Sender und Empfänger, sowie aus der UDP-Protokollnummer (PROTO=17) und der Länge des UDP-Datagramms.

Die Prüfsumme wird nach dem üblichen Internet-Verfahren über das gesamte UDP-Datagramm, einschließlich Pseudo-Kopf, gebildet. Der Empfänger erhält jedoch nur das UDP-Paket, ohne den Pseudo-Kopf. Somit muss er sich den gleichen Kopf aufbauen, damit auch er die Prüfsumme bilden kann.

Die Prüfsumme ist definiert als die Summe der Worte (zwei Bytes), deren Bitmuster als Einerkomplementzahl aufgefasst werden. Hat die Prüfsumme den Wert null, so wird der Wert FF16 angegeben, der den Wert null im Einerkomplement darstellt; soll keine Prüfsumme berechnet werden, so wird der Wert 0016 angegeben, der ebenfalls den Wurt null im Einerkomplement repräsentiert.

Man beachte, dass die Internetadressen eigentlich nur von IP, also der Netzwerkschicht, berücksichtigt werden sollten. Da UDP trotzdem die Internetadressen verwendet, wird die wünschenswerte Trennung zwischen diesen beiden Schichten durchbrochen. Es stellt sich auch die Frage, ob dieses umständliche Verfahren wirklich etwas zur Sicherheit der Übertragung beiträgt. Die Idee war es wohl, ein korrekt übertragenes Datagramm, welches nur durch die Port-Nummer identifiziert wird, noch einmal darauf zu überprüfen, ob es auch den richtigen Rechner erreicht hat. Aber diese Überprüfung wird (als einzige) auch von IP durchgeführt. Wenn diese Prüfung also nicht unbedingt erforderlich ist, so ist es auch nicht schädlich, wenn man sie unterlässt und somit den zusätzlichen Rechenaufwand und den Durchgriff durch die Protokollschichten vermeidet.