首先声明Rc(当前发送速率)和RT(收到CNP包前的最高速率)两个变量。
RP算法分为降速阶段和增速阶段:
在增速阶段,我们根据字节计数器和计时器来增加发送速率:
BC: 发送字节数累计到一定大小时,BC++,Byte Counter置0。
T:当一段时间没有收到CNP包时,T++,Timer置0。
注:在收到CNP包时,重置Timer、ByteCounter、T、BC。
182X网卡上目前只实现了基于时间周期的升速策略和基于次数的增速阶段切换。
参数 |
描述 |
---|---|
ByteCounter |
字节计数器,记录发送字节数。 |
BC |
字节计数器达到阈值的次数。 |
Timer |
计时器。 |
T |
计时器达到阈值的次数。 |
通过对T、BC和F进行比较进入不同的阶段,使用不同的增速算法:
当前速率:
当前速率:
参数 |
说明 |
---|---|
BC |
字节计数器达到阈值的次数。 |
T |
计时器达到阈值的次数。 |
F |
Additive Increase增速阶段阈值,固定值,取值为5。 |
AI_F |
Hyper increase增速阶段阈值,固定值,取值为10。 |
RAI |
Additive Increase阶段的增速值,默认为2 Mbps。 |
RHAI |
Hyper increase阶段的增速值,默认为8 Mbps。 |
DCQCN算法RP端常用参数说明如表2所示。