[QUIC] Packets 和 Frames 概述

news/2024/12/12 6:30:57/

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


http://www.ppmy.cn/news/1543761.html

相关文章

无需手动部署的正式版comfyUI是否就此收费?开源等同免费?

​ ​ 关于ComfyUI的正式版是否会收费的问题是很多AI玩家都关心的问题。 一旦ComfyUI正式版发布,我们是否需要为它买单?不再开源 同时这也引出了一个核心问题:开源究竟等不等于免费? ComfyUI正式版到底是什么?它会收…

IO流--13--RandomAccessFile

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 RandomAccessFile1.简介2.RandomAccessFile的作用有哪些?3.RandomAccessFile类有两个构造器:3.常用API介绍 RandomAccessFile 案例环境搭建1…

计算机网络:网络层 —— IP数据报的发送和转发过程

文章目录 IP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报示例 IP数据报的发送和转发过程 IP 数据报的发送和转发过程包含以下两个过程: 主机发送IP数据报路由器转发IP数据报 直接交付:源主机与目的主机在同一网络中间接交付:…

奇瑞不客气智驾 晚不晚?

文/孔文清 一直很好奇: 尹同跃董事长的金句“智驾不客气”,应该怎么翻译成英语? 谷俊丽的演讲PPT给了我答案: All in Ai Cars ——全力以赴、全情投入智能化汽车。 谷俊丽是奇瑞全球创新大会上最兴奋的人之一,有一种闭…

Flink CDC系列之:学习理解核心概念——Data Sink

Flink CDC系列之:学习理解核心概念——Data Sink sink参数示例 sink 数据接收器用于应用架构更改并将更改数据写入外部系统。 数据接收器可以同时写入多个表。 参数 为了描述数据接收器,需要以下内容: 参数含义可选/必需typesink的类型&…

【计算机网络】零碎知识点(易忘 / 易错)总结回顾

一、计算机网络的发展背景 1、网络的定义 网络是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来,形成一个相互通信和共享资源的系统。 2、局域网 LAN 相对于广域网 WAN 而言,局域网 LAN 主要是指在相对较小的范围内的计算机互联网络 …

kali——tcpdump的使用

目录 前言 使用方法 监听指定网卡 将抓取的数据包保存到指定文件 读取数据包 前言 定义:tcpdump 是 Linux 系统下的一个强大的命令行式数据包嗅探工具,它能够实时捕获网络接口上的数据包,并将这些数据包的头部信息或完整内容显示出来或保…

CSS3新增盒子属性(三)

1、CSS3新增盒子属性 1.1 box-sizing 设置盒子的大小。 content-box&#xff1a;设置内容区的大小&#xff1b;border-box&#xff1a;设置盒子的总大小。 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><t…