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.