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 portport-number of the sending application

Destination portport-number of the receiving application
Sequence numberposition of the first byte in the data stream
Acknowledgement numberAcknowledgment of all gone ahead bytes (only validly with ACK-Flag)
OffsetLength of the header in units of 32 bits (min. 5)
Resrvdreserve 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
WindowNumber of the bytes, that the recipient - beginning with the current Acknowledgement number - is ready to receive
ChecksumChecksum 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 pointerPointer at end of urgent data (offset of the first byte behind the urgent data, offset covered on the Sequence number)
Options + Paddingoptional 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