Checksum TCP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
=Absender=
 +
*Man bildet aus den 16-Bit-Wörtern ein Einerkomplement.
 +
*Diese Wörter werden ohne Übertrag addiert.
 +
*Das Ergebnis wird wieder als Einerkomplement genommen.
 +
*Das resultierende Einerkomplement wird im Checksum-Feld eingetragen.
 +
=Empfänger=
 +
*Die 16-Bit-Wörter werden ein Einerkomplement genommen.
 +
*Diese Wörter werden ohne Übertrag addiert.
 +
*Das Ergebnis wird wieder als Einerkomplement genommen.
 +
*Das resultierende Einerkomplement wird mit dem im Header empfangenen Checksum verglichen.
 +
*Wenn sie stimmen werden die Daten an die oberen Schichten ausgeliefert
 
=IPv4=
 
=IPv4=
 
{|class="wikitable" style="text-align:center;
 
{|class="wikitable" style="text-align:center;

Version vom 31. Januar 2024, 07:29 Uhr

Absender

  • Man bildet aus den 16-Bit-Wörtern ein Einerkomplement.
  • Diese Wörter werden ohne Übertrag addiert.
  • Das Ergebnis wird wieder als Einerkomplement genommen.
  • Das resultierende Einerkomplement wird im Checksum-Feld eingetragen.

Empfänger

  • Die 16-Bit-Wörter werden ein Einerkomplement genommen.
  • Diese Wörter werden ohne Übertrag addiert.
  • Das Ergebnis wird wieder als Einerkomplement genommen.
  • Das resultierende Einerkomplement wird mit dem im Header empfangenen Checksum verglichen.
  • Wenn sie stimmen werden die Daten an die oberen Schichten ausgeliefert

IPv4

Pseudo TCP header
Source Address
Destination Address
0 0 0 0 0 0 0 0 Proto TCP-Length
TCP Header
Source Port Destination Port
Sequence Number
Acknowledge Number
Offset Reserved Flags Window
Checksum = 0000000000000000 Urgent Pointer
Options Paddings
Data