下行带宽探测

文章插图
接下来我将介绍以上四个模块是如何具体操作的 。第一个模块是发布订阅模块 。第二个模块是带宽探测模块,它是基于google的BBR音视频场景下的优化,主要有六点:一是probe_RTT阶段的隐藏弱化;二是上行网络丢包带宽补偿;三是上行网络RTT突变以及高jitter场景优化;四是下行链路抖动自己丢包的优化;五是padding流量的优化;六是快速上探机制的实现 。右图展示了我们优化后的BBR在弱网下的探测效果,基本做了探测准确度为95%以上 。
带宽分配策略

文章插图
探测出带宽后如何结合地域关系、上行的实际码率做下行带宽的分配 。假如下行用户实际带宽有2M,订阅了A、B、C的大流,A、B、C的大流的最大码率和最小码率分别是2M、800k,1M、700k,1.6M、1M 。那么下行用户实际带宽2M是不可以接收所有的大流的 。

文章插图
针对以上问题,带宽的分配策略为:首先基于现有大小流进行选择性接收;其次综合所有下行接收端的带宽以及预分配结果,反馈到发送端,进行上行流的码率的压制 。
拥塞控制

文章插图
拥塞控制模块主要有四个模块:一是平滑发送;二是基于流级别的优先级策略以及可选择性发送策略;三是拥塞避免;四是拥塞缓解 。

文章插图
基于流级别的优先级策略以及可选择性发送策略中优先级是在实际发送包后制定的包的优先级:重传包>音频包>视频包>被切掉的流>padding包 。
可选性发送策略是在实际转发中基于上行流SVC的码流,我们制定了SVC时域分层选取:在实际下行转发时会实时评估各个层总体的码流,在实际分发过程中会基于当前近程发送队列的拥塞程度去实时选取应该分发的层 。

文章插图
拥塞缓解的具体工作为:首先下调SVC分层选取,如果拥塞严重就切小流,然后基于包级别的优先级发送 。其次是如果实际网络发生拥塞,需要改造BBR的发送周期,即减少1.0倍发送周期 。另外,如果数据超发,源端的码率波动比较大,需要代替网络主动丢包 。
下图是具体的丢包策略:绿色条柱是应用程序发送队列的堆积情况,基于堆积的安全阈值和堆积的Trendline这两个去判断当前是否需要主动丢包 。

文章插图
上图是拥塞控制总图,首先是拥塞避免从BBR获取匹配的发送数据,当避免不了的时候就需要进行流优先级控制以及SVC分层选取控制,并进行拥塞缓解,最后数据真实发送给用户时要进行平滑发送 。
推荐阅读
- 云从科技发布新一代行业级人工智能产品和能力平台:轻舟
- 淘宝云标签对买家有什么影响 淘宝云标签怎么打
- 茶界新贵云南古树白茶,勐海贺开村开采古树茶迎茶王节
- 怎么根据淘宝订单编号查询订单信息 淘宝怎么用订单编号查订单
- 淘宝开店怎么发货 手机淘宝怎么发货
- 茶圣居茶叶加盟信息,加盟白茶费用
- 招聘|中国烟草再发招聘信息,年薪可达22万以上,面试通过就可上岗
- 村姑陈的白茶咋样,浅谈云南白茶的制作方法
- 淘宝店铺数据抓取 如何正确获取淘宝商家注册信息
- 茶饼保质期多久,云南茶饼能放多久
