什么是2MSL

MSL是Maximum Segment Lifetime英文的缩写,即"报文最大生存时间", 他是任何报文在网络中存在的最长时间,超过这个时间报文将被丢弃。2MSL即2倍的报文最大存活时间

TCP四次挥手谁需要等待

主动发起关闭的一段需要等待,在第四次挥手时,主动发起关闭方发送完ACK包后就进入了TIME_WAIT状态,必须在此状态停留两倍的MSL时间

为什么需要等待2MSL

因为当主动发起关闭方发送完最后一个ACK包后无法确认对方是否有收到这个ACK包,所以2MSL的时间能保证如果对方没收到会重发第三次挥手的FIN包,且这个包有足够的时候发送回来。如果在这个时间内还没收到重发的FIN包,便可以证明对方已收到该ACK包。在TIME_WAIT状态时两端的端口不能使用,要等到2MSL时间结束才可继续使用。当连接处于2MSL等待阶段时任何迟到的报文段都将被丢弃。不过在实际应用中可以通过设置SO_REUSEADDR选项达到不必等待2MSL时间结束再使用此端口。

Tcp四次挥手谁需要等待,为什么等待时间为2MSL相关推荐

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

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

  2. 为什么只有三次挥手_TCP为什么是三次握手,为什么不是两次或四次,TCP四次挥手...

    这是一个很有意思的问题~ 首先,我们要知道TCP是全双工的,即客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息.而半双工的意思是A可以给B发,B也可以给A发,但是A在给B发的时候,B不 ...

  3. tcp 四次挥手_TCP三次握手和四次挥手

    名词解释 SYN:发起一个新连接 ACK:确认序号有效 FIN:释放一个连接 1,TCP三次握手 第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认: 第 ...

  4. tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总

    简述 本文主要介绍TCP四次挥手的工作原理,以及在面试中常见的问题. 字段含义 seq序号:Sequence Number,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行 ...

  5. 经典面试题之 TCP三次握手 和 TCP四次挥手过程----详解

    TCP三次握手过程: 第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认:SYN:同步序列编号(Synchronize Sequence Nu ...

  6. 计算机网络之TCP四次挥手

    文章目录 计算机网络之TCP四次握手 1.TCP四次挥手过程 2.任何一方执行close()操作即可产生挥手操作为什么要等待呢 3.说说 TCP 四次挥手过程 4.TCP挥手为什么需要四次呢 5. T ...

  7. TCP四次挥手及原因

    一.TCP四次挥手 MSL是TCP报文里面最大生存时间,它是任何报文段被丢弃前在网络内的最长时间. 第一次挥手:A->B,A向B发出释放连接请求的报文,其中FIN(终止位) = 1,seq(序列 ...

  8. 灵魂拷问:TCP 四次挥手,可以变成三次吗?

    上周有位读者面试时,被问到:TCP 四次挥手中,能不能把第二次的 ACK 报文, 放到第三次 FIN 报文一起发送? 虽然我们在学习 TCP 挥手时,学到的是需要四次来完成 TCP 挥手,但是在一些情 ...

  9. 深入浅出TCP四次挥手 (多图详解)

    文章目录 前言 1.TCP的连接释放 2.TCP通过"四报文挥手"来释放连接 3.四次挥手图文详解 4.四次挥手文字总结 5.相关面试问题 前言 TCP三次握手和四次挥手是面试题的 ...

  10. TCP四次挥手(详解)

    一:TCP四次挥手 1:图示 二:TCP四次挥手的过程 所谓的四次挥手即TCP连接的释放(解除).连接的释放必须是一方主动释放,另一方被动释放.挥手之前主动释放连接的客户端结束ESTABLISHED阶 ...

最新文章

  1. 关于STM32的延时问题
  2. matlab中print、fprintf、scanf、disp函数简要语法介绍
  3. LeetCode_111.二叉树的最小深度
  4. 函数的嵌套调用-函数嵌套调用的执行线路图
  5. windows mysql memcached_Memcached在Windows下的安装
  6. oracle导数的数据乱码,Oracle10g导数据时中文乱码相关处理
  7. 蒙特卡罗模拟法 —— matlab
  8. SQLAlchemy 教程 —— 基础入门篇
  9. bing浏览器_微软全新Edge浏览器正式发布 支持macOS和iOS
  10. struts与spring整合方法copy
  11. vbox 按照增强工具 centos7
  12. 关于大数据和互联网的一点想法
  13. linux---多线程---信号量--不懂
  14. 项目遇到的问题总结(四):单页面首屏加载慢解决方案
  15. JSP(一):JSP概要
  16. 动态规划: 数字三角形
  17. 【转】pom.xml详解
  18. DP 动态规划(一) ——背包问题 学习总结(闫氏DP分析法)
  19. xshell上传本地文件命令_linux redhat怎么用xshell上传本地文件
  20. 国际著名黑客大赛介绍

热门文章

  1. 客户端无法向springcloud注册中心注册服务,提示连接超时
  2. 对网上一些Java笔试题的总结,答案与自我理解(400道)
  3. Drupal迁移 | 如何创建一个Drupal 7 到 Drupal 9 的迁移路线图
  4. This experimental syntax requires enabling the parser plugin: ‘optionalChaining‘
  5. win10系统更新后打开chrome浏览器几秒后自动闪退
  6. 解决VsCode感叹号快捷键生成html骨架失效
  7. python爬取皮肤_如何用Python爬取LOL官网全英雄皮肤
  8. 自动刷乐乎邀请码脚本
  9. 【numpy】TypeError: only size-1 arrays can be converted to Python scalars
  10. 论能逼疯一个人的nvidia显卡驱动在ubuntu16.04上的安装