lesson4 简单网络连接-网络断开的简述

本文详细介绍了TCP连接断开的过程,即著名的‘四次挥手’。首先,服务器通过设置TCP头部的FIN比特位发起断开请求,客户端回应ACK包。待数据传输完毕,客户端同样发送FIN包,服务器确认后,连接结束。相较于‘三次握手’,‘四次挥手’的差异在于确保无遗漏数据。此外,断开后,套接字不会立即删除,以防误操作,通常会在几分钟后删除。
摘要由CSDN通过智能技术生成

这节课,我们来简单描述下网络断开的过程。

1.四次挥手

毫无疑问,收发数据结束的时间点应该是应用程序判断所有数据都已经发送完毕的时候。这时,发送数据完成的一方会发起断开过程。也就是说,客户端和服务器都可以发起断开连接请求,这一点与网络连接建立过程不同。

这里我们以服务器一方发起断开过程为例来进行讲解:

  • 首先,服务器的协议栈(也就是调用socket库)会生成包含断开信息的TCP头部,也就是将TCP头部中的标志位FIN比特位设置位1。
  • 接下来,协议栈委托IP模块向客户端发送数据。同时,服务器的套接字中也会记录下断开操作的相关信息。
  • 接下来就轮到客户端了。当收到服务器发来的FIN=1的TCP头部时,客户端的协议栈就会将自己的套接字标记为断开操作状态。然后回复一个ACK包。

上面是完成了服务端的断开请求。

等待一段时间(有些数据还在网络上进行传输),当客户端接收完数据后,同样会发起一个FIN=1的TCP包,然后委托IP模块发送给服务器。一段时间后,服务器就会返回ACK号。至此,客户端和服务端的通信就全部结束了。
在这里插入图片描述

那么,就有同学会问了,为什么连接的时候是"三次握手",到了断开操作时就变成了"四次挥手"呢?

其实呢,连接和断开的都是双方进行控制信息的交换过程,也是双方都进行一次"一发一回"的过程。只不过,连接的时

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值