
解释:


一开始,客户端和服务端都处于“CLOSE”状态,服务端首先进行端口监听,进入“LISTEN“状态
第一次:客户端向服务端发送一个建立连接的请求,TCP报文的SYN字段设置为1,表示希望请求建立连接,客户端随机生成一个tcp的序号,发送完该请求后,客户端处于一个“SYN-SENT”状态。
第二次:服务器端收到客户端发来的请求后,会发送对应的一个确认请求,ACK标志位置为1,SYN字段设置为1,确认应答号设置为客户端序号值 + 1,同时也随机初始化一个序号seq。服务器端进入“SYN_RVD"状态。
第三次:客户端收到服务端确认请求后,还要向客户端发送一个应答报文,其中ACK标志位设置为1,确认应答号设置为 服务端端序号值 + 1, 本次报文可以携带要发送的数据。发送数据后,客户端进入“ESTABLISHED”状态。服务端收到确认后,也进入“ESTABLISHED”状态。三次握手完成。
参考:小林coding