0. 简介
这个模块主要是根据OveruseEstimator模块校正后的到达时间差来对链路使用状态进行评估,为有限自动状态机提供状态转换的条件,同时本模块还有GCC文档中提到的自适应阈值计算。
阈值自适应原因如下:
个人理解:
- 防止某些网络状态比较极端,使链路评估总是处于比较极端的情况。
- 由于基于RTT算法的公平性问题,在对抗基于丢包的拥塞控制算法衰减快,容易造成自身饿死,例如除了GCC外还有一条TCP流。
|
|
1. 原理
公式如上,delta_T为到达时间差,k为增益系数,m(ti)为ti时刻的延迟。
增益系数是自适应的,当本次延迟值在上一轮迭代的阈值范围内时,增益系数k会进行衰减,其他时候增益系数k将会增加。
参数选择是一个可以调优的过程,这里暂不讨论,webrtc中也开辟了对应的实验性接口可供配置。
2. 代码
代码实现比较简单明了,基本就是按照上述公式进行实现:
|
|