Skip to main content

Appendix A. 错误的假设 (Incorrect Assumptions)

QUIC 版本 1 [QUIC-TRANSPORT] 有几个特征虽然不受观察保护,但在部署新版本时仍被认为是可改变的。

本节列举了基于 QUIC 版本 1 知识可能对 QUIC 做出的一些错误假设示例。这些陈述中的一些甚至对 QUIC 版本 1 都不成立。这不是一个详尽的列表; 它仅用于说明目的。

以下任何和所有陈述对于给定的 QUIC 版本都可能是错误的:

  • QUIC 使用 TLS [QUIC-TLS],并且一些 TLS 消息在线路上可见。

  • QUIC 长包头仅在连接建立期间交换。

  • 给定 5 元组上的每个流都将包括连接建立阶段。

  • 流上交换的第一个数据包使用长包头。

  • 长时间静默之前的最后一个数据包可能被假定为仅包含确认 (Acknowledgment)。

  • QUIC 使用认证加密与关联数据 (AEAD) 函数 (AEAD_AES_128_GCM; 参见 [RFC5116]) 来保护连接建立期间交换的数据包。

  • QUIC 数据包序号 (Packet Numbers) 是加密的,并显示为第一个加密字节。

  • QUIC 数据包序号对于发送的每个数据包递增 1。

  • QUIC 对客户端发送的第一个握手数据包有最小大小要求。

  • QUIC 规定客户端首先发言。

  • QUIC 数据包总是设置第一个字节的第二位 (0x40)。

  • QUIC 版本协商数据包仅由服务器发送。

  • QUIC 连接 ID 不经常改变。

  • 如果 QUIC 端点收到版本协商数据包,它们会改变它们使用的版本。

  • QUIC 长包头中的版本字段在两个方向上是相同的。

  • 版本字段中具有特定值的 QUIC 数据包意味着正在使用相应版本的 QUIC。

  • 任何一对 QUIC 端点之间一次只建立一个连接。