TCP握手挥手状态

文章目录

状态解释

  • SYN_SENT:客户端状态,发送tcp连接请求,等待服务端返回
  • SYN_RECV:服务端状态,服务端收到客户端连接请求,发送确认请求
  • ESTABLISHED 连接已建立
  • FIN-WAIT-1:客户端状态,发送释放连接请求
  • CLOSE-WAIT:服务端状态,收到客户端释放连接请求,发送确认报文,进入此状态
  • FIN-WAIT-2:客户端状态,客户端收到释放连接确认报文,等待服务端发送连接释放报文,之前还需要接受服务端发送的最后数据
  • LAST-ACK:服务端状态,服务端最后的数据发送完毕,发送连接释放报文,服务端进入此状态
  • TIME-WAIT:客户端状态,客户端收到服务器的连接释放报文后,发出确认,进入次状态,注意此时TCP连接还没有释放,必须经过2∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态
  • CLOSED:服务端只要收到客户端确认报文,进入此状态,客户端需等待2msl时间

问题

  1. 为什么四次挥手?

    服务端收到释放请求后,可能还有剩余任务需要处理,需要等待处理完成后才能释放连接

  2. 为什么客户端在收到服务端释放连接请求后,不马上断开?

    网络不可靠,最后一个ack可能丢失,服务端如果没有收到,会不断重复发送fin,所以客户端不能直接close

  3. 客户端故障会怎么样?

tcp 设有一个保活计时器,服务端每收到客户端请求就会重置计时器,时间通常为2个小时,如果2个小时没收到客户端请求,服务端就会发送一个探测报文段,以后每个75秒发送一次,若连续10次都没有反应,则关闭连接

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值