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