信号延迟在网络AV行业中被广泛讨论。但是,我们现在将集中讨论一个几乎从未考虑过的方面:信号延迟对基于TCP的视频流的影响。这些流包括自适应比特率流,例如HLS、DASH和NDI。由于它们基于TCP,因此其传输速率、频率和重复传输的规则均受TCP算法约束。因此,我们需要更深入地了解。
TCP有三种流行的版本:TCP Reno、Cubic和Compound。它们的基本操作相似,因此为简单起见,我们将基于TCP Reno进行讨论。当设备具有要传输的TCP流时,它将与建议的接收器进行协商,并被告知对方设备将使用的接收窗口。这是它可以在其接收缓冲区中保留的字节数。常见的窗口大小为128kB、256kB或它们的倍数。
发送器还启动发送数据块大小,通常用术语cwnd表示,通常为四个TCP段。传输开始时,将发送所有四个段。发送器等待该四个数据块的确认。接收器的行为完全不同。它确认其他所有TCP段。因此,它将确认第二段,然后确认第四段。
在确保接收器具有所有四个段的情况下,发送器将cwnd提升为八个,或者是其先前值的两倍。它立即发送所有八个段,并等待该组的确认。接收器再次确认收到其他所有分段。遵循相同的模式,发送器将继续加倍cwnd并等待整个数据块的确认。当cwnd到达接收器广告窗口的一半时,快速升级会变慢。然后,发件人将cwnd增加1个增益。请注意,如果cwcn为8,并且只有一个段在繁忙缓冲区中丢失,丢失或只是信号延迟,则发送器必须等待该分块中每个段的确认。
此过程的目的是逐渐使发送器和接收器之间的链接饱和。当发送方器收到有关网络或接收器丢弃数据包的通知时,发送器将取消其传输速率。虽然这是另一堂课的主题,但我们有足够的理解来评估信号延迟对TCP进程的影响。信号延迟会影响传输速率,因为发送器必须等待确认在当前cwnd下发送的所有数据包。同时要注意返回路径中的信号延迟也是十分关键的。
如果确认返回给发送器的速度很慢,则发送器方将继续等待整个分块的确认。TCP操作的这一方面通常被忽略。在出售给消费者的非对称带宽链路上,这可能是一个重大问题。电信,DSL和电缆链路传输的向下方向通常比向上方向大10倍。在接收ABR视频时,承载确认的是上行连接。上行链接上的高流量(例如视频上传)将大大降低任何下载速度。
……
关注读览天下微信,
100万篇深度好文,
等你来看……