深入解析QUIC协议

2023-11-07

QUIC(Quick UDP Internet Connection)是Google提出的一个基于UDP的传输协议,因其高效的传输效率和多路并发的能力,已经成为下一代互联网协议HTTP/3的底层传输协议。除了应用于Web领域,它的优势同样适用于一些通用的需要低延迟、高吞吐特性的传输场景。本文从QUIC的由来和优势出发,分享实际项目中需要考虑的问题和解决思路,通过测试对比QUIC和TCP的实际传输能力,希望有助于大家理解和实践QUIC协议。

在这里插入图片描述

PART 01 为什么需要QUIC?

众所周知,HTTP从最初的HTTP/0.9,经历了HTTP/1.x,HTTP/2到最新的HTTP/3这几个大的更新版本。在HTTP/3版本之前,HTTP底层都是用TCP传输数据,而伴随着移动互联网的发展,网络交互场景越来越丰富并要求及时性,传统TCP固有的性能瓶颈越来越不能满足需求,原因有以下几点:
建立连接的握手延迟大
HTTPS包含两个握手:1)TCP三次握手,1个RTT;2)TLS握手,2个RTT。完整握手总共需要3个RTT,对于直播等需要首帧秒开场景,握手延迟太大。
多路复用的队首阻塞
以HTTP/2多路复用为例,多个数据请求作为不同的流,共用一条TCP连接发送,所有的流应用层都必须按序处理。若某个流的数据丢失,后面其他流的数据都会被阻塞,直到丢失的流数据重传完成其他流才能被继续传输。即使接收端已经收到之后流的数据包,HTTP协议也不会通知应用层去处理。
TCP协议的更新滞后
TCP协议是实现在操作系统内核内,但是用户端的操作系统版本升级非常困难,很多老旧的系统像WindowsXP还有大量用户使用,因此TCP协议的一些更新很难被快速推广。
正是考虑到以上的这些问题,QUIC在应用层之上基于UDP实现丢包恢复,拥塞控制,加解密,多路复用等功能,既能优化握手延迟,同时又完全解决内核协议更新滞后问题。

PART 02 QUIC的优势

这里列举下QUIC的主要优势。
握手建连更快
QUIC建连时间大约0~1 RTT,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深入解析QUIC协议 的相关文章

随机推荐

  • NFS极品飞车21WIN11闪退解决办法,个人心得

    1 自己遇到的现象 系统升级win11后 之前能运行的NFS21打不开 黑屏后闪退 或者游戏中闪退 重新打开几次都不行 后台直接死 什么垃圾游戏 但是我就要玩 我自己游戏打开时是窗口化的 过10秒左右闪退 进程直接消失 多次打开可能会进 但
  • L2-3 完全二叉树的层序遍历 (25分) 2020 天梯赛

    L2 3 完全二叉树的层序遍历 25分 一个二叉树 如果每一个层的结点数都达到最大值 则这个二叉树就是完美二叉树 对于深度为 D 的 有 N 个结点的二叉树 若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点 这样的树就是完全二叉树
  • Makefile的基本用法

    1 Makefile的基本概念 目标 目标顶格写 后面是冒号 冒号后面是依赖 依赖 依赖是用来产生目标的原材料 命令 命令前面一定是Tab 不能是顶格 也不能说多个空格 命令就是要生成那个目标需要做的动作 2 示例代码 led bin st
  • Node.js 连接 MongoDB

    在 Node js 中连接 MongoDB 数据库需要使用第三方模块 mongodb 首先需要安装 mongodb 模块 你可以使用 npm 命令来安装 npm install mongodb 接着可以使用以下代码来连接 MongoDB 数
  • Qt 可视化Ui设计

    QMainWindow 是主窗口类 主窗口类具有主菜单栏 工具栏和状态栏 类似于一般的应用程序的主窗口 QWidget是所有具有可视界面类的基类 选择QWidget创建的界面对各种界面组件都可以支持 QDialog是对话框类 可建立一个基于
  • 两种方法(JS方法和Vue方法)实现页面渲染

    一 需求 根据数据渲染如下页面 二 JS方法 div class box w div class box hd h3 精品推荐 h3 a href 查看全部 a div div class box bd ul class clearfix
  • JavaScript之ES6规范中let的巧用(经典案例讲解)

    html部分 ul li 天 li li 地 li li 人 li li 和 li ul ul li dyklk li ul 要求 再点击某个li标签的时候 弹框输出其对应的顺序号 注意 本文js代码部分全为原生写法 错误写法 var oL
  • 发布 VectorTraits v1.0,它是 C# 下增强SIMD向量运算的类库

    发布 VectorTraits v1 0 它是C 下增强SIMD向量运算的类库 VectorTraits SIMD Vector type traits methods SIMD向量类型的特征方法 NuGet https www nuget
  • 未能检测服务器连接失败,被控链接失败处理检查方法

    检查方法 1 重要 提示服务器连接失败 一般是防火墙问题或者主控与被控直接的通信问题 机器防火墙放行端口22333 1433 如有的服务器商的机器 需要在安全组里面放行端口 或者关闭防火墙 取消安全组 2 检查进程是否异常 右击任务栏 启动
  • C语言面试常撕的几个str代码-【strcpy】【memcpy】【strcmp】【memcpy】【strcat】

    一 字符串拷贝strcpy 代码 char strcpy char des const char src assert des NULL src NULL char p des while p src 0 return des 要注意的点
  • 什么是Scrum?如何实施Scrum(敏捷开发)以及敏捷工具

    什么是Scrum Scrum是一个敏捷开发框架 它是一个增量的 迭代的开发过程 它被广泛应用于敏捷软件开发 在Scrum中 开发过程由若干个短的迭代周期组成 每个迭代周期称为一个Sprint 那么Scrum如何实施呢 Scrum实施过程可分
  • idea使用分享

    ideaVim 配置文件 Source your vimrc source vimrc Suggested options Show a few lines of context around the cursor Note that th
  • 安卓自动化工具程序设计之[识别区域提取] python + uiautomator2 + Open CV

    安卓自动化工具程序设计之 识别区域提取 python uiautomator2 Open CV 一 设计需求 二 所需工具 三 程序设计过程与思路 四 工具使用讲解 五 程序源码 六 写在最后 一 设计需求 在安卓自动化控制中我们经常有需要
  • 健康体检中心

    传智健康 项目介绍 健康管理机构的业务系统 传统的互联网项目 后端系统 前端微信网页 开发人员应该需要的资料 1 需求说明书PRD 含功能大纲 功能详情 流程图 性能需求 产品原型图 2 UI 原型图并非最终效果图 最终要过要以UI为准 所
  • HTML 5概述

    HTML语言是一种简易的文件交换标准 用于物理的文件结构 它旨在定义文件内的对象和描述文件的逻辑结构 而并不定义文件的显示 由于HTML所描述的文件具有极高的适应性 所以特别适合于WWW的出版环境 什么是 HTML5 HTML5是HTML语
  • css选择某元素优先上方显示的方法

    z index 在做一个搜索栏时想要在搜索栏上显示文字提示 当然不是placeholder那种 是一种浮动在搜索栏上固定的元素提供的文本文字 例如这种 查找资料后知道用的是z index 这里是z index的MDN手册说明 z index
  • c语言 结构体排序 相同 下一个,C语言 · 运用结构体的排序方法

    之前遇到排序只想着最原始的方法 诸如冒泡 选择 快速排序等等 刚刚跟大牛学会了结构体的方法来排序 这样的话以后再也不用怕成绩统计 名次排序之类的题目了 首先头文件 基于大牛的方法 本人之后做题喜欢引入题目中常用的五个头文件 定义结构体 注释
  • Java架构师面试题全集:Java基础+技术框架+系统架构+分布式系统

    Java架构师面试题全集 Java基础 技术框架 系统架构 分布式系统 优知学院 2018 10 10 18 45 00 基础题目 Java线程的状态 进程和线程的区别 进程间如何通讯 线程间如何通讯 HashMap的数据结构是什么 如何实
  • excel表格中忘了撤销工作表保护密码怎么办

    转自 https zhidao baidu com question 297630230 html 用宏代码破解密码 以office2007为例说明 2003也是一样的 只是菜单命令的位置不同 第一步 打开该文件 先解除默认的 宏禁用 状态
  • 深入解析QUIC协议

    QUIC Quick UDP Internet Connection 是Google提出的一个基于UDP的传输协议 因其高效的传输效率和多路并发的能力 已经成为下一代互联网协议HTTP 3的底层传输协议 除了应用于Web领域 它的优势同样适