计算机网络面经-拥塞控制的乘法减小和加法增大

先说结论:

  • "乘法减小":无论是在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞,就把慢开始门限ssthresh设置为出现拥塞时的发送窗口大小的一半,并执行慢开始算法

  • "加法增大"是指执行拥塞避免算法后,使拥塞窗口缓慢增大,以防止过早出现拥塞

具体分析:

乘法减小(Multiplicative Decrease)

"乘法减小"原则是在网络出现拥塞时,发送方将慢开始门限(ssthresh)设置为当前拥塞时发送窗口大小的一半,并执行慢开始算法。这样做的目的是迅速减少发送方注入到网络中的数据量,以缓解网络拥塞。

慢开始算法是TCP拥塞控制中用于在连接建立初期或拥塞发生后控制发送速率的机制。在慢开始阶段,发送方每次只发送一个报文段(即窗口大小为1),然后等待确认。每收到一个确认,就使发送窗口加倍,直到达到慢开始门限(ssthresh)的值。此后,发送方进入拥塞避免阶段,使用拥塞避免算法来逐步增加窗口大小。

当网络出现拥塞时,乘法减小原则通过降低ssthresh的值来迅速减少发送窗口的大小,从而降低发送速率。这有助于快速缓解网络拥塞,防止拥塞进一步恶化。

加法增大(Additive Increase)

"加法增大"原则是在执行拥塞避免算法后,拥塞窗口(cwnd)以线性方式缓慢增大,以防止过早出现拥塞。这是TCP拥塞控制中用于在网络状况良好时逐步增加发送速率的机制。

在拥塞避免阶段,发送方会根据一定的规则(如AI算法)逐渐增加拥塞窗口的大小。每次收到一个确认报文段,拥塞窗口就增加一个固定的值(通常是1个MSS,即最大报文段大小)。这样,发送方可以逐步增加发送速率,同时保持对网络状况的敏感。

加法增大原则确保了发送方在网络状况良好时能够逐步提高发送速率,从而充分利用网络带宽。同时,由于增长是线性的,因此发送速率的提升相对平缓,有助于避免过早出现拥塞。

相关推荐
Maple_land10 分钟前
Linux进程第八讲——进程状态全景解析(二):从阻塞到消亡的完整生命周期
linux·运维·服务器·c++·centos
爱吃生蚝的于勒15 分钟前
【Linux】零基础学会Linux之权限
linux·运维·服务器·数据结构·git·算法·github
量子物理学17 分钟前
Eclipse Mosquitto 在小内存下怎么修改配置文件
java·服务器·eclipse
Cyan_RA934 分钟前
Linux 远程Ubuntu服务器本地部署大模型 EmoLLM 中常见的问题及解决方案 万字详解
linux·运维·服务器·ubuntu·大模型·远程部署·emollm
数字冰雹36 分钟前
图观 流渲染打包服务器
服务器·前端·github·数据可视化
2503_9248068537 分钟前
海外IP的适用业务范围
网络·网络协议·tcp/ip
minji...1 小时前
Linux相关工具vim/gcc/g++/gdb/cgdb的使用详解
linux·运维·服务器·c++·git·自动化·vim
Hello.Reader1 小时前
Flink State V2 实战从同步到异步的跃迁
网络·windows·flink
web安全工具库1 小时前
Linux 高手进阶:Vim 核心模式与分屏操作详解
linux·运维·服务器·前端·数据库
在下村刘湘1 小时前
telnet 和ipconfig 命令有什么区别
计算机网络