[QUIC] QUIC Frames

PADDING


PADDING Frame {Type (i) = 0x00,
}

这个帧用于增加 QUIC 包的大小。

对于 Initial 包, 可以用它来增加包大小以达到要求的最小包的大小限制。

填充 QUIC 包以对抗流量分析。

这个帧的大小为1字节,表明自己是一个 PADDING 帧。


PING


PING Frame {Type (i) = 0x01,
}

通信双方可以使用 PING 帧来验证对方是否依然在线或者对方节点是否可达。

这个帧的大小为1字节,表明自己是一个 PING 帧, 不携带任何数据。

对于 PING 帧的接收方,需要为携带此 PING 帧的 QUIC 包发送 ACK.

当没有长时间没有上层应用程序数据需要传输时, 为了防止链接因为空间超时而被关闭,可以通过发送 PING 帧来保持当前连接不被断掉。


ACK


接收方通过发送 ACK 帧来通知发送方它成功接收并处理了相关的 QUIC 包。

ACK 帧中可以包含一到多个 ACK 范围(ACK Ranges). ACK 范围表明确认接收的包。

ACK Frame {Type (i) = 0x02..0x03,Largest Acknowledged (i),ACK Delay (i),ACK Range Count (i),First ACK Range (i),ACK Range (..) ...,[ECN Counts (..)],
}

Largest Acknowledged: 整数, 表示当前接收方接收并发送确认的最大包编号.

ACK Delay: 整数, 表明发送当前 ACK 的延迟(Delay). 单位是 milliseconds.

计算公式:delay = ACK Delay * (2 ^ ack_delay_component(transport parameter))

不直接在这里编码原始 delay 值的原因是:想用最少的字节数来编码更大的范围,以牺牲精确度为代价。

ACK Range Count: 表示当前帧中 ACK Ranges 的 ACK 范围的数量。

First ACK Range: 整数, 表示在当前 Largest Acknowledged包之前的连续的包的数量。

也就是, 当前 ACK范围的最小 Packet Number 是 Largest Acknowledged - First ACK Range

ACK Ranges: 包含一组 ACK 范围,通知发送方我们已经成功接收并处理。 它有着特殊的编码规则,后边描述。

ECN Counts: 略


ACK 范围

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯备赛(持续更新)

16届蓝桥杯算法类知识图谱.pdf 1. 格式打印 %03d:如果是两位数,将会在前面添上一位0 %.2f:会保留两位小数 如果是long,必须在数字后面加上L。 2. 进制转化 2.1. 十进制转任意进制: 十进制转任意进制时&#xff…

责任链模式 Chain of Responsibility

1 意图 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 2 结构 Handler 定义一个处理请求的接口;(可选)实现后继链。 ConcreteHandler …

设计模式小结一工厂模式

先上结论: 工厂模式,也是一个开发者必须要掌握的设计模式。笔者记得大学里编程接触到的第一个设计模式就是工厂模式,现在回过头来看,那时接触的应该叫简单工厂模式,工厂模式还包括:工厂方法模式、抽象工厂模式。 开干! 老规矩,先上理论: 工厂模式(Factory Pattern…

SQL Server 2008 R2 详细安装教程及错误解决教程

SQL Server 2008 R2 详细安装教程及错误解决教程 文章目录 SQL Server 2008 R2 详细安装教程及错误解决教程1.装载或解压ISO文件2. 运行setup程序3. 下载并安装.NET Framework3.54.选择全新安装或向现有安装添加功能5.输入秘钥同意条款6.选择安装类型7.设置角色8.功能选择9.实例…

国际版JAVA同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5

架构分析 导航栏:位于界面上方,包含了“数据中心”、“消息”、“用户中心”等主要功能模块的入口,方便用户快速访问。左侧功能模块:在界面的左侧,以列表形式展示了多个功能模块,如“数据中心”、“消息中…

营销页面设计:精准触达目标群体的艺术

在当今数字化的商业世界中,营销页面设计扮演着至关重要的角色。成功的营销页面设计不仅仅是美观那么简单,它需要结合场景设计、精准定位目标群体、巧妙运用设计元素以及精心策划的色彩搭配,共同编织出一张引人入胜的视觉网络。 今天就以洋河…

【spark面试题】RDD和DataFrame以及DataSet有什么异同

RDD(Resilient Distributed Dataset): 概念:可理解为分布式的列表。它的每个元素代表数据的一行,具有支持泛型这一显著特点。这种泛型支持让开发人员能够处理各种类型的数据,具有很强的灵活性。例如&#…

gdb和make工具

gdb工具: GDB的主要功能 断点设置:允许开发者在特定的代码行设置断点,当程序执行到该行时会自动暂停,方便开发者进行调试和分析。 变量查看与修改:在程序运行过程中,可以查看和修改变量的值,以…

Java实现图片转pdf

该方法可以选择多个图片是否合并为一个pdf输出&#xff0c;也可以选择图片为横向或者纵向输出&#xff0c;也可以选择pdf页面为A3或者A4 第一步 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version…

爬虫-------字体反爬

目录 一、了解什么是字体加密 二. 定位字体位置 三. python处理字体 1. 工具库 2. 字体读取 3. 处理字体 案例1:起点 案例2:字符偏移: 5请求数据 - 发现偏移量 5.4 多套字体替换 套用模板 版本1 版本2 四.项目实战 1. 采集目标 2. 逆向结果 一、了解什么是…

web实操3——servlet

课程链接b站&#xff1a;第12课 https://www.bilibili.com/video/BV1qv4y1o79t?spm_id_from333.788.videopod.episodes&vd_source05a3c1275b87b47507d869e9349ee3cd&p233 为什么只要写一个实现Servlet的类就可以被调用 tomcat根据url去web.xml里定位到我们写的类后&…

Jest项目实战(1):JavaScript 库设计原则及最佳实践

JavaScript库设计 在开始项目实战之前&#xff0c;我们先来介绍一下在设计开源库的时候有哪些原则以及最佳实践。 函数的设计 函数包含三要素&#xff1a; 函数名参数返回值 函数名 函数通常表示做一件事情&#xff0c;因此函数名一般为一个动词或者表示动作的短语&#…

HTML 基础标签——分组标签 <div>、<span> 和基础语义容器

文章目录 1. `<div>` 标签特点用途示例2. `<span>` 标签特点用途示例3. `<fieldset>` 标签特点用途示例4. `<section>` 标签特点用途示例5. `<article>` 标签特点用途示例总结HTML中的分组(容器)标签用于结构化内容,将页面元素组织成逻辑区域…

hpp文件的使用

提示&#xff1a;文章 文章目录 前言一、背景二、过程2.1 编写代码2.3 问题探究 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近突然看到hpp文件&#xff0c;查了百度也没有hpp文件怎么写的说明&#xff0c;自己就试着写了下&#xff0c;写成功了。 而…

NPU 可不可以代替 GPU

结论 先说结论&#xff0c;GPU分为可以做图形处理的传统意义上的真GPU&#xff0c;做HPC计算的GPGPU和做AI加速计算的GPGPU&#xff0c;所以下面分别说&#xff1a; 对于做图形处理的GPU&#xff0c;这个就和NPU 一样&#xff0c;属于DSA&#xff0c;没有替代性。当然&#xf…

java: 题目:银行账户管理系统

题目&#xff1a;银行账户管理系统 设计一个简单的银行账户管理系统。要求实现以下功能&#xff1a; 1. 创建一个银行账户 BankAccount 类&#xff0c;该类具有以下属性&#xff1a;accountNumber&#xff08;账户号码&#xff0c;类型为 String&#xff09; balance&#xff…

2024年无线领夹麦克风十大品牌推荐,衣领麦克风哪个品牌好

声音&#xff0c;是沟通的桥梁&#xff0c;是信息的载体。在信息爆炸的时代&#xff0c;如何让自己的声音脱颖而出&#xff0c;成为了每个人都需要思考的问题。无线领夹麦克风&#xff0c;以其小巧便携、无线传输的特点&#xff0c;成为了众多声音爱好者的首选。市场上无线领夹…

【C++的vector、list、stack、queue用法简单介绍】

【知识预告】 vector的介绍及使用list的介绍及使用list与vector的对比stack的介绍和使用queue的介绍和使用priority_queue的介绍和使用 1 vector的介绍及使用 1.1 vector的介绍 vector是表示可变大小数组的序列容器和数组类似&#xff0c;vector也采用连续存储空间来存储元…

杨传辉:云+AI 时代的一体化数据库|OceanBase发布会实录

在 2024 OceanBase 年度发布会 上&#xff0c; OceanBase CTO 杨传辉进行了主题为《云和 AI 时代的一体化数据库战略思考》的演讲&#xff0c;本文为演讲实录&#xff0c;欢迎阅读。 视频观看可点击&#xff1a;https://www.oceanbase.com/video/9001825 各位 OceanBase 的客…

[大模型]视频生成-Sora简析

参考资料&#xff1a; Sora技术报告https://openai.com/index/video-generation-models-as-world-simulators/4分钟详细揭密&#xff01;Sora视频生成模型原理https://www.bilibili.com/video/BV1AW421K7Ut 一、概述 相较于Gen-2、Stable Diffusion、Pika等生成模型的前辈&am…