主要思想
发送端的拥塞控制主要有两种形式,一种是基于发送窗口的,另一种是基于rate的
DCQCN是一种基于rate的CC,并主要由ECN机制实现
初始设置sending rate为max line rate
接下来CC主要分为三个部分
CP(Congestion Point) 交换机
出端口当前queue length超过阈值K,则给packet打上ECN标记
NP(Notification Point) 接收端
对于每一个flow设置一个计时器,如果当前flow收到ECN标记且前 N μ s N \mu s Nμs内都未收到ECN,则返回一个CNP报文给发送端,且重置计时器
RP(Reaction Point) 发送端
收到CNP报文则执行以下操作:
R T = R C , R C = R C ( 1 − α / 2 ) , α = ( 1 − g ) α + g , R_T=R_C, \newline R_C=R_C(1-\alpha/2), \newline \alpha=(1-g)\alpha+g, RT=RC,RC=RC(1−α/2),α=(1−g)α+g,
其中, R T R_T RT为旧的sending rate, R C R_C RC为现在的sending rate, α \alpha α为拥塞程度, g g g为设定的更新常数
此外,RP处也设有一个定时器,如果发现连续 K K K时间内均未收到CNP报文,则
α = ( 1 − g ) α , \alpha=(1-g)\alpha, α=(1−