好久没有写博客了,最近在刷题和在实验室做小米的项目,一直搁置这个TCP三次握手四次挥手的总结,好了,不磨叽了,开始吧。
首先是三次握手:
- 1,客户端发起,向服务端发送的报文为SYN=1,ACK=0,初始序号为seq=x。
现在的状态:客户端进入SYN-SEND状态; - 2, 服务器接收到了SYN=1,ACK=0的请求报文之后,返回一个SYN=1,ACK=1的确认报文。初始序号为seq=y,确认号ack=x+1;
现在的状态:服务器进入SYN-RCVD状态; - 3,客户端接收到服务器的返回消息后,还要给服务器返回最后一条确认,ACK=1,ack=y+1;
现在的状态:客户端进入ESTABLISHED状态。
然后是四次挥手:
现在双方的状态都是ESTABLISHED状态。
- 1、 客户端发起请求,请求断开连接。FIN=1,seq=u。
客户端进入FIN-WAIT-1状态,等着服务器返回确认;
- 2、 服务器收到客户端的请求断开连接的报文之后,返回确认信息。ACK=1,seq=v,ack=u+1。这个时候,客户端不能给服务器发送信息报文,只能接收。但是服务器要是还有信息要传给客户端,仍然能传送。 <