tcp三次握手

  tcp三次握手位于OSI七层协议(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)中的传输层,用于建立主机间可靠的连接。

连接中用于交互和确认是通过seq、ack等序号以及SYN、ACK等标志位。

  三次握手:

第一次握手:客户端发送SYN(seq=j)包请求服务器连接,同时进入SYN-SENT状态,并等待服务器回应。

第二次握手:服务其接受到SYN包,并发送一个ack=j+1的ACK包和SYN包,即SYN+ACK包回复客户端,此时服务器进入SYN-RECV状态。

第三次握手:客户端接收到SYN+ACK包,此时再发送ACK包到服务器,发送完毕进入连接状态,完成三次握手。

  四次挥手:

 第一次挥手:客户端发送FIN报文和seq序列号,进入FIN-WAIT-1状态

 第二次挥手:服务器收到请求,发出ACK报文,ack序号和seq序号,此时服务器进入CLOSE-WAIT状态。TCP需要通知高层应用客户端的断开连接请求,做出相应的处理或回传数据。

 第三次挥手:客户端收到ACK确认请求后,进入FIN-WAIT-2状态,等待服务器发送连接释放报文。服务器做出相关处理后发送最后的连接FIN释放报文,此时服务器进入LAST-ACK(最后确认状态)

 第四次挥手:客户端收到FIN报文后必须发送最后的ACK报文,此时进入TIME-WAIT状态。服务器收到后进入CLOSED状态。

原文地址:https://www.cnblogs.com/ring2/p/11433876.html