美文网首页简书收藏--Web程序员
理解 TCP(四):状态流转

理解 TCP(四):状态流转

作者: JC_Huang | 来源:发表于2017-03-02 15:58 被阅读45次

更好阅读体验:《理解 TCP 和 UDP》— By Gitbook

无论客户端还是服务器,在双方 TCP 通讯的过程中,都会有着一个「状态」的概念,状态会随着 TCP 通讯的不同阶段而变化。

TCP 状态流转图

TCP 状态流转图.png

各种状态表示的意思

CLOSED:表示初始状态

LISTEN:表示服务器端的某个 socket 处于监听状态,可以接受连接

SYN_SENT:在服务端监听后,客户端 socket 执行 CONNECT 连接时,客户端发送 SYN 报文,此时客户端就进入 SYN_SENT 状态,等待服务端确认。

SYN_RCVD:表示服务端接收到了 SYN 报文。

ESTABLISHED:表示连接已经建立了。

FIN_WAIT_1:其中一方请求终止连接,等待对方的 FIN 报文。

FIN_WAIT_2:在 FIN_WAIT_2 之后, 当对方回应 ACK 报文之后,进入该状态。

TIME_WAIT:表示收到了对方的 FIN 报文,并发送出了 ACK 报文,就等 2MSL 之后即可回到 CLOSED 状态。

CLOSING:一种罕见状态,发生在发送 FIN 报文之后,本应是先收到 ACK 报文,却先收到对方的 FIN 报文,那么就从 FIN_WAIT_1 的状态进入 CLOSING 状态。

CLOSE_WAIT:表示等待关闭,在 ESTABLISHED 过渡到 LAST_ACK 的一个过渡阶段,该阶段需要考虑是否还有数据发送给对方,如果没有,就可以关闭连接,发送 FIN 报文,然后进入 LAST_ACK 状态。

LAST_ACK:被动关闭一方发送 FIN 报文之后,最后等待对方的 ACK 报文所处的状态。

CLOSED:当收到 ACK 保温后,就可以进入 CLOSED 状态了。

参考

《后台开发 核心技术与应用实践》
《计算机网络》

相关文章

  • 理解 TCP(四):状态流转

    更好阅读体验:《理解 TCP 和 UDP》— By Gitbook 无论客户端还是服务器,在双方 TCP 通讯的过...

  • TCP协议详解

    TCP 前言网络模型简图 一、TCP协议结构 二、TCP三次握手与状态流转 三、TCP四次挥手与状态流转 前言 网...

  • TCP状态流转

    本篇主要说说TCP的状态流转。本篇图片摘自《计算机网络 自顶向下方法》。 基础 在说TCP状态流转之前,需要先说一...

  • 网络资料总结3

    传输层相关 一 TCP 1.1 TCP状态 TCP连接的建立和终止 理解TCP的三次握手,四次挥手TCP 为什么是...

  • tcp三次握手四次挥手

    tcp三次握手四次挥手 TCP状态图 TCP状态时序图 tcp三次握手 流程图: TCP握手状态说明: TCP_S...

  • TCP三次握手和四次挥手

    具体三次握手和四次握手的详细内容我就不在这里讲了,这里主要看看TCP连接在生存周期里的状态流转。 TCP 总共有1...

  • TCP三次握手和四次握手

    具体三次握手和四次握手的详细内容我就不在这里讲了,这里主要看看TCP连接在生存周期里的状态流转。 TCP 总共有1...

  • 传输层

    ICMP UDP TCP TCP的三次握手 TCP四次挥手 TCP状态机Tcp_status_map.jpg

  • dpvs学习笔记: 14 流表 tcp 状态机管理

    上图是 tcp 状态流转,建立连接时三次握手,断开时四次。搭建双臂 full-nat 测试时发现,断开也通常是三次...

  • tcp/ip

    TCP/IP--理解TCP三次握手和四次挥手 - 简书

网友评论

    本文标题:理解 TCP(四):状态流转

    本文链接:https://www.haomeiwen.com/subject/lrhkgttx.html