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 端点之间一次只建立一个连接。