四次挥手

书接上文,把常用的标志位再次拿出来,方便讲解

常用标志位说明
SYN(synchronous)建立连接
ACK(acknowledgement)响应
PSH(push)DATA数据传输
FIN(finish)关闭连接
RST(reset)重置
URG(urgent)紧急
Sequence Number)序列号
Acknowledgement Number确认号

一、挥手解析
挥手的意思就是客户端要断开连接的过程,和握手的过程相反,握手的过程就是客户端和服务端建立连接的过程,为什么握手有三次,挥手会有四次呢?原因在于,在挥手的时候,多的一次是服务器端需要把当前的事务结束告诉客户端的过程,这个过程的作用是:主要保证使本次连接持续时间内所有产生的报文段消失,保证在下一次新连接中不会出现旧连接遗留的请求报文段。
二、四次挥手
第一次挥手:客户端想要断开连接,会 向服务端发送一段TCP报文,这个过程客户端进入FIN-WAIT-2阶段,其中将FIN标志位置为1,发送初始序列号u(FIN=1,序列号seq=u)
第二次挥手:服务器收到客户端发来的断开连接的请求,随后服务端结束established阶段,进入close-wait阶段,并向客户端返回一个TCP报文,标记位为ACK置为1,序列号为seq=v;将客户端接受的序列号+1,生成一个确认号为ack=U+1(ACK=1,序列号seq=u,确认号ack=u+1),这个过程表示服务端知道客户端需要断开连接的要求,接下去就开始准备断开,所以就产生了第三次挥手,还是服务端向客户端发送数据。
第三次挥手:客户端发送第二次挥手信息后,就开始准备 和客户端断开连接,使标记位为FIN,ACK都置为1,序列号为seq=w;确认号为ACK=U+1,这个时候服务器端进入last-ack阶段,并且停止在服务器端到客户端的方向上发送数据,但是服务器端仍然能够接收从客户端传输过来的数据(FIN=1,ACK=1,序列号seq=w,确认号ack=u+1)
第四次挥手:客户端接受服务端的报文之后,进入TIME-WAIT阶段,并回应客户端收到信息,标记位为ACK置为1,序号为seq=U+1,确认号为ACK=W+1(ACK=1,序列号seq=u+1,确认号ack=w+1)至此,挥手结束

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值