三次握手、四次挥手的理解

2023-11-15

下面是个人对三次握手和四次挥手的理解。

1、三次握手

第一次握手:客户端向服务器发起连接请求(此时要确认客户端能不能发)。

第二次握手:服务器收到客户端的连接请求后,会给一个应答,以及请求连接的数据包(意味着服务器收到了客户端连接的请求,以此证明服务器能够接收,而且也证明了客户端能发。同时,服务器也给客户端发起了连接请求,服务器要确认自己能不能发)。

第三次握手:最后客户端给服务器一个应答,证明服务器是可以发的,客户端也可以收,即连接成功。

2、四次挥手

第一次挥手:客户端向服务器发起断开的请求(意味着客户端再不发送数据了,并不代表完全断开连接)。

第二次挥手:服务器收到后,会先给客户端一个应答(服务器可能还要发送数据,就不能立即关闭服务器到客户端的数据通道,只能先确认服务器收到了客户端发送要断开的请求,等服务器再无发送的数据之后再确认是否要断开连接)。

第三次挥手:服务器发起断开连接的数据包(意味着客户端知道了服务器已经发完数据)。

第四次挥手:客户端给服务器一个应答,证明服务器收到了断开连接的数据包,即断开连接。

3、为什么是三次握手,而不是两次?

答:两次不安全,TCP通信要确保双方都具有收发的能力。

4、为什么是四次挥手,而不是三次?

答:对于四次挥手,由于TCP是全双工通信,主动关闭方发送断开请求不代表完全断开连接,只能表示主动关闭方不在发送数据了。而接收方可能还要发送数据,就不能立即关闭服务器端到客户端的数据通道,只能先确认服务器端接收到了客户端发送要断开的信息,等服务器再无发送的数据之后再确认是否要断开连接,所以四次挥手时需要四次数据包的交互。

5、为什么四次挥手要等待2MSL(MSL指的是报文在网络编程中最大生存时间)

答:在客户端发送对服务器端的断开请求的确认包后,这个确认包可能到达不了,服务器如果接受不到这个确认包就会重新发送断开请求,所以客户端发送确认包后需要留出2MSL时间。

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

三次握手、四次挥手的理解 的相关文章

随机推荐

  • Linux中Crontab(定时任务)命令详解及使用教程

    Crontab介绍 Linux crontab是用来crontab命令常见于Unix和类Unix的操作系统之中 用于设置周期性被执行的指令 该命令从标准输入设备读取指令 并将其存放于 crontab 文件中 以供之后读取和执行 该词来源于希
  • altium designer 画箭头

    一直在网上找如何在altium designer 中画箭头 没有结果 实然想到在AD的元件库中有不少元件是有箭头的 如果打开库文件 不就能看其属性了吗 于是选择Miscellaneous Devices IntLib打开做 试验 在打开时会
  • 萌新养成

    金三银四跳槽季 这个时候需要做好准备的可不仅仅只有在职或者离职的萝卜 尚未毕业的萌新也需要提早做准备了 毕竟把自己修炼成一个优秀的萝卜也不是一件容易的事 所以 放下你找对象 刷副本 世界游的想法 加入我们为你量身定制的人才培养计划 加入营长
  • lambda函数详解

    lambda函数的使用 捕获列表 常量性区别1 常量性区别2 lambda函数的实现 注意事项 lambda函数的使用 lambda函数的完整形式如下 capture parameters mutable gt return type st
  • K近邻估计

    Kn 近邻估计 KN近邻估计基本思想 预先确定n的某个函数Kn 然后再x点周围选择一个区域 调整区域体积大小 直至Kn个样本落入区域中 这些样本被称为点x的Kn个最近邻 如果x点附近的密度比较高 则V的体积自然就相对较小 从而可以提升分辨力
  • Maven下载与安装

    Maven下载 Maven官网 https maven apache org 进入官网 点击Download 可以看见4个文件 apache maven 3 8 7 bin tar gz是Linux版安装的 apache maven 3 8
  • 点云配准

    目录 一 点云配准概念 二 点云配准分类 1 无辅助的自动拼接 2 人工辅助标志点 三 配准常见流程 1 粗配准 2 精配准 1 奇异值分解求解 2 四元素求解旋转矩阵 参考文献 一 点云配准概念 由于三维扫描测量设备受测量方式的限制和被测
  • Qt中的QStringLiteral宏

    使用 QStringLiteral 宏可以在编译期把代码里的常量字符串 str 直接构造为 QString 对象 于是运行时就不再需要额外的构造开销了 如果编译器支持 则 QStringLiteral 宏在编译时从 str 生成一个 QSt
  • 计算机无法投影,电脑无法识别投影仪-电脑为什么检测不到投影仪,应该怎么安装...

    电脑无法识别投影仪 电脑为什么检测不到投影仪 应该怎么安装 投影仪销量排行
  • 【TensorFlow】卷积tf.nn.conv2d()函数使用解析 ( 附代码详解注释 )

    最近在研究学习TensorFlow 在做识别手写数字的demo时 遇到了tf nn conv2d这个方法 查阅了官网的API 发现讲得比较简略 还是没理解 google了一下 参考了网上一些朋友写得博客 结合自己的理解 差不多整明白了 方法
  • PyQt槽函数添加参数

    PyQt槽函数添加参数 这篇文章的前提是你得知道槽函数是啥 在这边我就不解释了 如果你是自定义信号 并且使用emit 方法进行发送的 那在emit里面就可以传入参数 这个懂得都懂 不懂得可以看一下这个大佬的文章link 他写的非常详细 如果
  • ES6-Map、Set与Arrary的转换

    Map与Array的转换 这个数组要是二维数组
  • python学习第六站:列表

    序列 一 1 序列 sequence 1 1 基本概念 1 2 序列分类 2 列表 list 2 1 列表的使用 2 2 列表的切片 2 3 修改列表 2 4 修改列表的方法 2 5 遍历列表 2 5 1 range 函数 3 通用操作 3
  • 人工智能如何助力建筑设计自动化?

    ChatGPT和DALL E等工具使用大规模机器学习 ML 模型 并访问大量有标记和有意义的数据 以对文本和图像中的查询提供有见解的响应 但是 一些行业对训练ML模型的数据集的访问有限 这使得使用生成式AI来解决现实世界问题的好处很难获得
  • 私有镜像仓库 Harbor 的搭建参考

    浅尝辄止 只讲基本的安装和使用 Harbor 官网 https goharbor io 为什么要使用 harbor 作为搭建私有镜像仓库的系统 权限控制强 操作可审计 镜像漏洞分析 镜像验真 镜像复制 CNCF 官方毕业项目之一 等等 1
  • 计算机视觉、机器视觉、数字图像处理、机器学习/深度学习+图像处理 四者的关系

    一 机器能进行视觉感知的进化发展 就算机器能识别各种物体用处大吗 小猫有眼睛 认识吃的就吃 看到危险就躲 还能抓苍蝇 那具有运动能力的机器没有视觉怎么做出决策和会执行 机器拿到数字图像如何提取感知信息 像小猫认识吃 判别危险 感知苍蝇的位置
  • Apache CXF webservice 注入Spring Bean

    webservice 接口定义 package com wlsq kso webservice import javax jws WebMethod import javax jws WebParam import javax jws We
  • 百度人脸识别使用总结(环境+测试+人脸库管理)

    内容有点多 大概分三天写完 提前开坑省的拖延症犯了orz 好吧拖延症果然犯了 然后第四天才继续开始更 先总结一下 全程花了三四天的白天的时间 本身其实是不复杂的 但是中间会有很多坑 专门写这个教程出来是想给同样想尝试使用这个的同学们一点帮助
  • Web攻击手段之XSS攻击,CRSF, SQL注入攻击

    Web攻击手段之XSS攻击 CRSF SQL注入攻击 1 XSS攻击 XSS攻击的全称是跨站脚本攻击 指的是攻击者在网页中嵌入恶意脚本程序 当用户打开该网页时 脚本程序便开始在客户端的浏览器上执行 以盗取客户端cookie 用户名密码 下载
  • 三次握手、四次挥手的理解

    下面是个人对三次握手和四次挥手的理解 1 三次握手 第一次握手 客户端向服务器发起连接请求 此时要确认客户端能不能发 第二次握手 服务器收到客户端的连接请求后 会给一个应答 以及请求连接的数据包 意味着服务器收到了客户端连接的请求 以此证明