quic为什么没有被大规模应用?
一、成本
将应用程序从 HTTP/2 迁移到 HTTP/3,或从 TCP 迁移到 UDP 需要付出一定的努力。它需要将整个应用层实现和传输层实现转换到UDP,并在服务器端和客户端构建一个全新的解决方案。对于资源有限的小型流媒体供应商来说,这是一个不小的挑战,这也解释了为什么率先采用该协议的是谷歌和微软这样的大型企业。
二、安全
- 网络防火墙无法解密 QUIC 流量以检查数据包,因此潜在的恶意流量可能会在未被标准安全功能识别的情况下进入网络。因此,Cisco 和 Palo Alto Networks 等安全供应商通常会在端口 80(Web 服务器)和 443(TLS)上阻止 QUIC 数据包,假设它们可能包含恶意软件,迫使客户端退回到使用 HTTP/2 和 TCP 协议。虽然这不会对内容消费者的体验有很大的影响,但它首先就违背了部署 QUIC 的目的。这一挑战需要得到解决,才能让QUIC在企业中得到广泛接受。(QUIC 在传输层中内置了加密功能,可以验证整个有效负载,包括报头。TCP 在报头中不包含加密,容易受到攻击。因此,QUIC 默认支持安全的 TLS,这意味着完整的端到端安全性。)
- 超40%企业网络默认屏蔽UDP流量(udp端口容易受到攻击),导致QUIC回退到TCP,丧失优势。
关于,QUIC全程加密,连握手阶段元数据都加密,这让传统的防火墙、监控、DPI、QOS等运营商/企业网络管理工具更难有效识别、调度和保护流量。
1. QUIC全程加密对传统网络管理的影响
QUIC协议(包括HTTP/3)从握手开始就进行加密,不仅应用数据(如网页内容)加密,连大部分协议头部、协商过程、流标识等元数据也加密。
只在UDP的“外壳”上暴露端口、IP等极少量信息,协议内容(包括请求路径、流标识、HTTP头、握手参数等)对第三方完全不可见。
防火墙(Firewall)
传统防火墙常通过“协议特征”识别(如TCP端口80/443、HTTP头、SSL/TLS版本等),对QUIC只能看到UDP流量,无法判断更细粒度的协议内容(比如这是访问了哪个网站、用的什么应用)。监控(Monitoring)/ DPI(深度包检测)
DPI(Deep Packet Inspection)通常分析TCP/IP层和应用层协议内容,例如抓取HTTP请求URL、分析SMTP邮件内容等。QUIC加密后,除了UDP包头,其他内容都无法分析,DPI失效。QOS(质量服务/流量调度)
QOS设备通常基于应用特征、协议类型对流量优先级分类(比如视频优先、P2P限速),现在只能按UDP端口或IP粗略分流,无法精细识别和调度。运维/安全分析
传统入侵检测、恶意流量识别、访问审计等高度依赖明文元数据(如SNI、请求路径),QUIC全面加密后,攻击/异常流量难以被发现或溯源。
以HTTP/2为例,虽然内容加密(TLS),但TLS握手阶段SNI(Server Name Indication)、协商参数等还是明文,DPI可抓取到“你访问的是www.example.com”。
QUIC/HTTP3中,TLS握手也在QUIC流内协商,连SNI等多数元数据也加密,DPI只能看到“某IP有UDP流量”而已,无法进一步分析。
明文HTTP(80端口):所有内容都可见,DPI可分析URL、参数、请求体、甚至用户数据。
HTTPS(TCP+TLS)(443端口):
虽然应用数据加密,但TLS握手阶段的SNI(服务名)、证书、协商参数、部分ALPN等信息是明文,DPI可以知道你访问哪个域名、用了什么TLS版本/加密算法。
QOS、监控可根据SNI、证书、流量模式、端口等进行分类调度。
防火墙可根据TCP三次握手、应用协议头做精细规则(如阻断某域名、限制某类应用等)。
端口号:80/443/21/25等区分用途
协议头特征:DPI分析HTTP、TLS等协议头,识别服务种类和内容
SNI:HTTPS/TLS握手时的SNI字段暴露目标域名
流量模式与统计特征:比如视频流、P2P流的包长、频率、并发度等
协议
可识别内容
DPI/防火墙/QOS能力
明文HTTP
所有内容
完全识别、过滤、调度
HTTPS (TLS)
SNI、证书、部分元数据
能识别域名、部分分类调度
QUIC/HTTP3
仅IP、端口、极少元数据
只能粗略区分,无法精细识别
安全与监控盲区加大:入侵、敏感内容、恶意程序流量更难被发现。
QOS细粒度流控变弱:只能按IP/端口/流量模式做粗分类,业务体验细调能力下降。
监管与合规难度提升:部分国家和企业需特殊合规手段(如MITM解密,但QUIC更难实现)。
行业应对:部分方案尝试基于流量特征统计、AI流量分类、与应用层/终端协作实现更细的识别与控制。
QUIC全程加密,握手和元数据也加密,使网络管理、监控、安全、流控等传统手段大大受限。
**TCP/HTTP(含HTTPS)**时代,TLS握手阶段的SNI、证书等还暴露元数据,DPI和QOS能做更精细的识别和控制。
三、惯性
- TCP已存在几十年,全球所有操作系统、网络设备、路由器、防火墙等都完美支持。
- QUIC基于UDP,而许多传统网络设备、企业防火墙、老系统对UDP流量的支持和优化不如TCP那么彻底,有些甚至默认限制UDP带宽或超时。
- 大部分现有应用、协议、API都是基于TCP/HTTP1/2设计的,比如WebSocket、FTP、SMTP、MySQL等。对于这些应用来说,迁移到QUIC/HTTP3需要进行协议栈的重大改造,开发和测试成本高。
- 对于部分需要“强一致性、状态同步、长连接复用、顺序/可靠交互”的应用(如数据库同步、部分企业内网协议),TCP更适用。
四、参考
gpt4.1
deepseek
从TCP到QUIC:革命尚未成功,同志仍需努力 - 腾讯云开发者社区-腾讯云https://zhuanlan.zhihu.com/p/617421459
https://zhuanlan.zhihu.com/p/561789686
相关文章:
quic为什么没有被大规模应用?
一、成本 将应用程序从 HTTP/2 迁移到 HTTP/3,或从 TCP 迁移到 UDP 需要付出一定的努力。它需要将整个应用层实现和传输层实现转换到UDP,并在服务器端和客户端构建一个全新的解决方案。对于资源有限的小型流媒体供应商来说,这是一个不小的挑…...
Delft3D软件介绍及建模原理和步骤;Delft3D数值模拟溶质运移模型建立;地表水环境影响评价报告编写思路
📚 教程以地表水数值模拟软件 Delft3D 4.03.00 的操作为核心内容,系统涵盖地表水水动力建模、基础资料获取、边界条件设定、模型率定与验证以及数据分析处理等关键环节。通过全面讲解,学员将掌握地表水数值模拟的全过程实际操作技术。 &…...
书籍在其他数都出现k次的数组中找到只出现一次的数(7)0603
题目 给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了1次,其他的数都出现了k次,请返回只出现了1次的数。 解答: 对此题进行思路转换,可以将此题,转换成k进制数。 k进制的两个数c和d,…...
开源模型应用落地-OpenAI Agents SDK-集成Qwen3-8B-function_tool(二)
一、前言 在人工智能技术迅猛发展的今天,OpenAI Agents SDK 为开发者提供了一个强大的工具集,用于构建基于 Python 的智能代理应用。这些代理可以执行从简单任务到复杂决策的一系列操作,极大地提升了应用程序的智能化水平。 通过 OpenAI Agents SDK,可以利用 Python 编程语…...

Python - 爬虫;Scrapy框架之插件Extensions(四)
阅读本文前先参考 https://blog.csdn.net/MinggeQingchun/article/details/145904572 在 Scrapy 中,扩展(Extensions)是一种插件,允许你添加额外的功能到你的爬虫项目中。这些扩展可以在项目的不同阶段执行,比如启动…...

Spark实战能力测评模拟题精析【模拟考】
1.println(Array(1,2,3,4,5).filter(_%20).toList() 输出结果是(B) A. 2 4 B. List(2,4) C. List(1,3,5) D. 1 3 5 2.println(Array("tom","team","pom") .filter(_.matches("")).toList) 输出结果为(List(tom,…...

【OSG学习笔记】Day 15: 路径动画与相机漫游
本章来学习下漫游相机。 路径动画与相机漫游 本届内容比较简单,其实就是实现物体的运动和相机的运动 当然这两个要一起执行。 贝塞尔曲线 贝塞尔曲线(Bzier curve)是一种在计算机图形学、动画制作、工业设计等领域广泛应用的参数曲线&am…...

PostgreSQL(PostGIS)触发器+坐标转换案例
需求,只录入一份坐标参考为4326的数据,但是发布的数据要求坐标必须是3857 对这种需求可以利用数据库触发器实现数据的同步 步骤: 1. 使用ArcGIS Pro创建一个名字为testfc_4326的图层,坐标参考为4326 2. 使用Pro再创建一个名字…...

Constraints and Triggers
目录 Kinds of Constraints Single-Attribute Keys Multiattribute Key Foreign Keys Expressing Foreign Keys Enforcing Foreign-Key Constraints Actions Taken Attribute-Based Checks Timing of Checks Tuple-Based Checks Assertions Timing of Assertion Ch…...
基于windows系统的netcore架构与SqlServer数据库,实现双机热备。
以下是基于 SQL Server Always On 可用性组 和 故障转移群集 的详细配置步骤,用于实现双机热备。 步骤 1:准备环境 1.1 硬件和软件准备 两台服务器:分别作为主服务器和备用服务器。SQL Server版本:确保两台服务器上安装的SQL S…...
【转bin】EXCEL数据转bin
如果DEC2BIN函数的默认设置无法满足需求(它最多只能处理10位的二进制转换),可以通过VBA宏方法来处理较大数的二进制转换并提取特定位置的数字: 十进制转二进制(不限位宽) 1、打开VBA编辑器(Al…...

BERT:让AI真正“读懂”语言的革命
BERT:让AI真正“读懂”语言的革命 ——图解谷歌神作《BERT: Pre-training of Deep Bidirectional Transformers》 2018年,谷歌AI团队扔出一篇核弹级论文,引爆了整个NLP领域。这个叫BERT的模型在11项任务中屠榜,甚至超越人类表现…...
【计算机组成原理】SPOOLing技术
SPOOLing技术 关键点内容核心思想通过输入/输出井虚拟化独占设备,实现共享,即让多个作业共享一台独占设备依赖条件1. 外存(井文件)2. 多道程序设计虚拟实现多道程序技术磁盘缓冲数据流方向输入设备 → 输入井 → CPU → 输出井 →…...

冷雨泉教授团队:新型视觉驱动智能假肢手,拟人化抓握技术突破,助力截肢者重获生活自信
研究背景:日常生活中,健康人依靠手完成对物体的操作。对于手部截肢患者,手部的缺失导致他们难以有效地操作物体,进而影响正常的日常生活。拥有一个能够实现拟人地自然抓取多种日常物体的五指动力假手是手部截肢患者的夙愿…...
CanvasGroup篇
🎯 Unity UI 性能优化终极指南 — CanvasGroup篇 🧩 什么是 CanvasGroup? CanvasGroup 是UGUI的透明控制器,用于整体控制一组UI元素的: 可见性 (alpha)交互性 (interactable)射线检测 (blocksRaycasts) 🎯…...
[Java 基础]银行账户程序
编写一个 Java 控制台应用程序,模拟一个简单的银行账户。该程序应允许用户执行以下操作: 查询账户余额。 账户初始余额设置为 1000.0 元。向账户存入资金。 用户可以输入存款金额,程序应更新账户余额。存款金额必须为正数。从账户提取资金。…...
2025.6.4总结
工作:今天效率比较高,早上回归4个问题,下午找了3个bug,晚上二刷了科目一(贪吃蛇系统),写了四个点,唯一没达标的就是两自动化没完成。美中不足的是电脑上下载不了PC版的番茄工作软件。…...
将音频数据累积到缓冲区,达到阈值时触发处理
实现了音频处理中的 AEC(声学回声消除)和 AES(音频增强)功能,其核心功能是: 数据缓冲管理:将输入的麦克风和扬声器音频数据块累积到缓冲区中块处理机制:当缓冲区填满预设大小&#…...

pikachu靶场通关笔记14 XSS关卡10-XSS之js输出(五种方法渗透)
目录 一、源码分析 1、进入靶场 2、代码审计 二、渗透实战 1、根据提示输入tmac 2、XSS探测 3、注入Payload1 4、注入Payload2 5、注入Payload3 6、注入Payload4 7、注入Payload5 本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关)渗透集合&#x…...
5.Promise,async,await概念(1)
Promise 是 JavaScript 原生提供的异步处理机制,而 async 和 await 是基于 Promise 的语法糖,由 JavaScript 语言和其运行时环境(如浏览器、Node.js)支持,用于更清晰地编写异步代码,从而避免回调地狱。 Pr…...

李沐-动手学深度学习:RNN
1.RNN从零开始实现 import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l#8.3.4节 #batch_size:每个小批量中子序列样本的数目,num_steps:每个子序列中预定义的时间步数 #loa…...
Windows系统下npm报错node-gyp configure got “gyp ERR“解决方法
感谢原博主,此文参考网址:https://zhuanlan.zhihu.com/p/398279220 确保已经安装node.js (官方网址:https://nodejs.org/zh-cn/download) 首先在命令窗口执行命令安装windows-build-tools: npm install -…...
Elasticsearch中的文档(Document)介绍
在Elasticsearch(ES)中,文档(Document)是最基本的数据单元,类似于关系型数据库中的“行”。它以JSON格式存储,包含多个字段(Field),每个字段可以是不同类型(如文本、数值、日期等)。文档是索引(Index)的组成部分,通过唯一ID标识,并支持动态映射(Dynamic Mappi…...
15个基于场景的 DevOps 面试问题及答案
第一部分:持续集成和部署 (CI/CD) 场景 1:构建中断 “您的 CI 流水线突然出现‘找不到依赖项’的错误。您会如何处理这个问题?” 回答:首先,我会检查是否有新的依赖项被添加到需求文件中,但这些依赖项并未包含在需求文件中。我还会验证构建服务器是否可以访问互联网来下…...
今日主题二分查找(寻找峰值 力扣162)
峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须实现时间复杂度为 O(…...

【教学类-36-10】20250531蝴蝶图案描边,最适合大小(一页1图1图、2图图案不同、2图图案相同对称)
背景说明: 之前做了动物头像扇子(描边20),并制作成一页一套图案对称两张 【教学类-36-09】20250526动物头像扇子的描边(通义万相)对称图40张,根据图片长宽,自动旋转图片,最大化图片-CSDN博客文章浏览阅读1k次,点赞37次,收藏6次。【教学类-36-09】20250526动物头像…...

高效DBA的日常运维主题沙龙
2024年11月10日,在宁波组织了高效DBA的日常运维沙龙活动,大概有20人左右现场参加。会议的主题为: 目标: 1、识别高频低效操作并制定自动化方案 2、建立关键运维指标健康度体系 3、输出可立即落地的优化清单 会议议程 一、效能瓶…...

AAAI 2025论文分享│STD-PLM:基于预训练语言模型的时空数据预测与补全方法
本文详细介绍了一篇发表于人工智能顶级会议AAAI 2025的论文《STD-PLM: Understanding Both Spatial and Temporal Properties of Spatial-Temporal Data with PLM》。该论文提出了一种基于预训练语言模型(Pre-trained Language Model,PLM)的…...

Ethernet/IP转DeviceNet网关:驱动大型矿山自动化升级的核心纽带
在大型矿山自动化系统中,如何高效整合新老设备、打通数据孤岛、实现统一控制,是提升效率与安全的关键挑战。JH-EIP-DVN疆鸿智能EtherNet/IP转DeviceNet网关,正是解决这一难题的核心桥梁,为矿山各环节注入强劲连接力: …...
Android 11以上App主动连接WIFI的完整方案
早期Android版本App内连接指定的WIFI还是比较简单的,但是随着Android版本的提升,限制也越来越多。以下是一套完整的Android 11以上的WIFI应用内主动连接方案。 第一步:添加到建议连接: val wifiManager getSystemService(WIFI_…...