计算机网络 TCP四次挥手

四次挥手的流程

1.主动方打算关闭连接,此时会发送一个TCP首部FIN标志位被置为1的报文,即FIN报文,之后主动方进入FIN_WAIT_1状态。

2.被动方收到该报文后,就立刻向主动方发送ACK应答报文(因为后面要处理完数据再回复FIN,这里立刻先回复一个ACK是为了防止主动方的FIN超时重传),接着被动方进入CLOSE_WAIT状态。

3.主动方收到被动方的ACK应答报文后,进入FIN_WAIT_2状态。

4.等待被动方处理完数据后,也向主动方发送FIN报文,之后被动方进入LAST_ACK状态。

5.主动方收到被动方的FIN报文后,回复一个ACK应答报文,之后进入TIME_WAIT状态。

6.被动方收到ACK应答报文后,就进入了CLOSED状态,至此被动方已经完成了连接的关闭。

7.主动方在TIME_WAIT状态后经过2MSL(两倍的报文段最大存活时间)的时间,自动进入CLOSED状态至此主动方也已经完成连接的关闭。

2MSL是什么?为什么要等待2MSL再关闭?

2MSL是两倍的报文段最大存活时间是,等待2MSL再关闭因为要防止回复的ACK丢失,如果丢失那么被动方就会不断重传FIN,而如果此时主动方直接关闭了,也就不会再接收到这个FIN不会再回复ACK,那么被动方就无法完成关闭的操作,等2MSL,如果ACK丢失被动方再发送一个FIN主动方就会收到,再重新发一个ACK。

为什么被动方收到主动方的FIN报文后要立刻回复一个ACK报文?

因为后面要处理完数据再回复FIN,这里立刻先回复一个ACK是为了防止主动方的FIN超时重传

三次握手和四次挥手的本质是什么?

三次握手的本质是确认通信双方收发数据的能力 。 四次挥手的目的是关闭一个连接 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值