自学内容网 自学内容网

[QUIC] Packets 和 Frames 概述

Packets 和 Frames 概述

受保护的数据包 (Protected Packets)


基于不同的包类型, QUIC 使用不同等级的保护机制.

Version Negotoation 包不受保护.

Retry 包使用 AEAD 进行保护。

Initial 包使用 AEAD 进行保护, 但是使用的 Key 是由一个网络可见的值计算出来的。 因此 Initial 包没有有效的保护.

其他的包都是用 QUIC 握手过程中生成的 Key 进行加密签名保护。


合并数据包


QUIC 支持将多个 QUIC 包(QUIC Packet)放在一个UDP数据报(UDP Datagram)中发送。 这可以有效的较少使用的 UDP 数据报的数量。

Initial, 0-RTTHandshake 包中都包含一个 Length 字段, 根据他的值就可以知道当前包的长度。 虽然还有不包含 Length 字段的包, 但是他们只能放在 UDP数据报的最后。

将多个 QUIC 包合并到一个 UDP 数据报时,应该按照包加密等级(encryption level)递增的顺序放入 UDP 数据报中(Initial, 0-RTT, Handshake1-RTT), 这样有利于接收方在接收到数据报之后逐一解密。 (乱序的话,有可能解密下一个 QUIC 包需要前一个包中包含的 Key 信息,导致不必要的多次遍历这个数据报内容)。

应该将多个相同加密等级的帧放入同一个 QUIC 包中, 而不是将他们分别放入一个 QUIC 包,然后将多个 QUIC 包合并到同一个 UDP 数据报。

接收方可能会根据接收到的 UDP 数据报中的第一个QUIC 包中的 Connection Id 信息来路由当前接收到的数据,因此不要将包含不同的 Connection Id 的 QUIC 包合并到一起。 接收方如何接收到一个包含不同 Destionation


原文地址:https://blog.csdn.net/m0_64218465/article/details/143335431

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!