Which fields are included in the TCP header?

A. Source Port
B. Acknowledgement Number
C. Request Number
D. Destination Address
E. Window
F. Data

Answer: A, B, E


TCP header:

Source Port: 16 bits.
Destination Port: 16 bits.
Sequence Number: 32 bits.

The sequence number of the first data byte in this segment. If the SYN bit is set, the sequence number is the initial sequence number and the first data byte is initial sequence number + 1.

Acknowledgment Number: 32 bits.

If the ACK bit is set, this field contains the value of the next sequence number the sender of the segment is expecting to receive. Once a connection is established this is always sent.

Data Offset: 4 bits.
The number of 32-bit words in the TCP header. This indicates where the data begins. The
length of the TCP header is always a multiple of 32 bits.
Reserved: 3 bits.
Must be cleared to zero.
ECN, Explicit Congestion Notification: 3 bits.
Added in RFC 3168.
Control Bits: 6 bits.
Window: 16 bits, unsigned.
The number of data bytes beginning with the one indicated in the acknowledgment field
which the sender of this segment is willing to accept.
Checksum: 16 bits.
This is computed as the 16-bit one's complement of the one's complement sum of a
pseudo header of information from the IP header, the TCP header, and the data, padded as
needed with zero bytes at the end to make a multiple of two bytes.
Urgent Pointer: 16 bits, unsigned.
If the URG bit is set, this field points to the sequence number of the last byte in a
sequence of urgent data.
Options: 0 to 44 bytes.
Options occupy space at the end of the TCP header. All options are included in the
checksum. An option may begin on any byte boundary. The TCP header must be padded
with zeros to make the header length a multiple of 32 bits.
Data: Variable length.