TCP
The Transmission Control Protocol (TCP), defined in the RFC793, prepares a sure transfer layer and virtual connections to application.
4 | 8 | 16 | 32 bits |
Source port | Destination port | ||
Sequence number | |||
Acknowledgement number | |||
Offset | Resrvd |N|C|E|U|A|P|R|S|F | Window | |
Checksum | Urgent pointer | ||
Options + Padding | |||
Data |
Source port | port-number of the sending application | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Destination port | port-number of the receiving application | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sequence number | position of the first byte in the data stream | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Acknowledgement number | Acknowledgment of all gone ahead bytes (only validly with ACK-Flag) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Offset | Length of the header in units of 32 bits (min. 5) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Resrvd | reserve for future use (must be ZERO) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Flags: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Window | Number of the bytes, that the recipient - beginning with the current Acknowledgement number - is ready to receive | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Checksum | Checksum over the header and data plus a so-called pseudo header to the protection against lacking segments (Source IP-Adresse, Destination IP-Adresse, Transport protocol, TCP-length) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Urgent pointer | Pointer at end of urgent data (offset of the first byte behind the urgent data, offset covered on the Sequence number) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Options + Padding | optional parameters:
plus filling bytes on 32-bit-borders |