公告

Gentoo交流群:87709706 欢迎您的加入

#1 2024-02-13 15:31:57

batsom
管理团队
注册时间: 2022-08-03
帖子: 594
个人网站

Linux/x86 6.6.13 内核配置选项--Networking support--options--TCP: advanced

< >   Binary Increase Congestion (BIC) control
翻译:
说明:TCP BIC(Binary Increase Congestion control)旨在优化高速高延迟网络(即“长肥网络”(long fat network,LFN))的拥塞控制,其拥塞窗口算法使用二分搜索算法尝试找到能长时间保持拥塞窗口最大值的值。Linux内核在2.6.8至2.6.18使用该算法作为默认TCP拥塞算法。
BIC算法采用二分查找的方式来确定最大的窗口大小:如果发生丢包时窗口大小是W1,那么最大窗口Wmax应该小于W1;这时将窗口缩小到W2(乘以一个系数,也就是乘法减小),那么可以预期W1>Wmax>W2;这时再将窗口大小设置为(W1+W2)2(也就是二分查找),即每收到一个ACK就把窗口大小设置为两个界限的中点。
如果窗口大小已经无限逼近W1,说明网络状况又变好了(可用带宽增加了),这时BIC会尝试往上寻找更大的Wmax。而在往上寻找时,BIC会镜像的利用逼近当前Wmax的路径去搜寻,也就是前面是如何先快后慢慢地靠近当前Wmax的,后面就反过来先慢后快地增长。
而CUBIC则是比BIC更温和和系统化的分支版本,其使用三次函数代替二分算法作为其拥塞窗口算法(因为实际上BIC的搜索曲线看起来就像一个三次函数,所以干脆就写一个三次函数来模拟曲线),并且使用函数拐点作为拥塞窗口的设置值。Linux内核在2.6.19后使用该算法作为默认TCP拥塞算法

<*>   CUBIC TCP
翻译:
说明:同上

< >   TCP Westwood+
翻译:
说明:TCP-Westwood的关键创新思想是通过监控发送方返回ACK的速率来测量连接使用的带宽。这允许比TCP Reno更快地恢复连接。TCP-Westwood机制在无线链路上特别有效,在无线链路中,由于无线信道问题而导致的零星丢包通常被其他拥塞算法误解为拥塞的症状,从而导致不必要的TCP窗口减少。

TCP-Westwood依赖于挖掘ACK流以获取信息,帮助其更好地设置拥塞控制参数:慢启动阈值(ssthresh)和拥塞窗口(cwin)。在TCP Westwood中,发送方估计并使用“合格率/Eligible Rate”,以在丢包指示时或在其“敏捷探测”阶段更新ssthresh和cwin,这是对众所周知的慢启动阶段的修改。此外,已经设计了一种称为持续非拥塞检测(PNCD,Persistent Non Congestion Detection)的方案,以检测持续的拥塞不足,并诱导敏捷探测阶段快速利用大动态带宽。

在没有过度牺牲公平性、友好性和稳定性的情况下,在TCP WESTWOOD主页上的许多论文中都报道了由此产生的效率性能提高。对于带宽动态管道,可以获得显著的效率增益,同时保持公平性。根据更合适的友好标准,即“机会友好/opportunistic friendliness”,TCP-Westwood被证明具有良好的、可控的友好性

< >   H-TCP
翻译:
说明:根据对AIMD拥塞算法的观察,对于传统网络,增加值α应当足够小,以便于同传统TCP拥塞算法(Reno/NewReno)相兼容;而对于高速和长距离(high-speed and long distance)网络,可增大α的值,以便获取额外的带宽。基于以上判断,H-TCP通过动态的调整α和β的值,来达到合理利用高速长距离网络的带宽,而又可在传统网络中与标准TCP保持友善性的目的

< >   High Speed TCP
翻译:网络拥塞控制-HSTCP
说明:参考https://zhuanlan.zhihu.com/p/366355471

< >   TCP-Hybla congestion control algorithm
翻译:TCP拥塞控制算法
说明:让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率
参考:https://blog.csdn.net/weixin_47826078/article/details/116275461

{ }   TCP Vegas
翻译:
说明:TCP Vegas是传输控制协议(TCP)拥塞控制算法的一个变种,旨在通过更准确地检测和响应网络拥塞来提高网络性能
参考:https://geek-docs.com/network/network-tutorials/t_basic-concept-of-tcp-vegas.html

< >   TCP NV
翻译:
说明:待确定作用

< >   Scalable TCP
翻译:
说明:STCP(Scalable TCP)是TCP拥塞控制协议的一种。STCP算法是由 Tom Kelly于 2003年提出的 ,通过修改 TCP的窗口增加和减少参数来调整发送窗口大小 ,以适应高速网络的环境

< >   TCP Low Priority
翻译:
说明:低优先级的TCP拥塞控制TCP-LP

< >   TCP Veno
翻译:
说明:Veno结合了Vegas和Reno,故得此名。

Veno的主要目的在于区分随机丢包和无线丢包。

Vegas能够测量网络瓶颈路由器中属于此连接的数据包个数,Veno正是利用这一变量来区分随机丢包和

拥塞丢包,并采取不同的措施。

Veno也改进了窗口增长函数,当网络瓶颈路由器中属于此连接的数据包个数超过一定值时,放缓窗口增长速

参考:https://blog.csdn.net/zhangskd/article/details/7496670/

< >   YeAH TCP
翻译:
说明:Reno 的修改版

< >   TCP Illinois
翻译:
说明:Reno 的修改版

< >   DataCenter TCP (DCTCP)
翻译:数据中心
说明:利用网络中的ECN(显示拥塞控制),来向终端主机提供多位反馈。主要目标:保持交换机缓存区较低的占用率(为了延迟敏感流),同时保持长流的高吞吐量
参考:https://zhuanlan.zhihu.com/p/430215470

< >   CAIA Delay-Gradient (CDG)
翻译:
说明:CDG算法的核心,在于盯着RTT的变化,以便判断是否队列已经填满,由此来指导丢包发生后的行为
参考:https://www.ccppcoding.com/archives/407683

< >   BBR TCP
翻译:
说明:TCP BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google设计,于2016年发布的拥塞算法。以往大部分拥塞算法是基于丢包来作为降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最大带宽和往返时间来建立网络的显式模型。数据包传输的每个累积或选择性确认用于生成记录在数据包传输过程和确认返回期间的时间内所传送数据量的采样率。该算法认为随着网络接口控制器逐渐进入千兆速度时,分组丢失不应该被认为是识别拥塞的主要决定因素,所以基于模型的拥塞控制算法能有更高的吞吐量和更低的延迟,可以用BBR来替代其他流行的拥塞算法
参考:https://www.zhihu.com/question/53729940/answer/2584450424

       Default TCP congestion control (Cubic)  --->
翻译:
说明:TCP高级拥塞控制,如果没有特殊需求(比如无线网络)就别选了,内核会自动将默认的拥塞 控制设为"Cubic"

离线

页脚

Powered by FluxBB

本站由XREA提供空间支持