TCP 标志位 & 3 次握手 & 4 次握手

TCP 标志位

  • SYN:建立
  • ACK:确认
  • PSH:传送
  • FIN:结束
  • RST:重置
  • URG:紧急

TCP 11 种状态

  • SYN_RCVD
  • SYN_SEND
  • LISTEN
  • ESTABLISHED
  • FIN_WAIT1
  • FIN_WAIT2
  • TIME_WAIT
  • CLOSED
  • CLOSING
  • CLOSE_WAIT
  • LAST_ACK

3 次握手 建立连接

假设从 A 到 B 建立连接:


3 次握手 建立连接

4 次握手 关闭连接

假设 A 想主动关闭与 B 之间的 TCP 连接:


4 次握手 关闭连接

MSL:Maximum Segment Lifetime 表示一个 IP 数据包在互联网上生存的最长时间。

为什么要有 TIME_WAIT 状态?
为了可靠地实现 TCP 双工连接的关闭!

在主动关闭方 A 发送完最后一个 ACK 后,进入 TIME_WAIT 状态,持续 2 MSL。

假设没有 TIME_WAIT 状态,主动关闭方 A 发送完最后一个 ACK 后直接关闭,进入 CLOSED 状态。如果这个 ACK 在网络上丢失,被动关闭方 B 没有收到,只能再次发送 FIN,而此时 A 已经关闭,就会响应 RST,错误。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容