webrtc(2)——拥塞控制算法TWCC
Tags: webrtc
Property: 冲啊CC
Date: Apr 14, 2022
本文基于webrtc(1)——拥塞控制算法original GCC,对比不同
Congestion Control Algorithm Overview
Protocol
- 对通过同一连接发送的所有数据包使用相同的计数器
- 更适合拥塞控制,不运行在媒体流(media stream)上,但在包流上(packet flows, session层面)
- 更早的丢包检测(和恢复),因为当从stream B收到一个包时, stream A的丢包也可以被检测到,不必等到切换到stream A
1. Transport-wide Sequence Number
2. Transport-wide RTCP Feedback Message
时间间隔,计算到达时间间隔delta t
记录包组的到达
趋势滤波器——Trendline filter
- 0 < trend < 1 -> the delay increases, queues are filling up
- trend == 0 -> the delay does not change
- trend < 0 -> the delay decreases, queues are being emptied
- 包组到达时间间隔
delta_ms (InterArrival::ComputeDeltas)
- 累计时延
accumulated_delay_ (TrendlineEstimator::UpdateTrendline)
- 平滑累计时延
smoothed_delay_(0.9)
- 最小二乘法
Linear least squares regression
计算单向时延梯度变化(absl::optional<double> LinearFitSlope)
参考文献
[1] A Google Congestion Control Algorithm for Real-Time Communication draft-ietf-rmcat-gcc-02.
[2] RFC3550. RTP: A Transport Protocol for Real-Time Applications.
[3] RTP Extensions for Transport-wide Congestion Control draft-holmer-rmcat-transport-wide-cc-extensions-01.