其他分享
首页 > 其他分享> > 关于 QUIC 的一些个人理解

关于 QUIC 的一些个人理解

作者:互联网

RFC_8999: QUIC 的版本无关属性

QUIC 长包头

格式:

 1 Long Header Packet {
 2   Header Form (1) = 1,
 3   Version-Specific Bits (7),
 4   Version (32),
 5   Destination Connection ID Length (8),
 6   Destination Connection ID (0..2040),
 7   Source Connection ID Length (8),
 8   Source Connection ID (0..2040),
 9   Version-Specific Data (..),
10 }

图示:

QUIC 长包头图示

解析:

Header Form(首部形式):

Version-Specific Bits(特定于版本的位):

Version(版本):

Destination Connection ID Length(目标连接 ID 长度):

Destination Connection ID(目标连接 ID):

Source Connection ID Length(源连接 ID 长度):

Source Connection ID(源连接 ID):

 Version-Specific Data(特定于版本的数据):

QUIC 短包头

格式:

1 Short Header Packet {
2     Header Form (1) = 0,
3     Version-Specific Bits (7),
4     Destination Connection ID (..),
5     Version-Specific Data (..),
6 }

图示:

QUIC 短包头图示

解析:

Header Form(首部形式):

Version-Specific Bits(特定于版本的位):

Destination Connection ID(目标连接 ID):

 Version-Specific Data(特定于版本的数据):

QUIC 版本协商包

格式:

 1 Version Negotiation Packet {
 2     Header Form (1) = 1,
 3     Unused (7),
 4     Version (32) = 0,
 5     Destination Connection ID Length (8),
 6     Destination Connection ID (0..2040),
 7     Source Connection ID Length (8),
 8     Source Connection ID (0..2040),
 9     Supported Version (32) ...,
10 }

图示:

QUIC 版本协商包示例

解析:

版本协商包可以看作长包头的实例。

Header Form(首部形式):

Unused(未使用):

Version(版本):

Destination Connection ID Length(目标连接 ID 长度):

Destination Connection ID(目标连接 ID):

Source Connection ID Length(源连接 ID 长度):

Source Connection ID(源连接 ID):

Supported Version(支持的版本):

安全和隐私

  中间盒可能会观察到特定版本的 QUIC 的特征,并假设当其他版本的 QUIC 表现出类似的特征时,表达的是相同的潜在语义。

  在 QUIC 版本1中,已经做出了一些努力来消除或掩盖一些可观察到的特征,但许多这些特征仍然存在。

  其他 QUIC 版本可能会做出不同的设计决定,因此显示出不同的特点。

  QUIC 版本号并不出现在所有 QUIC 包中,这意味着根据版本特定的特征从流中可靠地提取信息需要中间盒保留它们看到的每个连接ID的状态。本文档(RFC 8999)中描述的版本协商包不受完整性保护;它只对攻击者的插入提供适度的保护。

  如果端点因此尝试了不同的 QUIC 版本,则它必须验证版本协商数据包的语义内容。

 

【未完待续】

标签:Version,QUIC,个人,Connection,理解,版本,长度,ID
来源: https://www.cnblogs.com/EnddleRD/p/16034103.html