ProximaMPProximaMP

What Is TCP? A Plain-English Explanation

TCP carries most of the internet: websites, email, file transfers, Minecraft servers. Here is what TCP is in plain English — what it does, why it needs ports, and why some services cannot live without it while others are better off avoiding it.

What TCP does

TCP (Transmission Control Protocol) solves one problem: deliver data complete and in order. Networks are unreliable — packets get lost, delayed, or arrive out of sequence. TCP takes care of all of it:

  • It acknowledges receipt. The receiver confirms every chunk. No confirmation, and the sender ships it again.
  • It restores order. Every packet is numbered, and the receiver reassembles them in the original sequence.
  • It paces itself. When the network cannot keep up, TCP slows down rather than flooding it.

To your program it looks like a pipe: bytes go in one end and come out the other in the same order. All the retry logic stays hidden inside.

What a connection is

TCP is a connection-oriented protocol. Before any data moves, the two sides agree to talk: the client says "I'd like to connect", the server answers "go ahead", the client confirms. Three short messages, after which the channel is open — this is the handshake.

That is where the familiar errors come from: connection refused (nobody is listening on the other end), connection timed out (no answer came back), connection reset (the other side dropped it).

What a TCP port is

An IP address gets you to the right machine; a port gets you to the right program on it. It is a number from 1 to 65535. One machine can run a web server on 80, SSH on 22 and a Minecraft server on 25565 at the same time without any of them colliding.

When a program "listens on a port", it tells the operating system: anything arriving on this number over TCP belongs to me. Two programs cannot claim the same port — the second one simply refuses to start (that error is broken down in Failed to bind to port).

"Opening a TCP port" means making it reachable from the internet, not just from your own machine.

What runs on TCP

ServicePort
HTTP (unencrypted websites)80
HTTPS (encrypted websites)443
Minecraft Java Edition server25565
Terraria7777
SSH22
RDP (Remote Desktop)3389
PostgreSQL / MySQL5432 / 3306
Frontend dev servers3000, 5173, 8080

They have one thing in common: losing a chunk is not an option. Half a web page, a truncated file or a partial SQL query is worthless.

When TCP is the wrong choice

Those guarantees cost time. Lose a packet and TCP stalls the stream until the retransmission arrives. Right for a file, wrong for a voice call or a shooter: while the protocol asks again for a packet that is already stale, the game freezes. That is what UDP is for — it guarantees nothing, but it never waits.

More on this in TCP vs UDP and what UDP is.

FAQ

Is TCP the same thing as IP? No. IP gets a packet to the right machine; TCP sits on top and handles reliability and ordering. That is why they are written together as TCP/IP.

Why do websites use TCP? A page, image or script has to arrive whole and in order, otherwise the browser has nothing to render.

How is a TCP port different from a UDP port? The numbering is independent: TCP 27015 and UDP 27015 are two different ports and can belong to different programs.

How many ports are there? 65535. Numbers up to 1023 are reserved for well-known services; the rest are free.

Want to open a TCP port to the internet?

Normally, reaching your service from outside means a public IP and port forwarding on your router. A tunnel needs neither — see How to open a TCP port with a tunnel.

Download ProximaClient for Windows →

All articles