TCP ● Transfer Control Protocol
External Links
IANA_Port
Wikipedia
Wikipedia_Port

Source port (16 bits)

Identifies the sending port

Destination port (16 bits)

Identifies the receiving port

Sequence number (32 bits)

If the SYN flag is set (1), then this is the initial sequence number. The sequence number of the actual first data byte and the acknowledged number in the corresponding ACK are then this sequence number plus 1.

If the SYN flag is clear (0), then this is the accumulated sequence number of the first data byte of this segment for the current session.

Acknowledgment number (32 bits)

If the ACK flag is set then the value of this field is the next sequence number that the receiver is expecting. This acknowledges receipt of all prior bytes (if any). The first ACK sent by each end acknowledges the other end's initial sequence number itself, but no data.

Data offset (4 bits)

Specifies the size of the TCP header in 32-bit words. The minimum size header is 5 words and the maximum is 15 words thus giving the minimum size of 20 bytes and maximum of 60 bytes, allowing for up to 40 bytes of options in the header. This field gets its name from the fact that it is also the offset from the start of the TCP segment to the actual data.

NS (1 bit)

ECN-nonce concealment protection (added to header by RFC 3540).

CWR (1 bit)

Congestion Window Reduced (CWR) flag is set by the sending host to indicate that it received a TCP segment with the ECE flag set and had responded in congestion control mechanism (added to header by RFC 3168).

ECE (1 bit)

ECN-Echo has a dual role, depending on the value of the SYN flag. It indicates:

If the SYN flag is set (1), that the TCP peer is ECN capable.

If the SYN flag is clear (0), that a packet with Congestion Experienced flag in IP header set is received during normal transmission (added to header by RFC 3168).

URG (1 bit)

Indicates that the Urgent pointer field is significant

ACK (1 bit)

Indicates that the Acknowledgment field is significant. All packets after the initial SYN packet sent by the client should have this flag set.

PSH (1 bit)

Push function. Asks to push the buffered data to the receiving application.

RST (1 bit)

Reset the connection

SYN (1 bit)

Synchronize sequence numbers. Only the first packet sent from each end should have this flag set. Some other flags and fields change meaning based on this flag, and some are only valid for when it is set, and others when it is clear.

FIN (1 bit)

No more data from sender

Window size (16 bits)

The size of the receive window, which specifies the number of window size units (by default, bytes) (beyond the sequence number in the acknowledgment field) that the sender of this segment is currently willing to receive (see Flow control and Window Scaling)

Checksum (16 bits)

The 16-bit checksum field is used for error-checking of the header and data

Urgent pointer (16 bits)

If the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte

Options (Variable 0–320 bits, divisible by 32)

ShofarNexus™ShofarNexus.comShofarNexus.Com
Help Library

Core

Dev

Kind

Kit

Leaf

Map

Message

Net

Overview

Packet

Primitives

Run

Secure

Session

Site

Socket

Sprint

Stack

Tool

The Tree

Network Help

App

Internet

Hit

Kit

Link

Packet

Session

Socket

Net Tool

Transport

Transport Layer Help

QUIC

SCTP

TCP

TLS

UDP

TCP ● Transfer Control Protocol
TCP ● Transfer Control Protocol

TCP state diagram