为什么是2MSL而不是MSL?
2024-10-14 13:09:30
为什么等待2MSL,从TIME_WAIT到CLOSE?
在Client发送出最后的ACK回复,但该ACK可能丢失。Server如果没有收到ACK,将不断重复发送FIN片段。所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment Lifetime)。MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。
最新文章
- 为何Apache下.htaccess不起作用,Linux、Windows详解
- 纯CSS实现二级下拉导航菜单
- 主线程MainThread与渲染线程RenderThread
- 百度地图API示例之移动地图
- 130712周赛(CF)
- bzoj1564
- Oracle 数据乱码
- 第二十九篇、UICollectionView瀑布流
- hdu4669Mutiples on a circle
- ajax请求或者页面需要缓存,代码如下
- CentOS yum安装配置lnmp服务器(Nginx+PHP+MySQL)
- 自由HTML5串行来到《HTML5具体解释Web开发的例子》连载(三)DOCTYPE和字符集
- python--sorted函数和operator.itemgetter函数
- Hibernate 集合映射 一对多多对一 inverse属性 + cascade级联属性 多对多 一对一 关系映射
- Redux 介绍
- Android为TV端助力 进制互相转换
- 通用唯一识别码UUID
- hibernate懒加载
- NetFPGA Demo ——reference_nic_nf1_cml
- Liunx常用命令(Mile)
热门文章
- linux 音频驱动
- c# 类的序列化,以及嵌套问题
- VMware Big Data Extensions 安装步骤
- 输入框去除默认的文字,jquery方法
- 同类型元素,只有一个被选中js
- poj 2488 A Knight's Journey 【骑士周游 dfs + 记忆路径】
- IntelliJ Idea 快捷键精选
- android.intent.category.LAUNCHER和android.intent.action.MAIN
- 机器学习三剑客之Numpy
- DB2数据库管理常用操作