TCP建立连接要进行3次握手,大致流程如下:SYN(同步序号,表示此报文是一个连接请求或者连接接收报文),ACK(确认位,对接收到报文的确认),FIN(表示发送方发送完数据,用来释放一个连接)
1) 客户端向服务器端发送一个SYN J,表示客户端向服务器端发送一个连接请求报文,该报文的初始序列号为J。客户端进入SYN_SENT状态,等待服务器端确认。
2) 服务器端向客户端响应一个SYN K, 表示服务器端向客户端发送一个连接请求报文,该报文的初始序列号为K。并对SYN J进行确认ACK J+1,服务器端进入SYN_REVD状态。
3) 客户端再向服务器端发送一个确认ACK K+1。客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端和服务器端就可以开始传送数据了。
第四步,计算机收到服务器的确认之后,启动2MSL定时器,在time_wait状态还需再等2MSL,才会close。防止第四步的确认数据包丢失,万一确认服务器没有收到,服务器再发送FIN时,客户端还能给服务器确认。
来源:CSDN
作者:种向日葵的小仙女
链接:https://blog.csdn.net/qiuchaoxi/article/details/79931010