写点什么

Google 期望使用 QUIC 给互联网加速

  • 2014-02-25
  • 本文字数:1018 字

    阅读完需:约 3 分钟

QUIC(Quick UDP Internet Connections,发音’quick’)是一种基于 UDP 的多路传输协议,它的主要目标是实现零往返时间的连接开销。Google 的开发人员 Robbie Shade 在最近的一个视频中对 QUIC 做了介绍,主要有以下特性:

  • 拥有 SPDY 的所有优点(多路传输,支持优先级,等等)
  • 零往返时间连接
  • 数据包同步,有效降低数据丢包率
  • 转发问题连接,有效减少重发延迟
  • 自适应拥塞控制(对 TCP 友好),有效减少移动客户端重新连接的次数
  • 与 TLS 等效的加密措施
  • Chrome 支持与 Google 的 QUIC 通信

QUIC 能够处理传输可靠性、丢包或无序数据包等一系列 UDP 默认未处理的问题。QUIC 的多路传输指协议使用多个通道传输数据,所以当其中一个数据流丢包时,其他的通道并不会因此阻塞等待丢失的数据包,而这会发生在 SPDY 上,因为 SPDY 虽然是多路传输但是只有一个通道。Shade 说,QUIC 的方法解决了 TCP 传输的线端阻塞问题。

使用 QUIC 的一个主要优势是在客户端和服务器首次连接时不需要握手步骤,某种程度上与 TCP 快速开启(TCP Fast Open)类似。TCP 快速开启在 2011 年面世,但是目前尚没有大范围使用。根据 Shade 的说法,采用 TLS 时,在一次跨大西洋的连接中 TCP 握手要耗时 300ms,而 QUIC 可以将延迟降为 100ms。

QUIC 的另一个优势是通信通道的定义基于 ID 而不是 IP+ 端口,这使得切换网络后继续转发连接成为可能,例如从 WiFi 网络进入移动网络。

所有 QUIC 连接都使用特殊的机制进行加密,详见 QUIC 加密文档

当被问到为什么不使用 TCP+TLS,Shade 解释说,虽然 TCP 和 TLS 持续升级,但协议的迭代及部署非常慢,而 QUIC 是部署在客户端级别,而不是在内核级别,这样就能以更快的速度进行迭代,迭代周期由以年计算加速为以周计算。

根据 Shade 的介绍,将来 SPDY 能够运行在 QUIC 之上,使其比现在更好。将来 Google 实际使用 QUIC 的经验和教训可以合并到 TCP 中。

目前用户可以从 Chromium 项目中获取 QUIC 的客户端和服务器,google.com、GMail、YouTube 以及其他 Google 服务都在使用 QUIC。

资源: QUIC 相关视频 QUIC 相关幻灯片 QUIC ——协议的详细文档, QUIC 导线排列标准——线框标准, QUIC 加密 SPDY 指示器扩展

查看英文原文: Google Wants to Speed Up the Internet with QUIC


感谢吴海星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-02-25 02:177015
用户头像

发布了 28 篇内容, 共 11.7 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

PriorityQueue源码-成员变量解析

知识浅谈

Priority Queue 10月月更

数据中台选型前必读:数据中台与大数据平台有什么区别

雨果

数据中台 大数据平台

国产分布式数据库发展趋势与难点

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

聚焦六大典型应用场景,博云金融行业容器解决方案更新发布!

BoCloud博云

云计算 云原生 容器云

数字化背景下,低代码发展的动力和阻力

飞算JavaAI开发助手

java培训机构口碑排名哪家比较好?

小谷哥

React循环DOM时为什么需要添加key

beifeng1996

React

给 SAP BTP 创建的 Java 应用添加 Custom Event Handler 支持创建功能

汪子熙

spring 云原生 Cloud SAP 10月月更

SAST + SCA: 结合使用安全升级

SEAL安全

SCA 安全测试 攻击 SAST 应用安全测试

阿里内部最新发布的并发图册+JDK源码速成笔记,终于解脱束缚了

Geek_0c76c3

Java 源码 程序员 JVM 开发

前端技术培训后的职业规划

小谷哥

自制操作系统系列(三):加载其他文件执行

操作系统

腾讯云继续加码布局云原生,将披露全新产品战略

科技热闻

React组件之间的通信方式总结(下)

beifeng1996

React

react高频面试题自测

beifeng1996

React

开源无国界,从openEuler Maintainer到Spark Committer的贡献开源之路

openEuler

spark 开源 openEuler

流程引擎的架构设计

京东科技开发者

架构设计 报表 workflow BPM 流程引擎

分享一个好问题:企业为什么要区分数据中台和数据平台?

雨果

数据中台 大数据平台

量化与科技的相遇!亚马逊云科技揭开神秘的量化私募

Lily

深度解析:智能合约DAPP(bsc)币安链系统项目开发解决方案

I8O28578624

带你认识JDK8中超nice的Native Memory Tracking

华为云开发者联盟

开发 华为云

华为云确定性运维,为政务云平台稳定可靠运行保驾护航

华为云开发者联盟

云计算 华为云 政务云 企业号十月PK榜

32天高效突击:狂刷《Java权威面试指南(阿里版)》,offer拿到手软

Geek_0c76c3

Java 数据库 开源 程序员 架构

web前端开发培训学习后的就业方向

小谷哥

【LeetCode】合并两个有序链表Java题解

Albert

算法 LeetCode 10月月更

资源成本降低80%!Serverless云函数的弹性架构实践

极客天地

全网首发“Java面试考点大全”,25+专题梳理:JVM+多线程+Spring全家桶+MySQL+Redis等

Geek_0c76c3

Java 数据库 开源 程序员 开发

web丨nft元宇宙链游项目系统开发模式逻辑详细(成熟源码)

I8O28578624

单刷 3 届 Hackathon,朝着理想中的数据库出发丨TiDB Hackathon 选手访谈

PingCAP

TiDB

使用Mask R-CNN模型实现人体关键节点标注

华为云开发者联盟

人工智能 华为云 mask 企业号十月 PK 榜

Google期望使用QUIC给互联网加速_Google_Abel Avram_InfoQ精选文章