IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> tcp四次挥手为何最后要等待2MSL时间? -> 正文阅读

[网络协议]tcp四次挥手为何最后要等待2MSL时间?

之前别人问过的一个问题,说是四次挥手为何要等待2MSL时间?

首先我们需要明白,MSL是表示什么意思?
其实是maxinum segment lifttime(报文最大存活时间),tcp发出的包是有一个存活时间的。

我们先来复习下tcp 的四次挥手,用C(client)和S(server)来代替

1.C发出报文,说请求关闭,标识位为FIN,然后客户端进入一个等待状态,表示客户端没有数据发送给服务端了。

2.S收到C的报文之后,会回复C一个报文,标志位为ACK,意思是我收到了,服务端进入等待关闭的状态。

3.S再次发送报文给C,标志位为FIN,意思是告诉C我要准备关闭数据链接了。

4.C收到之后,会发出ACK报文,告诉S,说我这确认收到了,并且等待2MSL之后就会关闭数据链接,销毁资源。

我们想一想,为什么要等待2MSL?

一个MSL表示报文存活的最大时间,不管是C发送到S的报文,还是S发送到C的报文,都是最大可存活1MSL,那么等待2MSL,也就是报文一来一回。

思考一个问题,C最后发给S的报文,有没有可能丢失?如果丢失了怎么办?

肯定会有丢失的情况,如果C最后的ACK丢了,S会超时重传,
C发送的ACK丢了(1MSL) + S重新发一个FIN过来(1MSL)
一来一回,也就是2MSL

参考
https://www.zhihu.com/question/67013338

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:49:47  更:2021-08-31 15:51:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:49:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码