TCP/IP(十二)TCP的确认、超时、重传机制

news2024/10/7 2:27:04

一   TCP的确认应答机制

确认应答机制: 每次'收到数据' '都会' 给对端发送一个'应答报文(ACK)'

①  带重传的肯定确认

确认机制: '超时' 重传的 '肯定' 确认  --> 完成了'两个作用',或者说有'两个含义'

1、'肯定[正确]' 确认

小结: 我的确认信息是'针对正确数据'做确认,而'不是错误'的数据

一般情况,确认分为'两种类'型:

  [1]、一种是收到'正确'的数据,向'发送方'发送一个确认信息,告诉它当前我'正确收到'这些数据

  [2]、一种是收到'错误'数据之后,也会向发送方发送一个确认信息,我当前收到这些数据'接收错误'

对于TCP确认机制,采用的是'[1] 前者',只针对'正确接收的数据'做'确认'

补充: '错误'的数据包括出现了'差错[乱序]、丢失、重复',对于这三类,'不会'发送任何的'确认'机制

思考: 如何'告诉发送方'其发送的数据有'错误'?

答: 接收方根据'有没有'收到确认信息判断

也即: 如果在'一段时间内'发送方没有收到接收方的确认信息,那么就可以判定当前的数据是错误传递的

2、'重传'

对于'错误传递'的机制,TCP当中采用的是'重传方式'来解决错误数据

思考:确认机制在'具体实现'的时候,它是'怎样'告诉对方当前哪些数据我是'正确'接收?

TCP 通过'累计确认'机制  --> 主要体现在'TCP报文段'的 ACK 确认号 和 '序列号'

超时跟网络的'性能'有关 --> 网络拥塞、网络带宽、传输速率  --> 一段时间没有收到就认为'错误'

②  细节 

二   TCP的重传机制

说明: 关于'超时'这里不再探讨了,在'三次握手'和'四次挥手'的过程中'内核参数'已经讲过

①  RTTRTO

理解: RTT 和 RTO '概念'

RTT(Round Trip Time):一个连接的'往返'时间,即数据发送时刻'到'接收到确认的时刻的'差'值

RTT 表示数据包从'发送'到'收到确认应答'的时间,也就是包的'往返'时间

RTO(Retransmission Time Out):超时重传时间,即从数据发送时刻算起,超过这个时间便执行重传

特点: 超过'这个时间 [指数退避]'没有确认应答,就会'重传'报文段,这个时间根据 'RTT' 来设置的

RTT和RTO的'关系':由于网络波动不确定性,每个RTT都是动态变化的,所以RTO也应随着RTT'动态'变化

②   TCP的重传机制

常见的'重传'机制:

 1、'超时'重传

 2、'快速'重传

 3、SACK

 4、D-SACK

关注: '重传'的'发展'历史,按照上面的'递增'关系

③  超时重传

TCP 会在以下'两种'情况发生'超时重传':

 1、'数据包'丢失

 2、'确认应答'丢失

思考: 假设在'重传'的情况下,超时时间 RTO '较长或较短'时,会'发生'什么事情呢?

思考: Linux 是'如何计算' RTO 的呢?

思考: 超时重发的'问题'?  -->  '超时重发的时间等待太长'  -->  '快速重传'

④  快速重传

1、'原理图'

快速重传的'工作原理': 是当收到'三个'相同的ACK报文时,会在定时器'过期之前',重传丢失的报文段

2、'原理'讲解

思考: 快速重传机制的'问题'?

 1、快速重传机制只解决了'一个'问题,就是'超时时间'的问题

 2、但是'不知道'该重传 '哪些' TCP 报文,于是就有 SACK 方法

⑤  SACK  重点

SACK(Selective Acknowledgment) '选择性确认'

内核参数: /proc/sys/net/ipv4/tcp_sack

⑥  Duplicate SACK

细节点: 'D-SACK'也是使用'SACK'来'传递'信息

D-SACK

案例'1': ACK '丢包'

案例'2': 网络'延时'

原理'讲解'

D-SACK 的 '优点'

内核参数: /proc/sys/net/ipv4/tcp_dsack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv5算法改进(2)— 注意力机制介绍(SE、CBAM和CA)

前言:Hello大家好,我是小哥谈。注意力机制是近年来深度学习领域内的研究热点,可以帮助模型更好地关注重要的特征,从而提高模型的性能。注意力机制可被应用于模型的不同层级,以便更好地捕捉图像中的细节和特征,这种模型在计算资源有限的情况下,可以实现更好的性能和效率。…

免费SSL证书

在当今数字化时代,保护用户数据和建立安全连接至关重要。对于网站管理员和拥有者来说,SSL证书(Secure Sockets Layer)是确保安全的关键工具之一。但是,传统上购买和维护SSL证书可能会带来昂贵的成本和繁琐的流程。幸运…

百度车牌识别AI Linux使用方法-armV7交叉编译

1、获取百度ai的sdk 百度智能云-登录 (baidu.com) 里面有两个版本的armV7和armV8架构。v7架构的性能比较低往往需要交叉编译,v8的板子性能往往比较好,可以直接在板子上编译。 解压到ubuntu里面。这里介绍v7架构的。 2、ubuntu环境配置 ubuntu下安装软件…

学生静态HTML网页作品下载后如何导入到HBuilderX中编辑修改及运行

很多同学编辑网页要求使用HBuilder X软件,下载学生网页设计作品后,不知道如何打开,很多同学反应把HTML中的代码复制到HBuilder X后不显示图片或者跑版。今天STU网页为大家讲解下静态HTML网页作品如何导入HBuilder X中运行。 HBuilder X 导入…

『PyQt5-Qt Designer篇』| 13 Qt Designer中如何给工具添加菜单和工具栏?

13 Qt Designer中如何给工具添加菜单和工具栏? 1 创建默认窗口2 添加菜单栏3 查看和调用1 创建默认窗口 当新创建一个窗口的时候,默认会显示有:菜单栏和状态栏,如下: 可以在菜单栏上右键-移除菜单栏: 可以在菜单栏上右键-移除状态栏: 2 添加菜单栏 在窗口上,右键-创建…

城市排水管网监测方案(新型排水管网智能监测技术)

随着我国城市化进程不断加快,城市的排水管网也日益增长并变得复杂,对其进行实时监测以确保正常运行变得极为重要。针对此需求,基于工业物联网技术的新型智能排水管网监测系统为城市排水管网的运行与维护提供了有效手段。 该智能排水管网监测系统以无线通讯功能强大的SG600工业…

VMware和Debian下载

文章目录 ⭐️写在前面的话⭐️一、VMware二、Debain三、建立虚拟机🚀 先看后赞,养成习惯!🚀🚀 先看后赞,养成习惯!🚀 ⭐️写在前面的话⭐️ CSDN主页:程序员好冰 目前在…

uniapp + vue3 静态图片引入

方法一 从新定义路径 一定看好你图片的路径 代码 <template><div class"main">Main<img :src"getImg()" alt""></div> </template><!-- 方式一 // <script setup> // let imgName logo.png // cons…

共享WiFi二维码项目如何加盟代理?有哪些注意事项!

随着移动互联网的发展&#xff0c;如今WiFi热点已成为人们日常生活的必需品。而共享wifi二维码项目也渐渐成为了一个非常有前景的共享商业模式。用户可以通过扫共享wifi二维码享受免费的上网服务&#xff0c;而加盟商则可以赚取一定的推广费用&#xff0c;是一种非常理想的商业…

ppt怎么压缩到10m以内?分享ppt缩小方法

在日常工作中&#xff0c;我们常常需要制作和分享PowerPoint演示文稿&#xff0c;然而&#xff0c;有时候文稿中的图片、视频等元素会导致文件过大&#xff0c;无法在电子邮件或其他平台上顺利传输。为了将PPT文件压缩到10M以内&#xff0c;我们可以使用一些专门的文件压缩工具…

EasyRAFT

EasyRaft 介绍 EasyRaft是Raft&#xff08;共识算法&#xff09;的Java实现&#xff0c;主要目的在于提供一种高性能的分布式一致性协议。 覆盖Jraft实现的功能 分布式一致性 分布式一致性 (distributed consensus) 是分布式系统中最基本的问题&#xff0c;用来保证一个分布式…

使用kaliber与imu_utils进行IMU、相机+IMU联合标定

目录 1 标定工具编译 1.1 IMU标定工具 imu_utils 1.2 相机标定工具 kaliber 2 标定数据录制 3 开始标定 3.1 IMU标定 3.2 相机标定 3.3 相机IMU联合标定 4 将参数填入ORBSLAM的文件中 1 标定工具编译 1.1 IMU标定工具 imu_utils 标定IMU我们使用imu_utils软件进行标定…

kepler.gl 笔记:地图样式

1 设置地图样式 2 调整layer的上下顺序 3 地图图层 Label&#xff1a;显示城市、社区等的标签。Road&#xff1a;显示半透明的道路线图层。Border&#xff1a;显示州和大陆边界。Building&#xff1a;显示建筑物轮廓。Water&#xff1a;显示水体。Land&#xff1a;显示公园、山…

Excel 函数大全应用,包含各类常用函数

Excel 函数大全应用&#xff0c;各类函数应用与案例实操。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作&#xff0c; Power BI 商业智能 68集&#xff0c; 数据库Mysql8.0 54集 数据库Oracle21C 142集&#xff0c; Office 2021实战&#xff0c; Python 数据分析&#xff0…

批量文件重命名软件 A Better Finder Rename 11汉化for mac

A Better Finder Rename 11是一款功能强大的文件重命名工具&#xff0c;可在Mac操作系统上使用。它提供了简单而直观的界面&#xff0c;帮助用户快速批量重命名文件和文件夹&#xff0c;提高文件管理和组织效率。 以下是A Better Finder Rename 11可能提供的一些主要功能和特点…

U盘怎么设置为只读?U盘怎么只读加密?

当将U盘设置为只读模式时&#xff0c;将只能查看其中数据&#xff0c;无法对其中数据进行编辑、复制、删除等操作。那么&#xff0c;怎么将U盘设置成只读呢&#xff1f; U盘如何设置成只读&#xff1f; 有些U盘带有写保护开关&#xff0c;当打开时&#xff0c;U盘就会处于只读…

摩尔信使MThings设备管理

设备是通信目标设备的本地镜像或服务对象&#xff0c;设备是进行一切MThings功能的基础。通过这种设备集成方法&#xff0c;MThings才具备了多设备、多协议、多通道的调试能力。 1、添加设备 1. 添加设备入口&#xff1b; 2. 选择添加设备所在的通道&#xff1b; 3. 选择添加…

AI智能网关在工业物联网领域有哪些应用优势

随着工业物联网规模的持续扩大&#xff0c;监测个控制需求的增加&#xff0c;传统工业网关越来越难以满足工业物联网的发展步伐。针对规模庞大、设备复杂、自动化智能化水平要求高的工业物联网应用&#xff0c;佰马科技推出了多款搭载AI智能网关&#xff0c;依托强劲处理器性能…

c++视觉----使用多边形包围轮廓

外部矩形边界:boundingRect()函数 #include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>using namespace std; using namespace cv; #include <iostream> #incl…

美创科技三重数据安全韧性,杜绝删库跑路

从删库到跑路&#xff0c;教训很多&#xff0c;但类似事件近年来总在重复上演&#xff0c;有运维部为此连夜鏖战恢复&#xff0c;更有企业陷入“至暗时刻”&#xff0c;经济受损、名誉蒙尘。 组织单位应该采取怎样的策略和积极主动的方法&#xff0c;避免酿成严重的后果&#x…