拥塞控制是网络传输的核心,基本定义就是确定带宽大小。关于带宽的计算,我觉得下面一张图描述的比较准确

这幅图的意思是这样的
1)带宽(BDP)=rtt*btlbw
btlbw 表示在网络中的瓶颈带宽,就是最小带宽
2)inflight data表示正在传输的数数据 btlbuffsize 表示网络中所有路由器缓存大小总和
3)数据传输消耗的带宽可以分为三个阶段
inflight data <bdp 这时不会产生延时 rtt 保持不变,从接收者的角度来看,带宽在增加
bdp<inflight data<btlbuffsize 此时 不会丢包 延时变大 从接收者的角度来看,带宽稳定,rtt增加
inflight data>btlbuffsize 此时 发生丢包,从接收者角度来看 rtt 增加 丢包增加
通过分析,我们可以看到,最好的发送速度,最好是控制在BDP附近
用这个过程分析下TCP的拥塞控制,可以发现 TCP的带宽估计发生在第三个阶段,此时,网络已经发生了严重的拥塞和丢包,如果用于RTC音视频数据的传输,那么延时和丢包会非常的大

webrtc的拥塞控制是基于接收端延时来计算带宽的,基本理念是:计算两组数据发送时间和接收时间的时间差,如果发现此值在不断变大,那么带宽应该处在第二个传输阶段,那么会通过REMB协议,把带宽估计反馈给发送方,发送方根据 rtt 丢包率 和remb的值 把发送速率调整到BDP左右
具体过程为 1)计算延时。

本文探讨了网络传输中的拥塞控制,重点关注WebRTC的拥塞算法。通过分析,指出最佳发送速度应控制在BDP附近。WebRTC利用接收端延迟来估算带宽,通过REMB协议调整发送速率,但该过程存在网络评估和参数调优的问题。总结了WebRTC拥塞控制的挑战和可能的优化点。
最低0.47元/天 解锁文章
879

被折叠的 条评论
为什么被折叠?



