附录A. 错误假设
QUIC版本1 [QUIC-TRANSPORT] 有几个特征不受观察保护,但仍然被认为在部署新版本时可以更改。
本节列出了基于QUIC版本1知识可能对QUIC做出的一些错误假设的示例。其中一些陈述甚至对QUIC版本1也不成立。这不是详尽的列表;它仅用于说明目的。
以下任何和所有陈述对于给定的QUIC版本都可能是错误的:
-
QUIC使用TLS [QUIC-TLS],并且一些TLS消息在线路上可见。
-
QUIC长报头仅在连接建立期间交换。
-
给定5元组上的每个流都将包括连接建立阶段。
-
在流上交换的第一批数据包使用长报头。
-
长时间静默之前的最后一个数据包可能被假定为仅包含确认。
-
QUIC使用经过身份验证的关联数据加密(AEAD)函数(AEAD_AES_128_GCM;参见 [RFC5116])来保护它在连接建立期间交换的数据包。
-
QUIC数据包号被加密并显示为第一批加密字节。
-
QUIC数据包号对于发送的每个数据包递增1。
-
QUIC对客户端发送的第一个握手数据包有最小大小要求。
-
QUIC规定客户端首先发言。
-
QUIC数据包始终设置第一个字节的第二位(0x40)。
-
QUIC版本协商数据包仅由服务器发送。
-
QUIC连接ID很少改变。
-
如果QUIC端点收到版本协商数据包,它们会更改其使用的版本。
-
QUIC长报头中的版本字段在两个方向上是相同的。
-
版本字段中具有特定值的QUIC数据包意味着正在使用相应版本的QUIC。
-
在任何一对QUIC端点之间一次只建立一个连接。