TCP四次挥手

TCP三次握手 这篇文章讲述TCP断开连接时的四次挥手过程。

第一步:

主机1会主动发送FIN=1标志, sequence number1给到主机2,确认单方面关闭连接, 不再向主机2发送数据。

第二步:

主机2收到确认FIN标志后,发送ACK=1,  ack number1 = sequence number1 + 1给到主机1, 确认收到了主机1的请求。

第三步:

主机2发送ACK=1 sequence number2, FIN=1给到主机1,确认主机2单方面也关闭了连接,不再向主机1发送数据。

第四步:

主机1收到数据后 ack number= sequence number2 + 1, ack=1发送给主机2,主机2确认。

如下图所示:

为什么握手只需要三次而挥手需要四次呢?

这是因为在握手中双方都有一个SYN序列数的初始化过程需要传递给对方确认,而挥手发送的FIN只是一个单向的标志,只代表着其中的一方如上图的主机1, 而另一方主机2可能还存有数据没有发送给主机1的情况,这个时候收到主机1的FIN后,给主机1一个确认收到的消息后,可以在传输完数据之后再向主机1发送一个单方面关闭连接的FIN给到主机1. 最后双方才断开连接。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值