释放连接:四次挥手过程?为什么要等待2MSL

TCP连接释放过程中,客户端通过四次挥手与2MSL等待确保连接完全关闭。四次挥手包括客户端的FIN、服务器的ACK、服务器的FIN和客户端的ACK,最后一次ACK等待2MSL是为了防止旧的连接请求报文段干扰新连接,并确保客户端接收到服务器的确认。建立连接只需三次握手,因服务器可同时发送ACK和SYN。保活计数器用于检测客户端故障并及时关闭连接。
摘要由CSDN通过智能技术生成

在这里插入图片描述

储备知识:TCP报文段的首部格式(讲下面提到的):
1.FIN:用来释放一个连接。当FIN=1时,表示此报文段的发送方的数据已经发送完毕,并要求释放运输连接。
2. 确认ACK(acknowledgment):当ACK = 1 时确认号字段才有效。ACK = 0时确认号字段无效。
TCP规定,在连接建立后所有的报文段都必须把ACK置1
3.确认号:是期待收到对方下一个报文段的第一个数据字节的序号,占四字节。
  • 第一次挥手:客户端发送连接释放报文,并停止再发送数据,主动关闭TCP连接。连接释放报文的首部的终止控制位FIN置1,其序号seq=u(等于前面已传送的数据的最后一个字节的序号加1),此时A进入FIN-WAIT-1(终止等待1)状态,等待服务器确认。注意:TCP规定,FIN报文段即使不懈怠数据,它也消耗一个序号。
  • 第二次挥手:服务器收到连接释放报文段后即发出确认,确认为ACK = 1,确认号为ack = u + 1,序号seq = v(其值是服务器前面已传送过的数据最后一个字节的序号加1),然后服务器就进入了关闭等待(CLOSE-WAIT)状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值