TCP 用一次 3-way handshake 建立连接,用一次 4-way teardown 关闭它,并靠**流量控制(flow control)和拥塞控制(congestion control)**让数据安全地流动。握手同步各方的起始序列号(sequence number),好让双方都能追踪并确认(ACK)每一个字节:
text
3-WAY HANDSHAKE (open) 4-WAY TEARDOWN (close)
Client Server Client Server
│──── SYN ───────▶│ │──── FIN ───────▶│
│◀── SYN, ACK ────│ │◀──── ACK ───────│
│──── ACK ───────▶│ │◀──── FIN ───────│
│ connected │ │──── ACK ───────▶│
阻止一个快速的发送方压垮一个缓慢的接收方。每一方在每个 ACK 中通告一个 ——它当前有多少字节的缓冲空间。发送方在途中最多只能有一个窗口的未确认数据(一个 );如果接收方的窗口收缩到零,发送方就暂停。这是一个的限制。
