众所周知,TCP建立连接三次握手,断开连接四次挥手,具体流程如下:

MSL是什么意思?

MSL,  the maximum segment lifetime (最长报文段寿命) 。 segment可以在网络中存活的最长时间,超过这个时间会被丢弃。这个时间限制是有界限的,TCP Segment通过IP datagrams进行传输,IP datagrams使用ttl属性来定义这个时间。RFC793中规定MSL为2分钟,但这完全是从工程上来考虑,对于现在的网络,MSL=2分钟可能太长了一些。因此TCP允许不同的实现可根据具体情况使用更小的MSL值。TTL与MSL是有关系的但不是简单的相等关系,MSL要大于TTL。​​​​​​​

TCP的四次挥手为什么需要2MSL ?相关推荐

  1. 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )

    文章目录 一.TCP 连接管理 二.TCP 连接建立 三.TCP 连接建立 相关报文段 字段 四.SYN 洪泛攻击 五.TCP 连接释放 一.TCP 连接管理 TCP 传输数据过程 : 建立连接 -& ...

  2. TCP第四次挥手后为什么要等待2MSL后才断开链接?等待时间为什么是2MSL?

    为何要等待2MSL? 1.假如第四次挥手失败了,因为丢失而未到达服务器会怎样呢?这样,服务器会一直收不到客户端的回应,也就无法得知客户端是否收到了即将要断开连接的请求.客户端此刻还蒙在鼓里,还在等待服 ...

  3. TCP的四次挥手及为什么要等待2MSL

    一.四次挥手的详述 1.假设Client端发起中断连接请求,也就是发送FIN报文. 2.Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还 ...

  4. TCP第四次挥手为什么要等待2MSL(最长报文段寿命,Maximum Segment Lifetime)

    当客户端进入TIME-WAIT状态的时候(也就是第四次挥手的时候),必须经过时间计数器设置的时间2MSL(最长报文段寿命)后,才能进入关闭状态,这时为什么呢??? 这最主要是因为两个理由: 1.为了保 ...

  5. TCP第四次挥手为什么要等待2MSL

    当客户端进入TIME-WAIT状态的时候(也就是第四次挥手的时候),必须经过时间计数器设置的时间2MSL(最长报文段寿命)后,才能进入关闭状态,这时为什么呢???  这最主要是因为两个理由: 1.为了 ...

  6. 【计算机网络】2、TCP:四次挥手与TIME_WAIT、shutdown() 优雅关闭 server、探活、拥塞窗口与 Nagle 算法、端口占用、tcp 的流式协议、可靠性

    文章目录 六.四次挥手 与 TIME_WAIT 6.1 TIME_WAIT 的作用 6.2 TIME_WAIT 的危害和方案 七.server 用 shutdown() 优雅关闭 7.1 close( ...

  7. 详解TCP连接释放四次挥手过程

    TCP连接释放的过程叫做挥手,挥手需要在客户和服务器之间交换四个TCP报文段. 下图是四报文挥手释放TCP连接的过程: 数据传输结束后,通信的双方都可释放连接.现在A和B都处于ESTABLISHED状 ...

  8. TCP/IP / 四次挥手之状态转换图、过程说明和原因

    一.状态转换图 二.过程说明 1.Client:我要断开连接啦! 2.Server:好的!稍等,我这还有一些数据需要发送给你,等完事我再断开连接哈. --(server 向 client 发送数据) ...

  9. TCP的四次挥手中的等待2MSL

    为什么time_wait需要等待2MSL? MSL:一个最大的生命周期,30秒--1分钟 1.保证TCP协议的全双工连接能够可靠关闭. 如果主动关闭方和被动关闭方的最后的一个确认(ack)包不等待2M ...

  10. tcp四次挥手为何最后要等待2MSL时间?

    之前别人问过的一个问题,说是四次挥手为何要等待2MSL时间? 首先我们需要明白,MSL是表示什么意思? 其实是maxinum segment lifttime(报文最大存活时间),tcp发出的包是有一 ...

最新文章

  1. MySQL数据类型之数字类型详细解析
  2. UBUNTU 下查看所有的C库函数和查询 LINUX 编成必备
  3. FLEX+Delphi,FLEX+Java,FLEX+C# 的聊天室
  4. 线段树 区间加 gcd 差分
  5. matlab2012生成dll,64位win7下vc2010如何調用matlab2012a中生成的dll文件
  6. JS_异步任务之流程控制
  7. php扩展拦截请求,PHP的拦截器实例分析
  8. 2021最新Node.js视频教程(基础+全栈项目)
  9. SOC安全运营中心产品
  10. Rust学习:13.1_返回值和错误处理之panic 深入剖析
  11. 如何用java模拟饭店点菜,【模拟饭店2怎么玩】餐厅攻略大全
  12. css深入理解flex布局中的剩余空间分配规则——flex-grow,flex-shrink和flex-basis
  13. 注册百度地图开发者账户创建
  14. Power BI----各类切片器的使用
  15. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月31日~11月6日)...
  16. 面试技巧之如何面试与如何应试
  17. try的动词用法_try的用法都有什么
  18. 2023年腾讯云轻量应用服务器配置价格表(CPU/系统盘/流量/节点)
  19. Acwing LeetCode 题目分类——配套基础课进阶课
  20. netty ChannelFuture的不解?

热门文章

  1. lame编程实现wav转mp3后时长错误的问题
  2. 高薪职位不少,这个行业为什么如此缺人才?
  3. 免费的局域网协作办公方式—onlyoffice文档协作
  4. MyBioSource STMN1 elisa 试剂盒解决方案
  5. 电脑怎样查看密码?100%简单实用的方法
  6. 制作Win7PE精简版的经验总结笔记二
  7. 学习微服务最好的方式:阅读《微服务架构设计模式》
  8. mstar的android方案,Mstar Android 方案.pdf
  9. django的ORM常用字段和参数
  10. shell输出毫秒_Shell获取毫秒时间