Checksum TCP
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
| 32 Bit | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |||||||||||||||||||||||||||||||
IPv6
| 32 Bit | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pseudo TCP header | |||||||||||||||||||||||||||||||
| Source Address | |||||||||||||||||||||||||||||||
| Source Address | |||||||||||||||||||||||||||||||
| Source Address | |||||||||||||||||||||||||||||||
| Source Address | |||||||||||||||||||||||||||||||
| Destination Address | |||||||||||||||||||||||||||||||
| Destination Address | |||||||||||||||||||||||||||||||
| Destination 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 | |||||||||||||||||||||||||||||||