【计算机网络】 TCP——四次挥手

2023-10-26

文章目录


在这里插入图片描述

流程

  1. 主动方打算关闭连接,此时会发送一个TCP首部FIN标志位被置为1的报文,也即FIN报文,之后主动方进入FIN_WAIT_1状态。
  2. 被动方收到该报文后,就向主动方发送ACK应答报文,接着被动方进入CLOSE_WAIT状态。
  3. 主动方收到被动方的ACK应答报文后,进入FIN_WAIT_2状态。
  4. 等待被动方处理完数据之后,也向主动方发送FIN报文,之后被动方进入LAST_ACK状态。
  5. 主动方收到被动方发送的FIN报文后,回一ACK应答报文,之后进入TIME_WAIT状态。
  6. 被动方收到了ACK应答报文之后,就进入了CLOSED状态,至此被动方已经完成连接的关闭。
  7. 主动方在经过2MSL一段时间之后,自动进入CLOSED状态,至此主动方也完成了连接的关闭

考点

  • 为什么主动方发了最后一次ACK后还要等待2MSL后才能进入关闭连接?

答:因为最后等待2MSL是为了防止最后一次ACK丢失,如果ACK丢失了,在2MSL中会再次收到FIN,那就再回一个ACK,如果没有再次收到FIN,就证明ACK没有丢失,就可以放心进入CLOSE状态了,如果不等待就关闭并且ACK包丢失了,那么被动方就会一直重复发FIN包。

  • 被动方在收到FIN后,为什么要立刻回一个ACK,等一会再发FIN?

答:要将之前收到的数据都处理完再回复FIN包,立刻回ACK是为了防止超时重传,因为如果处理数据的时间过长就会触发超时重传机制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【计算机网络】 TCP——四次挥手 的相关文章

  • 计算机熔断与服务降级,Hystrix---服务熔断和服务降级

    一 服务熔断 防止服务雪崩 作用在服务提供者 服务熔断 熔断机制是应对雪崩效应的一种微服务链路保护机制 当扇出链路的某个微服务不可用或者响应时间太长时 会进行服务的降级 进而熔断该节点微服务的调用 快速返回 错误 的响应信息 当检测到该节点
  • Java多线程——Lock

    Lock 从JDK 5 0开始 Java提供了更强大的线程同步机制 通过显式定义同步锁对象来实现同步 同步锁使用Lock对象充当 java util concurrent locks Lock接口是控制多个线程对共享资源进行访问的工具 锁提
  • Java的静态绑定与动态绑定

    我们可以对思考一个问题 JVM是如何知道调用的是哪个类的方法源代码 这里面到底有什么内幕呢 这篇文章我们就将揭露JVM方法调用的静态 static binding 和动态绑定机制 auto binding 理解这两个绑定之前 我们不妨先理解
  • Vue + Springboot 前后端分离项目实践:项目简介及教程

    专栏目录 持续更新 Vue js Spring Boot 前后端分离项目实践 一 项目简介Vue js Spring Boot 前后端分离项目实践 二 搭建 Vue js 项目Vue js Spring Boot 前后端分离项目实践 三 前
  • Visual Studio 2015 + cmake编译QT5程序

    概述 由于QT的集成开发环境QTCreate 在代码调试功能上远不及Visual Studio方便 因此 在Windows平台 可以使用Visual Studio来开发调试QT程序 本文章就主要介绍下 如何使用CMAKE编译QT5程序 并使
  • 【Unity】SafeArea适配大小

    通过使用SafeArea 修改stretch适配类型的UI画布的Top偏移 适应安卓异型屏幕
  • rust nom 实现一个简单的sql解析器

    rust nom 实现一个简单的sql解析器 祝福 前言 分析 字段 表 查询语句 编码 关键字 字符规则 alias 字段 常规格式的字段处理 字符串格式字段处理 子查询处理 字段处理汇总 表 整个查询语句 结尾 祝福 过年期间 新型冠状

随机推荐

  • socket error总结

    Socket error 0 Directly send error Socket error 10004 Interrupted function call Socket error 10013 Permission denied Soc
  • nfs 成功挂载后,写入时出现permission denied的解决

    nfs服务器端 etc exports文件中已指定 rw 可读可写 在客户端也能正常挂载 可在向挂载目录里写入内容提示 permission denied 后来才搞清楚 nfs在服务器端导出的目录 也有一定权限要求 当把服务端导出目录 修改
  • T88合并两个有序数组

    题目 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2 请你将 nums2 合并到 nums1 中 使 nums1 成为一个有序数组 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 你可以假设 nums1
  • DropDownList控件的数据绑定

    DropDownList控件如何进行数据绑定 简单方法 在单击控件的向右箭头 在 编辑项 里面进行编辑添加 如下图所示 在前台代码中添加 方法一 在页面初始化时候将集合绑定到DropDownList 人工绑定 public void Pag
  • 致 Python 初学者

    文章目录 1 前言 2 明确学习目标 不急于求成 不好高骛远 3 在开始学习 Python 之前 你需要做一些准备 2 1 Python 的各种发行版 2 2 安装 Python 2 3 选择一款趁手的开发工具 3 习惯使用IDLE 这是学
  • 未来城市规划

    未来城市规划 题目描述 n n n 个节点的树 m m m 次操作 每个边都有初始边权 c
  • Kubernetes将会在1.24版本中弃用dockershim

    点击上方 分布式实验室 关注公众号 回复 1 抽取技术书 Kubernetes 计划在即将发布的 1 24 版本里弃用并移除 dockershim 使用 Docker 引擎作为其 Kubernetes 集群的容器运行时的工作流或系统需要在升
  • MFC的静态库.lib、动态库.dll(包含引入库.lib)以及Unicode库示例

    以vs2012为标准 转自 http technet microsoft com zh cn library w4zd66ye 有改动 一 MFC的静态库 lib MFC静态库使用下列命名约定 uAFXcWd LIB 库命名约定的说明符如下
  • VOSviewer 操作指南 简明

    VOSviewer 操作指南 Vosviewer 软件是一种知识图谱可视化软件 并且可以使用基本的分类聚类方法 帮助我们得到进一步的信息 下载地址 https www vosviewer com download 解压完成后 你得到因该是一
  • 27 个为什么,帮助你更好的理解Python

    选自 Python官方文档 https docs python org zh cn 3 7 faq design html
  • pytorch报错:RuntimeError: CUDA error: device-side assert triggered究极解决方案

    原因 模型的数据处理出了问题 一般是类似于数组访问越界的问题 1 例如分类的标签是数据处理的时候是1 10 但是torch在计算交叉熵是默认是0 9 2 embedding模块的词表长度问题 比如embedding中词表总长度是100 但是
  • Unix时间与Win32 FileTime时间

    Unix 时间 1970 01 01 00 00 00 与 Win32 FileTime 时间 1601 01 01 00 00 00 两者相差毫秒数为 11644473600000L Win32 FileTime 采用 100ns 为单位
  • Postgres安装

    准备工作 1 查看自己的电脑是多少位 cmd界面中输入 systeminfo 按回车 主要是看一下系统类型 系统类型 64 位操作系统 基于 x64 的处理器 版本 Windows 10 专业版 版本号 20H2 安装日期 2021 10
  • 【IDEA】idea 调试技巧 查看字段 什么时候修改的

    文章目录 1 概述 1 概述 如果你阅读源码 你一定会有个困扰 类中的某个字段的值到底是在哪里改变的 你要一点点追踪调用栈 逐步排查 稍不留神 就可能有遗漏 我们可以在 IntelliJ IDEA 中为某个字段添加断点 当字段值有修改时 自
  • es--基础--06--es集群

    es 基础 06 es集群 1 集群概念 概念看es入门学习3 理论 2 集群的搭建 利用原有的单机 elasticsearch 5 6 8 来搭建 搭建三台es服务器 分别提供的端口是9201 9202 9203 2 1 停止elasti
  • 特征选择策略:为检测乳腺癌生物标志物寻找新出口

    内容一览 microRNA 小分子核糖核酸 是一类短小的单链非编码 RNA 转录体 这些分子在多种恶性肿瘤中呈现失控性生长 因此近年来被诸多研究确定为确诊癌症的可靠的生物标志物 biomarker 在多种病理分析中 差异表达分析 Diffe
  • 解决Dropbox国内无法实时更新的问题

    Dropbox软件需要在全局模式下才能时时同步 但全局模式下无法打开某些国内网站 所以需要解决该问题 解决方法 通过设置代理的方式让Dropbox软件自动同步 但在尝试中 设置为socks5代理发现不能使用 改为http代理 马上生效 打开
  • 十分钟带你走进Hive世界(每走一步都是为了离你更近些)

    该文章已更新到语雀中 后台回复 语雀 可获取进击吧大数据整个职业生涯持续更新的所有资料 该文基于Hive专题 从SQL聊Hive底层执行原理进一步的深入学习Hive 相信大多数童鞋对于Hive底层的执行流程只是局限于理论层面 那么本篇将带大
  • Windows平台Unity3d下如何同时播放多路RTSP或RTMP流

    好多开发者在做AR VR或者教育类产品时 苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器 如果基于Unity3d完全重新开发一个播放器 代价大 而且周期长 不适合快速出产品 我们认为当前最好的方式就是集成现有N
  • 【计算机网络】 TCP——四次挥手

    文章目录 流程 考点 流程 主动方打算关闭连接 此时会发送一个TCP首部FIN标志位被置为1的报文 也即FIN报文 之后主动方进入FIN WAIT 1状态 被动方收到该报文后 就向主动方发送ACK应答报文 接着被动方进入CLOSE WAIT