TCP 传输控制协议

Transmission Control Protocol。在 IP 之上提供面向连接、可靠的数据流。互联网上绝大多数流量都走 TCP。

核心特性:

  • 面向连接 —— 通信前先三次握手建立连接(SYN → SYN-ACK → ACK)
  • 可靠传输 —— 丢包会重传,保证数据到达
  • 有序 —— 给每个数据包编号,接收端按顺序重组
  • 流量控制 —— 不让接收方被淹

代价:慢。需要建立连接、确认、重传 —— 比 UDP 开销大。

用 TCP 的场景:

  • 网页 / HTTP / HTTPS
  • 文件传输 / SFTP
  • 邮件 / SSH
  • 凡是数据不能丢、必须按顺序的场景

不用 TCP 的场景:实时视频/语音/游戏 —— 那些用 UDP,宁可丢帧也要低延迟。

SYN flood 攻击 直接相关:利用三次握手机制耗尽服务器资源。