目录
QUIC 的 packet 除了个别报文比如 PUBLIC_RESET 和 CHLO,所有报文头部都是经过认证的,报文 Body 都是经过加密的。这样只要对 QUIC 报文任何修改,接收端都能够及时发现,有效地降低了安全风险。
如图 1所示,红色部分是 Stream Frame 的报文头部,有认证。绿色部分是报文内容,全部经过加密。

QUIC报文分为特殊报文和普通报文。特殊报文又分为两类:版本协商报文(Version Negotiation Packets)及公共重置报文(Public Reset Packets)。普通报文也分为两类:帧报文及FEC(Forward Error Correction)报文。
QUIC报文的大小需要满足路径MTU的大小以避免被分片。当前QUIC在IPV6下的最大报文长度为1350,IPV4下的最大报文长度为1370.
报文头
QUIC报文都有一个公共的头部,大小在2-19字节之间,格式如图 2所示:

其中,图 2中的长度是以Bit为单位,如Connection ID的0,8,32,64,单位均为Bit.
第一字节为:Public Flags:
Public Flag的8位如下所示,左边为高位,右边为低位
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |