写点什么

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

2014 年 2 月 25 日

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 年 2 月 25 日 02:176168
用户头像

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

关注

评论

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

Netty引导器Bootstrap学习笔记

风翱

Netty 5月日更

ES_her0

5月日更

(深入篇)漫游语音识别技术—带你走进语音识别技术的世界

攻城先森

深度学习 音视频 语音识别 5月日更

Golang 程序实体

escray

go 极客时间 学习笔记 5月日更 Go语言核心36讲

《01|导读:背景知识对于理解文章究竟有多重要?》内容复习

IT蜗壳-Tango

5月日更

学习笔记之:孩子学习老是跑?日更好“难”

Nydia

学习笔记

架构训练营模块4作业

Geek_649372

架构训练营

全国大学生物联网设计竞赛(华为杯)巡回技术讲座“八校联动”,HarmonyOS与校园开发者面对面

科技汇

k8s POD hosts 文件怎么与主机保持同步那?

Geek_f24c45

Docker Kubernetes

企业数字化转型分为三个阶段

石云升

数字化 5月日更

谈一谈“数字资产”

小天同学

思考 数字时代 5月日更 数字文物 数字内容

测试开发需要掌握哪些技术?

夏兮。

方法论 测试 CI/CD automation 语言 & 开发

【LeetCode】罗马数字转整数Java题解

HQ数字卡

算法 LeetCode 5月日更

MySQL数据库学习笔记(1)

lenka

5月日更

什么是线程安全?一文带你深入理解

程序猿阿星

线程安全 信号量 线程同步 互斥锁

Redis - 列表

旺仔大菜包

redis

开源流媒体服务器SRS学习笔记 - 安装、推流、拉流

赖猫

音视频 SRS SRS流媒体服务器

从 Netflix 到 Alibaba,Spring Cloud 更好了吗?

博文视点Broadview

实时语音如何过质量关?

cv君

深度学习 AI 算法 质量 语音

后悔:要是当初那样就好了

石云升

思维方式 5月日更 后悔 人生选择

架构实战营 - 模块 4- 作业

请弄脏我的身体

架构实战营

数据挖掘从入门到放弃(二):决策树

数据社

机器学习 5月日更

高性能JavaScriptの笔记(二)

空城机

JavaScript 大前端 前端性能优化 5月日更

🚀【高并发技术专题】你需要了解的秒杀方案

李浩宇/Alex

高并发系统设计 高并发优化 5月日更

前端开发:Mac电脑安装NVM报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

三掌柜

5月日更

实时音视频通讯过程中声音的那些事儿

liuzhen007

音视频 5月日更

项目管理学习到的教训

胡迪伦

项目管理

DDD这样落地

码农戏码

DDD

领域驱动设计101 - 实体

luojiahu

领域驱动设计 DDD

[Netty]- Reactor实现

topsion

reactor Netty io nio

带你认识时域、频域与Android系统Visualizer

Changing Lin

音视频 5月日更

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

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