Http的三次握手和四次挥手
2018-06-11 本文已影响0人
云里雾花
三次握手
1.客户端 发送syn =1 seqnumber=值 给服务器端
2.服务器 知道syn =1 是请求连接,然后返回 syn = 1,ack = 1,ack number = seq_number +1
3.客户端首先验证 ack = 1,syn = 1,和 ack number = 第一次请求的seq number +1,然后返回给服务器端 ack number = 返回的ack number +1,ack = 1. 服务器验证后就建立连接了。
client->service: syn = 1 ,seq_number =123
Note right of service:syn = 1 知道是请求连接
service->client: ack = 1,ack_number=seq_number+1,syn = 1
Note left of client:验证ack = 1 ack_number值等于第一次请求的值+1,syn = 1
client->service: ack = 1,ack_number =ack_number+1
Note right of service: 建立连接
四次挥手
1.client 发送fin 报文给服务器端
2.服务器收到客户端fin 后回复客户端 ack =1 意思是我收到了,客户端收到ack 后进入 FIN_WAIT状态,等待状态
3.服务器端发送一个fin 给客户端,
4.客户端收到fin 后发送ack 给服务器端 ,入TIME_WAIT状态,等待2ms后就知道服务器断开连接了,连接关闭
client->service:fin
service->client:ack=1
Note left of client: FIN_WAIT
service->client:fin
client->service:ack
Note left of client:TIME_WAIT