三次握手和四次挥手

84 阅读1分钟

三次握手

第一次握手,客户端发送一个syn的报文

第二次握手,服务端收到syn报文之后,会回一个syn+ack的报文

第三次握手,客户端收到syn+ack报文之后会回一个ack的报文

服务端收到ack的报文之后,三次握手建立完毕

三次握手确定客户端和服务端接收能力和发送能力都是正常的

四次挥手

第一次挥手,客户端发送一个Fin报文,报文会指定一个序列号,此时客户端处于Fin_wait1状态

第二次挥手,服务端收到Fin之后,会发送一个ACK报文,并且把Fin报文序列号+1当做Ack报文序列号,此时服务端处理close_wait状态

第三次挥手,如果服务端也想断开连接了,会和客户端第一次挥手一样,发送一个Fin报文,并指定一个序列号,此时服务端处于last_ack状态

第四次握手,客户端收到Fin,一样发送一个ack报文作为应答,并且把服务端的序列号+1作为ack的序列号,此时客户端处于time_wait状态,

服务端收到ack报文之后,就处于关闭连接了,处于close状态