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:

N - NS

Nonce Sum

C - CWR

Congestion Window Reduce

E - ECE

Explicit Congestion Notification Echo

U - URG

Urgent pointer is valid

A - ACK

Acknowledgement number is valid

P - PSH

push, immediate relegation of the segment at the application layer

R - RST

reset, connection-reset

S - SYN

synchronize, connection-call and with it synchronization of the used Sequence number

F - FIN

final, connection-close

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:

Kind

Length

Meaning

Reference

0

-

End of Option List

[RFC793]

1

-

No-Operation

[RFC793]

2

4

Maximum Segment Size

[RFC793]

3

3

WSOPT - Window Scale

[RFC1323]

4

2

SACK Permitted

[RFC1072]

5

N

SACK

[RFC1072]

6

6

Echo (obsoleted by option 8)

[RFC1072]

7

6

Echo Reply (obsoleted by option 8)

[RFC1072]

8

10

TSOPT - Time Stamp Option

[RFC1323]

9

2

Partial Order Connection Permitted

[RFC1693]

10

5

Partial Order Service Profile

[RFC1693]

11

CC

[Braden]

12

CC.NEWS

[Braden]

13

CC.ECHO

[Braden]

14

3

TCP Alternate Checksum Request

[RFC1146]

15

N

TCP Alternate Checksum Data

[RFC1146]

16

Skeeter

[Knowles]

17

Bubba

[Knowles]

18

3

Trailer Checksum Option

[Subbu & Monroe]

plus filling bytes on 32-bit-borders