目录
QUIC相关文章见《QUIC的那些事 | QUIC概述》《QUIC的那些事 | 包类型及格式》
QUIC的帧包是基于帧的。帧有1个字节的帧类型字段,类型字段后是与类型相关的帧头信息。所有的帧都被包含在单个的QUIC包中,没有帧可以跨越QUIC包的边界。
Frame Type
帧分为普通帧和特殊帧两种类型,普通帧只使用帧类型字节,而特殊帧既使用帧类型字段及帧类型字段中的相关位。
普通帧类型如图 1所示:

特殊帧类型如图2所示:

Stream Frame
Stream帧既用于隐式的创建stream,也在stream上传输数据。其格式如图3所示:

Frame Type字段含义如下:
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
Bit7:最左边一位,必须设置为1,表明是Stream帧
Bit6:如果被置为1,表明发送端在这个stream上已经结束发送数据,希望处于半关闭状态
Bit5:表示Stream头中是否有Data length字段,设置为0表示无DataLength字段
Bit4,3,2:表示Offset字段的长度:0, 16, 24, 32, 40, 48, 56, or 64位。对应关系如下:
Offset长度 |
Bit4,3,2取值 |
64 |
111 |
56 |
110 |
48 |