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

先说结论:

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

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

具体分析:

乘法减小(Multiplicative Decrease)

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

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

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

加法增大(Additive Increase)

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

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

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

相关推荐
光而不耀@lgy7 分钟前
C++初登门槛
linux·开发语言·网络·c++·后端
Run1.26 分钟前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
合新通信 | 让光不负所托38 分钟前
【合新通信】浸没式液冷光模块与冷媒兼容性测试技术报告
大数据·网络·光纤通信
浩浩测试一下2 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
码农hbk2 小时前
linux ptrace 图文详解(七) gdb、strace跟踪系统调用
linux·服务器
264玫瑰资源库2 小时前
斗鱼娱乐电玩平台源码搭建实录
运维·服务器·游戏·娱乐
hotlinhao2 小时前
ThinkPHP6模型中多组条件逻辑或Or查询的使用
linux·服务器·数据库
mit6.8243 小时前
[OS_8] 终端和 UNIX Shell | 会话和进程组 | sigaction | dash
运维·服务器
ALex_zry3 小时前
跨Linux发行版CPU指令集兼容性深度解析与实践指南
linux·运维·服务器
ZVAyIVqt0UFji4 小时前
360 OpenStack支持IP SAN存储实现
网络·网络协议·tcp/ip·openstack