当前位置: 首页 > news >正文

近日八股——计算机网络

一.c. TCP握手为什么三次、不能是二次、或四次?

i.不能是两次:

防止已经失效的连接报文突然又传到了服务端,产生错误
如果不采用三次握手,服务端直接建立连接,会白白浪费资源
三次握手告诉服务端,客户端有没有收这个数据,连接的序号是否是有效的·服务端收到正常的数据后,建立tcp连接,否则关闭端口,减少服务器开销

ii.不能是四次:

三次已经创建可靠连接,没有必要多一次握手花费更多建立连接。

iii.TCP二次握手:

在TCP三次握手的过程中,当用户首次访问Server时,发送SYN包Server根据用户IP生成Cookie(已加密),并与SYN-ACK一同发回Client;当Client随后重连时,在SYN包携带TCP Cookie;如果Server校验合法,则在用户回复ACK前就可以直接发送数据;否则按照正常三次握手进行。

二.三次握手中每一次没收到报文会发生什么情况

i.第一次握手:

客户端没有收到确认报文,等待一段时间会重新发送SYN报文

ii.第二次握手:

服务端会触发超时重传,重传SYN-ACK报文前。

ii.第三次握手:

服务端会触发超时重传,重传到收到ACK报文或达到最大次数关闭连

三.第二次握手传回了ACK,为什么还要传回SYN

i.ACK:

是为了告诉客户端传过来的数据已经接受无误

ii.SYN:

告诉客户端,服务端已经响应客户端的报文。服务端在本次连接没有需要超时处理的事情

四.第三次握手可以携带数据吗?

第三次握手可以携带数据。

在 TCP 三次握手过程中,前两次握手主要用于建立连接,确认双方的发送和接收能力。第三次握手时,客户端在发送的 ACK 报文中可以携带数据。如果此时携带数据,那么服务器在收到带有数据的第三次握手报文后,就可以直接对数据进行处理,而无需等待客户端再发送一个专门的数据报文,这样可以减少一次数据传输的往返时间,提高通信效率。

五.客户端在发送完最后一个确认报文后,为什么不直接进入关闭状态?而是要进入时间等待状态,2MSL后才进入关闭状态,这是否有必要呢?

i.如果客户端最后一个确认报文丢失后,服务器无法进入关闭状态,会反复重传FIN报文。因此等待时间2msl,可以确保服务器可以收到最后TCP确认报文

ii.客户端发送最后一个TCP确认报文段后,经过2MSL时长,可以使当前所有产生的报文段从网络中消失。

六.为什么是2MSL

i.2MSL是报文最大生存时间,任何超过该时间的报文都将丢弃

ii.2MSL是因为网络中存在发送方的数据包,当这些发送方的数据包被接受方处理后又会被响应,所以来回需要2MSL

http://www.dtcms.com/a/109576.html

相关文章:

  • 使用pycharm社区版调试DIFY后端python代码
  • 破解 N 皇后 II:位运算的高效艺术
  • 4月3日工作日志
  • CVSS-通用漏洞评分系统版本 4.0:规范文档
  • 代码随想录|动态规划|18完全背包理论基础
  • Java Lambda 表达式提升效率
  • 高效深度学习lecture01
  • Flask与 FastAPI 对比:哪个更适合你的 Web 开发?
  • MySQL(三)
  • 二分类交叉熵损失
  • 在内网环境中为 Gogs 配置 HTTPS 访问
  • 常用的元素操作API
  • chromium魔改——navigator.webdriver 检测
  • 【无人机】无人机PX4飞控系统高级软件架构
  • 创新项目实训开发日志1
  • 21.数据链路层协议
  • 如何在本地部署魔搭上千问Qwen2.5-VL-32B-Instruct-AWQ模型在显卡1上面运行推理,并开启api服务
  • QT 中的元对象系统(五):QMetaObject::invokeMethod的使用和实现原理
  • JavaScript基础-移动端常用开发框架
  • 智能多媒体处理流水线——基于虎跃办公API的自动化解决方案
  • Redis 除了数据类型外的核心功能 的详细说明,包含事务、流水线、发布/订阅、Lua 脚本的完整代码示例和表格总结
  • 【数据集】多视图文本数据集
  • Python第七章09:自定义python包.py
  • maven引入项目内本地包方法
  • WEB安全--文件上传漏洞--php伪协议的利用
  • MySQL索引(操作篇)
  • 分布式锁之redis6
  • GenerationMixin:_sample方法(GenerationMode.SAMPLE, GenerationMode.GREEDY_SEARCH)
  • 程序员学商务英语之Establing Biz Relations Inquiry
  • 自适应卡尔曼滤波