TCP的安全问题
TCP依赖seq和ACK来实现可靠,流式以及全双工的传输模式,而实际过程中却需要通过三次握手来同步双端的 seq,如果我们提前约定好通信双方初始seq,其实是可以避免三次握手的,那么为什么没有这么做呢?答案是安全问题。
TCP的数据是没有经过任何安全保护的,无论是其header还是payloa...
阅读更多
QUIC协议本身(RFC 9002)并没有强制规定必须使用哪一种拥塞控制。它只定义了拥塞控制器与QUIC协议栈交互的接口和信号:
QUIC最流行的两种拥塞控制算法是CUBIC和BBR。
RFC 中没有以特定编程语言的 API 形式来定义接口,但它描述了一套逻辑上的接口。可以其分为以下两类 conceptual...
阅读更多
一个 QUIC 数据包由一个或多个报头(Header)和有效载荷(Payload)组成。有效载荷中包含了一系列的数据帧(Frame)。QUIC 的报文格式是高度动态化的,可以根据实际情况进行调整,没有固定的报文结构。
报文头
QUIC 有两种主要类型的报头:长报头(Long Header) 和 短报头(Sho...
阅读更多
1. 输入与分割
输入视频信号: 原始的、未经压缩的视频帧序列作为编码器的输入。
分割为CTU: 每一帧图像首先被分割成一个个CTU。CTU是HEVC处理的基本单位,每个CTU还可以根据内容的复杂度,被递归地分割成更小的CU。
2. 核心编码循环
编码的核心思想是预测。HEVC不直接编码像素...
阅读更多
特性
H.264
H.265
H.265 关键增强
基本编码单元
MB
CTU
CTU 取代宏块:可从 64x64 到 16x16,远大于 H.264 固定的 16x1...
阅读更多
传统的拥塞控制算法通常只依赖一种信号(要么是丢包,要么是延迟)。而GCC则采用延迟加丢包两种拥塞信号,同时运行两个独立的控制器:
基于延迟的控制 (Delay-based Control):这是一种主动式、预测性的方法。它通过监测数据包在网络中传输的单向延迟变化趋势来判断拥塞。当延迟开始持续增长时,GCC...
阅读更多
BBRv2的问题
对ECN信号的响应缓慢且不够有效
这是 BBRv2 最核心的缺陷之一。BBRv2 尝试将 ECN作为避免丢包的早期信号,但其处理方式存在问题。
机制缺陷:BBRv2 收到 ECN-CE(Congestion Experienced)标记后,并不会立即降低其发送速率。相反,它会将 EC...
阅读更多
BBRv1的问题
带宽探测过于激进,导致丢包率过高。
BBRv1的ProbeBW阶段为了探测带宽,会周期性地使用1.25的增益系数发送数据。在网络缓冲队列很小(Shallow Buffer)的情况下,这额外25%的流量无法被吸收,会直接导致周期性的丢包。
抢占性过强,对其他流不公平。
BBRv1主要...
阅读更多