Glossary Networking

TCP

TCP (Transmission Control Protocol) is the transport protocol that delivers data reliably and in order between two programs.

Last reviewed:

AdSense Placeholder
Slot: header_reference_page

In more detail

A TCP connection starts with a three-step handshake (SYN, SYN-ACK, ACK). TCP numbers the bytes it sends, the receiver acknowledges them, and anything not acknowledged in time is sent again. A window limits how much unacknowledged data may be in flight, and congestion control slows the sender when packets are lost. Connections end with a FIN from each side, or abruptly with a RST. The header is at least 20 bytes. Web pages, email and file transfers use it. The price is extra delay compared with UDP.

Why it matters

"Connection reset" means the other side sent a RST, often because nothing was listening or a firewall cut the session. Over long distances throughput is capped by window size divided by round-trip time, which is why window scaling exists and why a fast line can still feel slow to a distant server.

Example

client → server  SYN      seq=1000
server → client  SYN-ACK  seq=5000 ack=1001
client → server  ACK      seq=1001 ack=5001

Each side acknowledges the other's starting number plus one. Without window scaling, at most 65,535 bytes can be unacknowledged; with a 100 ms round trip that caps a connection at 65,535 × 8 ÷ 0.1 = 5,242,800 bit/s, about 5.2 Mbps, however fast the line.

AdSense Placeholder
Slot: footer_leaderboard