白话TCP拥塞控制:运粮的河道堵塞了怎么办?

两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容) 内容概要:本文介绍了“两路半桥LLC谐振变换器软开关Simulink仿真”资源包,重点在于基于Simulink平台对两路半桥LLC谐振变换器进行高精度建模与动态仿真,特别考虑了谐振参数不一致及分裂电容等非理想工况对系统性能的影响。该仿真模型不仅涵盖了主电路拓扑、软开关实现机制与谐振网络设计,还深入分析了不同参数配置下系统的启动特性、稳态效率、动态响应及软开关条件的满足情况。通过参数扫描与对比仿真,帮助用户掌握LLC变换器的关键设计要素与优化方法,具备较强的工程指导价值和科研教学意义。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生,以及从事高频开关电源、新能源变换器、车载充电机等领域的研发工程师和技术人员。; 使用场景及目标:① 掌握两路并联半桥LLC谐振变换器的建模与仿真方法;② 理解软开关技术在提升变换器效率与降低EMI方面的关键作用;③ 分析谐振参数偏差与分裂电容结构对系统均流特性、增益曲线及软开关范围的影响;④ 支持科研项目中的拓扑验证、控制策略开发与故障工况分析; 阅读建议:建议结合Simulink仿真模型与配套说明文档进行学习,重点关注谐振腔参数设置、驱动时序设计及软开关波形观测;可通过调整谐振电感、电容值或引入参数失配,观察系统行为变化,深入理解LLC变换器的稳定边界与优化设计原则。 立即下载

注:本文来自哈罗的投稿,老刘做了较大修改。

原文地址:

https://blog.youkuaiyun.com/zxm342698145/article/details/80998692

张家村码头的粮食堆积如山,每天都需要用船运到镇里。

但是去镇上有50公里,只有水路可走。

一大早,码头工人们就开始干活了, 为了早点干完收工回家,一船接一船,拼命地发送粮食。

可是这水路不仅仅是张家村在运粮食,白头村还往外运石头, 东平村还往外运沙子,大家都拼命地往外发货物,再加上各式各样,络绎不绝的商船、客船, 大家很快就发现,船只太多,水面出现拥堵,工人们只好等待。

工人们想这也不是个事儿,大家围成一圈,蹲在码头上一边抽烟,一边商量对策。

水路很长,怎么判断水面是不是拥堵了呢?

新来的小张说道:“我有个办法,不要一下子发那么多船过去, 我们来个慢启动,首先运输一船粮食过去,船到镇上以后卸掉粮食马上返回,如果能在很短的时间内返回,说明水面交通状况还好,可以继续搬运粮食。

包工头老李说:“不错,这个船有检测水面拥堵状况的作用。然后呢?”

小张说: “接下来搬运2船粮食过去,如果依旧能够在预定的时间内返回,则继续搬运3船粮食,每次加一船, 依次类推。”

老王在码头上干了好几年, 他立刻跳了起来:“拉到吧你,这样太慢了!我提议,加快运输速度,每次发送的船只数量是上一次的两倍。”

也就是说,第一次发一条船,如果在预定时间内返回,第二次发2条船,然后是4条船,8条船!

老李说:“不行不行,每次都是之前的两倍,增长得太快了,大家如果都这么玩,水路很快就阻塞了。”

“我还没说完,” 老王补充, “为了防止拥塞,我们设置一个阈值(其实就是TCP中的ssthresh),当一次发船数量达到这个数,我们就降低速度,不要翻倍,每次只比上次多发一条船。”

老王一边说一边拿了一根木棍在地上画图:

640?wx_fmt=png

(点击看大图)

我们把前面的阶段叫慢启动发船阶段,后面的阶段叫拥塞避免发船阶段。

大家对老王的方案纷纷叫好,就是它了!

只有小张慢悠悠地说:“随着每次发送船只的数量越来越多,水路早晚还是要阻塞的。”

“没事,”老王胸有成竹,“如果阻塞了,我们就回到最初的状态,从1条船,2条船,4条船......开始,但是,我们也要把阈值ssthresh调整一下,把它变小,嗯,假设上次阻塞时发船的数量是24, 那就把阈值调整为它的一半, 就是12。”

640?wx_fmt=png

(点击看大图)

“不错,不错,当水路频繁阻塞时,这个阈值就会下降得很快,发到水面上的船也会大大减少。” 包工头老李总结,“我们要不按照这个方案试试?”

小张嘴里嘟囔着:“试试就试试,不过你得和白头村,东平村他们协调好,大家都得用这个方案才行,要不然我们就吃亏了。”

“那是自然!这事我来办!”老李满口答应。

640?wx_fmt=gif

故事结束了吗?其实没有,老王发明的其实叫做 TCP Tahoe算法。TCP的拥塞控制还有两个部分,即快速重传和快速恢复,这里再简单介绍一下。

快速重传比较简单,用一个图就可以表示:

640?wx_fmt=png

在TCP中,数据都是有序号的,例如M1,M2,M3... 。

发送方发出了M1和M2, 接收方都收到了。

但是M3报文丢失了, 接收方没有收到,随后它收到了M4,M5,M6, 按照快速重传的算法,接收方重复确认M2,让发送方知道,M3没有收到。

当发送方收到3个对M2的重复确认的时候,它就意识到,坏菜了,M3丢了, 这时候不必继续等待M3设置的重传计时器到期,立刻重传M3。

统计表明,由于发送方尽早重传未被确认的报文段,可以使整个网络吞吐量提高约20%。

有了快速重传,可以改进下故事中的拥塞避免模型了。

640?wx_fmt=png

(点击看大图)

当发送端收到三个重复确认的时候,就执行快速重传算法,并且把阈值减少。

但是这个时候它认为网络很可能没有发生阻塞, 不用执行慢启动算法,而是直接从新阈值开始,线性增大。

这个算法称为TCP Reno版,被很多TCP的实现所采用。

(完)

你看到的只是冰山一角, 更多精彩文章,请移步《2016文章精华》或者《2017文章精华》


码农翻身

用故事讲述技术

640?wx_fmt=jpeg

ASF-YOLO:一种基于注意尺度序列融合的细胞实例分割YOLO模型 随着样本制备技术和显微成像技术的快速发展,细胞图像的定量处理和分析在医学、细胞生物学等领域发挥着重要作用。基于卷积神经网络(CNN),可以通过神经网络训练学习不同细胞图像的特征信息,具有很强的泛化性能。两阶段的R-CNN系列[1,2,3]及其一阶段变体[4,5]是实例分割任务的经典CNN基础框架。在最近的研究中,You Only Look Once(YOLO)系列[6,7,8,9]已经成为实时实例分割中速度最快、最准确的模型之一。 阅读详情

相关推荐

Netapp FAS2750热备盘替换失败问题分析与解决

本文深入分析了Netapp FAS2750存储系统中热备盘替换失败的故障现象,揭示了磁盘分区属主不匹配导致数据同步无法启动的根本原因。通过详细的排查步骤和解决方案,帮助运维人员快速恢复aggr状态,并提供了长期预防措施和最佳实践建议,确保存储系统的高可用性。

weixin_33737774的博客 401

TCP拥塞控制机制(附面试题)

产生的原因 ∑对资源的需求>可用资源∑对资源的需求>可用资源\sum_{}^{} 对资源的需求 >可用资源 注意 单纯的增加网络资源无法解决问题 例如:把结点的存储空间扩大,更换更高速率的链路,提高结点处理机的运算速度,不仅不能解决问题,而且可能使网络性能更坏。 原因:网络拥塞是许多因素引起的,单纯的解决一个可能会使上述情况得到一些缓解,但是会把拥塞转移到其...

sHuXnHs 4万+

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1911

关于网络知识(滑动窗口,拥塞堵塞)

看到的觉得比较好的介绍滑动窗口算法的文章,转载学习!TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议 关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。 所谓滑动窗口协议,自己理解有两点: 1. “窗口”对应的是

技术与生活齐头并进 2417

在实战中学AI-车流量统计项目-YOLOV11车辆检测-YOLOV11模型的部署

考虑实际落地中部署推理资源消耗,速度与模型精度之间的均衡,同时,车辆属于比较通用场景的目标检测,我们将YOLOV11作为最终的模型选择,目前官方开源的模型基于coco数据集训练,里面已经包含了车辆相关类别,经测试,在监控视角下效果基本可用,所以,在落地过程中,我们先用这个模型来打通部署链路,后面再逐步优化模型性能。在Nvidia的硬件下做部署,部署框架优先选择官方框架TensorRT,下面重点讲述如何用TensorRT部署YOLOV11模型。

Aleo_优快云的博客 2168

C/C++关于VScode报错“终端将被任务重用,按任意键关闭”的解决方案

这其实不是一种报错,有这个提示的原因是本地端口是被共享的,所以必须关闭一个进程才能执行另一个,只需要对 tasks.json文件做一些修改即可。 报错时候 此时的tasks.json为: { "version": "2.0.0", "command": "g++", "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"], // 编译命令参数 "problemMatche

Jerry Man的博客 6426

TCP阻塞控制详解

TCP阻塞控制是TCP实现可靠传输的其中一个手段,本文重点讨论一下阻塞控制的原理和几个实现的算法。 为什么会产生TCP的阻塞呢,其实就是发送端发送的报文速度要接收端大。这样就会造成网络阻塞的问题,如果不使用一定手段进行控制,就会造成死锁。如图 现在我们知道了网络阻塞是要必须要进行控制的,那我们现在要知道什么时候进行控制,一般是两个时刻:1.网络传输TCP报文过程中发生丢失报文,2

a497006686的专栏 1万+

Lora无线温湿度传感器方案

综上所述,Lora无线温湿度传感器以其长距离传输、低功耗、高稳定性、精准测量、无线传输以及广泛的应用场景等特点,在环境监测领域展现出了强大的竞争力和广泛的应用前景。Lora无线温湿度传感器广泛应用于各种需要远程监控和数据采集的场景,如仓储、农业、机房、楼宇、交通、工业、矿产、电力等领域。Lora无线温湿度传感器是一种采用Lora无线通信技术进行数据传输的温湿度监测设备。四、产品参数(以某款工业级Lora温湿度传感器为例)

weixin_46632654的博客 760

计算机网络

1、拥塞控制和阻塞控制的区别 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥百塞控制所要做的都有一个前提:网络能够承度受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关版的所有因素。 流量控制:指点对点通信量的控制,是端到端的问题。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。 端到端与...

又又又的博客 601

各大厂薪资对比爬虫:Python采集OfferShow爆料数据

print(f"⚠️ API返回错误码: {data.get('code')}, msg: {data.get('msg')}")ax.set_title('各大厂薪资对比 (基于OfferShow爆料数据)', fontsize=16, fontweight='bold')stats.columns = ['人数', '平均年薪', '年薪中位数', '年薪标准差', '平均月薪', '平均月数']print(analyzer.get_position_stats('字节跳动').head(10))

2201_76125261的博客 606

基于STM32设计的指纹考勤机_348

随着信息化管理需求的日益增长,传统的人工考勤方式已难以满足现代社会对高效、精准和安全的考勤管理要求。为解决这一问题,本项目设计并实现了一款基于STM32的指纹考勤机系统。该系统采用AS608指纹识别模块进行人员身份识别,ESP8266无线模块实现与上位机APP的通信,支持人员信息录入、考勤时间段设置、考勤记录保存与查询等功能。系统通过SQLite数据库存储考勤数据,并提供导出EXCEL表格功能,方便数据管理与统计分析。该系统具有高效的考勤管理能力和良好的用户交互体验,能够广泛应用于企业、学校等机构的考勤管理

528

TCP协议的拥塞控制

再TCP协议中,为了防止当传输数据量过多从而造成网络拥堵的情况,因从,采用拥塞控制、流量控制等方法来避免出现这种情况。:流量控制是TCP协议特有的功能,TCP协议规定接收方与发送方都有一块固定的缓冲空间,而发送的数据量大小由接收方所控制,当接收方来不及处理发送方的数据时,就会通知发送方降低发送效率,以此来达到流量控制的目的。:拥塞控制也是TCP协议特有的功能,拥塞控制重要是通过慢开始、拥塞避免、快重传、快恢复这四个算法来避免产生拥塞。

w259149的博客 3472

Coze智能体开发:扣子智能体设置多Agent模式

在扣子中创建智能体后,智能体默认使用单 Agent 模式。在单 Agent 模式下处理复杂任务时,你必须编写非常详细和冗长的提示词,而且你可能需要添加各种插件和工作流等,这增加了调试智能体的复杂性。调试时任何一处细节改动,都有可能影响到智能体的整体功能,实际处理用户任务时,处理结果可能与预期效果有较大出入。

王国平的博客 3715

白话TCP运输控制(一) -- TCP的拥塞控制

tcp的运输控制分为tcp流量控制和tcp拥塞控制,这里先讲tcp的拥塞控制。 为了讲清楚tcp的拥塞控制,还是利用那个渡河的场景。为了更好的说明问题,这里把渡人换成搬粮食。 话说东村要往西村运输粮食,只能走水路。每天都会有大量的粮食从东村经码头运往西村。由于工作量繁重,运输工人们都希望能尽快把粮食运输到西村。加上水面交通繁忙,各式各样的商船客船往来络绎不绝,更加加大了搬运的困难性。 在开始...

专注于网络编程,游戏后台,高并发 1218

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Linux | TCP拥塞控制原理

在学习TCP拥塞控制之前,我想向大家分享两个知识点。不知道大家有没有跟我一样的困惑,我们整天说着网络协议、TCP/IP协议了的,那么协议到底是什么呢?(是计算机领域的协议啦,不是其他方面的) 协议:为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,简称为协议。 另外,还有一个专业术语“协议栈”,那么,这个又是什么呢? 协议栈:网络中各层协议的总和;由于网络各层画在一起很像一个栈...

H_Expect的博客 737

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

通俗易懂的TCP拥塞控制详解

接收端窗口 rwnd( receive window):接收端根据其目前接收缓存大小所许诺的最新的窗口值,反映了接收端的容量。 拥塞窗口 cwnd (congestion window):发送端根据自己估计的网络拥塞程度而设置的窗口值,反映了网络的当前容量。 发送窗口 swnd(send window):略 四个算法:慢启动,拥塞避免,快重传,快恢复 1.慢启动 初始:设置cwnd = 1 在每收到一个对新的报文段的确认后,cwnd加倍,即1,2,4,8… 直到cwnd达到阈值ssthresh(slow s

li1194094543的博客 991

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Tcp send阻塞问题

原因 如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send会等待接收端对之前发送数据的确认,以便腾出缓存空间容纳新的待发送数据 解决方法: 参考链接 步骤: 1)修改接收端,发送端的系统缓冲区大小 echo 10000000 > /proc/sys/net/core/wmem_max echo 10000000 > /proc/sys/net/core/rmem_max 2)设置socket buffer的大小 接收端代码(发送端也是类似,我这里

sinat_20276189的博客 1975

TCP 通用类

<br />参考网上写的,希望大家多提意见<br /> <br /> public class TCPSvr { TcpListener listener; Socket sorket; public Hashtable ht = new Hashtable(); /// <summary> /// 接收到客户端连接时发生 /// </summary> publ

阿杰 1879

白话TCP运输控制(二) -- TCP的流量控制

上篇讲的是拥塞控制,这篇讲流量控制。还是以运输粮食为场景。 虽然运输的拥塞控制能够在运输效率和拥塞之间达到平衡,但是运输粮食的整体效率还受一个关键因数影响,那就是对岸西村粮食的卸货能力。假设粮食运送到对岸后,要卸放在一个仓库里,随后被运往其他地方。如果运输的太快,仓库载货能力有限,粮食又没有及时被消耗,工人们只好等待仓库腾出地方来卸下新的粮食。 显然这样会影响这个工程的效率。后来工人们又想了一...

专注于网络编程,游戏后台,高并发 737

TCP Send函数的阻塞和非阻塞,以及TCP发送数据的异常情况

  有了 TCP 协议本身的 ACK 机制为什么还需要业务层的ACK 机制?答:这个问题从操作系统(linux/windows/android/ios)实现TCP协议的原理角度来说明更合适:1 操作系统在TCP发送端创建了一个TCP发送缓冲区,在接收端创建了一个TCP接收缓冲区;2 在发送端应用层程序调用send()方法成功后,实际是将数据写入了TCP发送缓冲区;...

weixin_30414635的博客 979

TCP的拥塞控制

1.引言        计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。        拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。 2.慢开始与拥塞避免   ...

weixin_34004576的博客 490

运输层—TCP的拥塞控制

很多人容易把TCP的流量控制和TCP的拥塞控制弄混淆,但是实际上这两者是有区别的,我们可以通过两个例子来理解TCP的流量控制和拥塞控制。TCP的流量控制例子:假设光纤网络的链路传输速率是1000Gb/s,有一个巨型计算机向一个PC机以1GB/s的速率发送文件,显然,网络的带宽是很足够的,所以不会存在网路的拥塞问题,但是流量控制是必须的,巨型计算机必须经常停下来,才能使得PC机及时接受发送的文件。T

nineteen_的博客 2366

TCP send 阻塞与非阻塞

原文连接: http://blog.chinaunix.net/uid-8489474-id-2031025.html tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送就返回.但由于发送缓存的存在,表现为

2万+

易语言tcp多线程服务端客户端_从TCP协议到TCP通信的各种异常现象和分析

很多人总觉得学习TCP/IP协议没什么用,觉得日常编程开发只需要知道socket接口怎么用就可以了。如果大家定位过线上问题就会知道,实际上并非如此。如果应用在局域网内,且设备一切正常的情况下可能确实如此,但如果一旦出现诸如中间交换机不稳定、物理服务器宕机或者其它异常情况时,此时引起的问题如果只停留在套接字接口的理解层面将无法解决。因此,深入理解TCP/IP协议,对我们分析异常问题有很大的帮助。下图...

weixin_39915605的博客 1168
上一篇: 论球迷和程序员
下一篇: 真正的程序员都应该搞清楚编译和链接
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值