MSL是什么?

MSL是TCP报文的最大生存时间

四次挥手为什么要等2个MSL,而不是1个MSL

  1. 等待2MSL时间主要目的是怕最后一个 ACK包对方没收到,那么对方在超时后将重发第三次握手的FIN包,主动关闭端接到重发的FIN包后可以再发一个ACK应答包。
  2. 如果client直接closed,然后又向server发起了一个新连接,我们不能保证这个新连接和刚关闭的连接的端口号是不同的。假设新连接和已经关闭的老端口号是一样的,如果前一次滞留的某些数据仍然在网络中,这些延迟数据会在新连接建立后到达Server,所以socket就认为那个延迟的数据是属于新连接的,数据包就会发生混淆。所以client要在TIME_WAIT状态等待2倍的MSL,这样保证本次连接的所有数据都从网络中消失。

为什么不是一个?

  • 如果最后一个ACK包丢了,检测到丢包时用了一个MSL,这时主动关闭端就关闭了,对方再次重传的时候,主动关闭端就接收不到了,就会出现死循环.

四次挥手为什么要等2个MSL,而不是1个MSL相关推荐

  1. 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

    转自即时通讯网:http://www.52im.net/ 1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道"三次"和&quo ...

  2. 跟着动画学习 TCP 三次握手和四次挥手

    TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地 ...

  3. 动画:一招学会TCP的三次握手和四次挥手

    TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地 ...

  4. 【转】跟着动画来学习TCP三次握手和四次挥手

    最近看到一篇很通俗易懂的描述TCP三次握手和四次挥手概念的文章,觉得特别好,怕以后找不到了,特意转载在这里学习一下. 原文地址:跟着动画来学习TCP三次握手和四次挥手 作者:老錢 链接:https:/ ...

  5. 漫画:一招学会TCP的三次握手和四次挥手

    2019独角兽企业重金招聘Python工程师标准>>> TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准 ...

  6. TCP三次握手和四次挥手的解释

    基础知识 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 它们的含义是: SYN ...

  7. Linux网络编程--TCP中的三次握手和四次挥手

    服务器编程和客户端编程的大致流程如下: 三次握手是在客户端中的connect中完成的,具体如下: 那么上述说到的SYN     ACK这些是什么东西呢? 上述的截图取自<Linux高性能服务器编 ...

  8. 一文搞懂TCP的三次握手和四次挥手

    目录 1.三次握手 2.四次挥手 3.11种状态名词解析 TCP的三次握手和四次挥手实质就是TCP通信的连接和断开. 三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所 ...

  9. mysql三次握手_一文彻底搞懂 TCP三次握手、四次挥手过程及原理

    原创文章首发于公众号:「码农富哥」,欢迎收藏和关注,如转载请注明出处! TCP 协议简述 TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接. 无论 ...

  10. 通俗易懂的TCP里面的三次握手以及四次挥手

    通过三次握手来建立连接. 连接建立之后,就会传送数据! 四次握手来释放TCP连接 关于TCP协议中三次握手中的大写ACK和小写ack number的区别 参考:https://blog.csdn.ne ...

最新文章

  1. 浅析网页界面设计——首页设计
  2. Vue开发跨端应用(二)修改electron demo
  3. 【收藏】linux下用命令方式创建及管理kvm虚拟机
  4. 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?|附视频讲解
  5. (58)FPGA面试题-只使用双输入NAND门,设计了一个四输入NAND门
  6. P50发布!网友:滚筒洗衣机也能打电话了
  7. 企业网络营销意识的重要性
  8. CCF NOI1005 存款收益
  9. Chromium引擎控件DotNetBrowser V1.14发布 | 附下载
  10. 【转】一步一步学Linq to sql(十):分层构架的例子
  11. WindowXP下PHP5开发环境配置 (转载)
  12. 跑腿 php,啦啦外卖跑腿小程序配置详情
  13. Deepin(2) 设置屏幕分辨率
  14. java审计之XXE
  15. DTAS棣拓智云-三维公差仿真模拟软件几何尺寸与公差分析软件-尺寸工程:DTAS Talk尺寸联盟参与公益课
  16. python读json文件json.decoder.JSONDecodeError终极解决大法
  17. 读书笔记:软件工程(7) - 软件过程模型:螺旋模型、迭代开发
  18. Java 图片添加数字暗水印工具类
  19. 有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢?
  20. sketch measure 导出html,Sketch measure 导出规范卡住的问题

热门文章

  1. 微信公众号 永久图文素材 content html sample
  2. #EDA(电子设计自动化)
  3. 如何彻底对chrome降级
  4. 学会它,能让你工作学习效率提升10倍!
  5. 你所想了解的方正快速开发平台
  6. 论精力充沛与事业成功
  7. 让你精力充沛的25个简单方法
  8. EMACS 使用手册
  9. 12306自动抢票软件代码实现
  10. 【javascript】详解javaScript的深拷贝