tcp拥塞控制

news2024/11/23 7:11:24

序列号: 在TCP连接中传送的字节流中的每一个字节都按顺序编号。该字段表明发送数据的第一个字节的序号

确认号:希望收到对方下一个报文的第一个字节的序号

窗口:用于通知发送端,接收端可以接收的空间大小

TCP的流量控制是使用滑动窗口机制,具体是报文的窗口字段。接收方会根据自己的接收数据的能力动态的调整窗口的大小

MSS是运输层报文的最大长度

MTU 是网络层面上的数据包大小限制

TCP 拥塞控制是一种机制,用于在网络拥塞时减少数据包的发送速率,从而避免网络拥塞的恶性循环。TCP 拥塞控制的主要目标是:避免网络拥塞,最大化网络的吞吐量,同时确保公平性和稳定性。

TCP 拥塞控制的主要算法包括慢启动、拥塞避免、快重传和快恢复。其中,慢启动和拥塞避免是 TCP 拥塞控制的核心算法。

拥塞窗口cwdn,以指数级增加该拥塞窗口的大小。直到网络拥堵或者超过阈值时。

慢启动算法是在 TCP 连接开始时使用的。它通过逐渐增加发送窗口的大小来达到最大化网络吞吐量的目的。具体来说,慢启动算法将初始发送窗口设置为一个较小的值,然后每经过一个往返时间(RTT),发送窗口就会翻倍,直到达到一个阈值。

拥塞避免算法是在慢启动阶段结束后使用的。它通过逐渐增加发送窗口的大小来达到最大化网络吞吐量的目的,但是发送窗口的增加速度要比慢启动算法慢。具体来说,拥塞避免算法将初始发送窗口设置为一个较小的值,然后每经过一个往返时间(RTT),发送窗口就会增加一个 MSS(最大报文段长度)的大小,直到达到一个阈值。

快重传算法和快恢复算法是用于在网络拥塞时快速恢复丢失的数据包的。当 TCP 接收方收到一个失序的数据包时,它会发送一个重复确认(ACK),告诉发送方它已经接收到了之前的数据包。如果发送方收到了三个重复确认,它就会认为该数据包已经丢失,并立即重传该数据包。快恢复算法是在重传前,将发送窗口减半,以避免网络拥塞的恶性循环。

 

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

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

相关文章

C4d Octane渲染器内存满、卡顿、崩溃、缓慢、updating解决办法

最近碰到Octane渲染动画序列,总是会渲染一段时间后卡在某一张图片上,图片查看器左下角一直显示updating。 偶然发现在C4D界面点击octane工具栏的设置,它又会开始渲染,但渲染一些序列帧后又会卡在一张图上显示updating 点击octane工…

MyBatis-Plus01_简介、入门案例、BaseMapper与IService中的CRUD以及常用的注解

目录 ①. MyBatis-plus简介 ②. MyBatis-plus入门案例 ③. BaseMapper中的CRUD ④. 通用Service的CRUD ⑤. MyBatis-plus中常用注解TableName: ⑥. 常用注解TableId ⑦. 雪花算法 ⑧常用注解TableField ⑨. 常用注解TableLogic——逻辑删除专用注解 ①. M…

chatgpt赋能python:PythonUDS:让你的汽车掌握更多技能

Python UDS:让你的汽车掌握更多技能 UDS(Unified Diagnostic Services)是一种汽车电子控制单元(ECU)通信协议,用于车辆的诊断和测试。Python UDS是用Python编程语言实现的UDS客户端和服务器实现&#xff0…

【stable diffusion保姆级教程,左手ChatGPT之剑,右手stablediffusion之矛】

一、前言 哈喽,大家好,我是Tian-Feng,前面写过两篇文章,但是细节没认真写,除了介绍一些参数意思,和推荐模型插件,有一定基础的小伙伴应该是挺有用的,但如果是小白,可能还…

完全二叉树——堆的概念及实现

前言 堆(heap):是堆内存的简称,堆是动态分配内存,内存大小不固定,也不会自动释放,堆——数据结构是一种无序的树状结构,同时它还满足key-value键值对的存储方式。 1. 堆的概念及结构 如果有一个关键码的…

BFC与IFC

概念 块级元素在BFC布局(块级格式化上下文) 行内级元素在IFC布局(行内级格式化上下文) BFC 形成BFC的情况 BFC规则 在BFC中box在垂直方向排列在同一个BFC中,相邻box垂直方向外边距塌陷在BFC中box左边缘紧贴包含块的…

Python数据结构与算法篇(十五)-- 二叉树的遍历:深度优先搜索与广度优先搜索

本篇开始总结二叉树的常用解题技巧,二叉树的顺序遍历和层序遍历刚好对应深度优先搜索和广度优先搜索。 1 顺序遍历 题目列表 144. 前序遍历145. 二叉树的后序遍历 94. 二叉树的中序遍历 144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它…

程序员开发之“留一手“

很多乙方公司为了顺利获得项目的尾款,或者有些项目的封装整合的逻辑比较多,通常会把项目的业务逻辑代码及架构进行打包成线上NuGet包。 一、 NuGet包 其实就是线上的.dll文件 ,在本地编译后上传是NuGet 1、首先注册NuGet 2、记住API Key …

chatgpt赋能python:Python*a:提高代码效率的利器

Python *a:提高代码效率的利器 Python是一种高层次、通用性编程语言。Python的简洁语法和宽松语义,让它成为了软件开发、数据分析、科学计算等领域的首选语言之一。Python也因其易学、易读、易部署的特点而被全球越来越多的开发者所喜爱。在这篇文章中&…

Redis事务及网络处理

一 Redis事务 redis开启事务后,会把接下来的所有命令缓存到一个单独的队列中,在提交事务时,使这些命令不可被分割的一起执行完成。 如果使用了watch命令监视某一个key,如果在开启事务之后,提交事务之前,有…

超级牛散也踩雷!这A股宣布大消息

公司被债权人申请重整一事被法院正式立案7个多月后,5月24日,*ST搜特收到了法院的终结预重整程序通知书和不予受理重整申请裁定书。 消息曝出后,*ST搜特股吧则瞬间炸锅,投资者纷纷留言“完了”、“没盼头了”、“最后的希望终究还…

浅谈IAM——OAuth2.0攻击方法总结

一、OAuth协议介绍 OAuth是一种标准授权协议,它允许用户在不需要向第三方网站或应用提供密码的情况下向第三方网站或应用授予对存储于其他网站或应用上的信息的委托访问权限。OAuth通过访问令牌来实现这一功能。 1.发展历史 OAuth协议始于2006年Twitter公司OpenI…

车载以太网 - SomeIP - 协议用例 - BehaviorBasic

目录 Service Discovery Communication Behavior 1、验证DUT启动后的重复报文阶段,2帧offer报文之间的时间间隔为上次的2倍<

【模型预测】A-4D战斗机姿态控制的模型预测控制方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Java中的类加载机制

Java中的类加载机制 类的生命周期 ​ 一个类型从被加载到虚拟机内存中开始&#xff0c;到卸载出内存为止&#xff0c;它的整个生命周期将会经历加载&#xff08;Loading&#xff09;、验证&#xff08;Verification&#xff09;、准备&#xff08;Preparation&#xff09;、解…

C++ thread编程(Linux系统为例)—thread成员函数与thread的创建方法

c 11 之后有了标准的线程库&#xff1a;std::thread。 参考thread库的使用 成员函数 构造函数 thread的构造函数有下面四个重载 默认构造函数 thread() noexcept初始化构造函数 template <class Fn, class... Args> explicit thread (Fn&& fn, Args&&a…

Linux命令(21)之usermod

Linux命令之usermod 1.usermod介绍 usermod命令用来更改/etc/passwd或/etc/shadow文件下用户属性&#xff0c;包括但不限于shell类型、用户id&#xff0c;用户gid、家目录、锁定及解锁用户等等。 2.usermod用法 usermod [参数] [用户名] usermod常用参数 参数说明-u修改UID…

淘宝/天猫商品评论数据采集

淘宝商品评论API接口是指允许开发者通过API接口获取淘宝商品的评价信息的一种技术手段。通过使用这个接口&#xff0c;开发者可以快速获取淘宝商品的评价信息&#xff0c;以实现自己的商业用途。 淘宝商品评论API接口需要开发者提供相应的数据访问权限&#xff0c;包括授权和Ap…

Linux命令(22)之chage

Linux命令之chage 1.chage介绍 usermod命令用来更改linux用户密码到期信息&#xff0c;包括密码修改间隔最短、最长日期、密码失效时间等等。 2.chage用法 chage常用参数 参数说明-m密码可更改的最小天数&#xff0c;为0表示可以随时更改-M密码有效期最大天数-W密码到期前提…

代理模式 静态代理 JDK动态代理 Cglib动态代理

1.静态代理 总共只有两个类&#xff0c;代理类和被代理类。其中代理类是被代理类的增强和扩展 被代理的类C和代理类B都要实现同一个接口 代理类B中调用代理类C中相同的方法 interface D {public void function1(); }class C implements D {Overridepublic void function1(…