四次挥手,江湖再见

四次挥手,江湖再见

一旦有了感情(连接),再分手就难了,难到需要四次挥手。不像 UDP 那样,没有连接,说分就分。

d33ccdde8fb74e71b834565970d2ba9a.jpg

 

当客户端和服务端双方发送数据完成后,一般会由客户端主动发起断开连接的请求,当然,也有少数情况是服务端主动发起。

 

以最常见的客户端发起断开连接为例,说一下四次挥手的过程。

 

1、第一次挥手

 

客户端设置序号(Sequence Number)和确认序号(Acknowledgment Number),发送一个 FIN 段给服务器。这时,客户端进入 FIN_WAIT_1状态,意味着客户端没有数据要发送了。

 

2、第二次挥手

 

服务端收到 FIN 报文段,向客户端发送一个 ACK 段,客户端进入 FIN_WAIT_2 状态。表示服务端已同意连接关闭请求。

 

3、第三次挥手

 

服务端向客户端发送 FIN 段,请求关闭连接,同时服务端进入 LAST_ACK 状态。

 

4、第四次挥手

 

客户端收到服务端发来的 FIN 段,向服务端发送 ACK 段,之后客户端进入TIME_WAIT状态。服务端收到客户端的ACK 段以后,就关闭连接。

 

34ef33f1488843b083f66548a818b5a0.png

 

上面就是由客户端主动发起关闭连接的过程。

 

半关闭状态

TCP 是一个全双工的字节流服务,意思就是说两个端点都可以同时发送和接收消息。

 

正常情况下需要四次挥手才能完成连接的完全断开。但是有一种情况是这样的,只主动关闭自己到对方的连接,但是对方还是可以给自己发送数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值