$linuxjunkies
>

TCP segment

also: TCP packet, segment

A TCP segment is a unit of data transmitted over a TCP connection, consisting of a header containing control information and a payload containing application data.

A TCP segment is the basic protocol data unit (PDU) of the TCP/IP transport layer. It includes a TCP header with metadata such as source and destination ports, sequence numbers, acknowledgment numbers, flags, and a checksum, followed by the actual payload data being transmitted.

For example, when you download a file over HTTP, the file is broken into multiple TCP segments, each typically 1460 bytes of payload on Ethernet networks (after accounting for TCP and IP headers). Each segment is transmitted independently and may arrive out of order or be retransmitted if lost.

The TCP header itself is typically 20 bytes (without options), and flags in the header indicate control information like SYN (connection start), ACK (acknowledgment), and FIN (connection end). Sequence numbers ensure the receiving TCP stack can reassemble segments in the correct order.

Related terms