QUIC 协议为减少线路暴露而隐藏了 TCP 可用的序列号、确认号与时间戳,导致旁路设备无法被动测量往返时延。IETF 101 会议上,QUIC 工作组讨论引入 Spin Bit 与两比特 Valid Edge Counter,在保持加密目标前提下恢复单次 RTT 级的被动测量能力。
Spin Bit 产生边沿的算法:
Spin Bit 于 2017 年 6 月巴黎临时会议提出。其算法规定:服务端发包时将该位设为上一次收到的客户端包的 Spin Bit;客户端发包时设为上一次收到的服务端包 Spin Bit 的反相。这样每个端到端 RTT 产生一次 0→1 或 1→0 的边沿翻转。旁路设备在本地时钟上记录相邻边沿到达的时间差,即可获得每条流每 RTT 一个的 RTT 样本,汇总后可定位网络延迟热点。原文未给出具体部署规模数据。
Valid Edge Counter 提升分辨率:
仅靠单比特 Spin Bit 在丢包、乱序或应用限速时会产生虚假边沿。研究组在 ETH 与网络运营商、设备厂商、QUIC 实现者合作,引入两比特 Valid Edge Counter(VEC)。VEC 记录自上一有效边沿以来收到的有效数据包计数,配合 Spin Bit 可过滤无效翻转,提供更高分辨率的延迟故障定位。该机制为传输协议栈的可测量性管理开启了新思路。原文未给出具体误判率对比数值。
对运维与网络工程师而言,Spin Bit 与 VEC 在不破坏 QUIC 加密设计的前提下,恢复了类 TCP 的旁路 RTT 采样能力。部署时需确保中间设备能识别 QUIC 短头部中的该两字段,并配合流聚合分析,才能在生产网中快速定位链路或对端层面的时延异常。
原文: APNIC Blog(2018-05-11)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog