东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

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:176603
用户头像

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

关注

评论

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

大数据ELK(十六):Elasticsearch SQL(职位查询案例)

Lansonli

ES 10月月更

UData查询引擎优化-如何让一条SQL性能提升数倍

京东科技开发者

sql 数据 查询引擎 数据服务 udata

预约直播 | 流批一体机器学习算法平台Alink介绍及应用

阿里云大数据AI技术

深度学习

软件测试 | 测试开发 | 基于 JMeter 完成 Dubbo 接口的测试

测吧(北京)科技有限公司

测试

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

鳄鱼视界

观测云正式加入openGauss社区

openGauss

软件测试 | 测试开发 | 毕业 2 年,涨薪 100%,从创业小团队到某中厂测试开发(附面试真题)

测吧(北京)科技有限公司

测试

思特奇加入openGauss开源社区,共同推动数据库产业生态发展

openGauss

数据库 开源社区

要求必须使用强密码

源字节1号

九鑫智能正式加入openGauss社区

openGauss

面试官:说说你对事件循环的理解

CoderBin

JavaScript 前端 Promise Vue 3 10月月更

C++学习---cstdio的源码学习分析07-重新打开文件流函数freopen

桑榆

源码刨析 10月月更 C++

云和恩墨:让商业数据库时代的价值在openGauss生态上持续繁荣

openGauss

软件测试 | 测试开发 | Dubbo 接口测试原理及多种方法实践总结

测吧(北京)科技有限公司

测试

一名在读研究生的自白:我为什么会沉迷于openGauss 社区?

openGauss

空间数据库开源路,超图+openGauss风起禹贡

openGauss

软件测试 | 测试开发 | Python 算法与数据结构面试题系列二(附答案)

测吧(北京)科技有限公司

测试

即时通讯技术周刊(第1期):懒人网络编程系列 [共14篇]

JackJiang

网络编程 即时通讯 IM

openGauss社区理事长江大勇:openGauss联合产业界创新,共建开源数据库根社区

openGauss

开源数据库

openGauss开源2周年,破解数据库生态痛点

openGauss

openGauss社区七月运作报告

openGauss

软件测试 | 测试开发 | 测试面试 | 一道大厂算法面试真题,你能答上来吗?(附答案)

测吧(北京)科技有限公司

测试

.NET现代化应用开发 - CQRS&类目管理代码剖析

MASA技术团队

.net CQRS MASA Framewrok MASA

Arduino ESP32-C3 入门初探

矜辰所致

Arduino ESP32-C3 10月月更 Ard

建木v2.5.6发布

Jianmu

DevOps 持续集成 jenkins CI/CD gitops

阿里P8爆款《SpringBoot+vue全栈开发实战项目》笔记太香了

Geek_0c76c3

Java 数据库 开源 架构 开发

拿到字节跳动offer后,又收到了阿里的面试邀请,二面迎来了P9"盘问"

Geek_0c76c3

Java 开源 程序员 架构 开发

石原子科技正式加入openGauss社区

openGauss

测试管理和领导力秘诀,12+ BAT 大厂测试经理的干货经验汇总

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试开发基础 | Python 算法与数据结构面试题系列一(附答案)

测吧(北京)科技有限公司

测试

仅靠一文便火爆全网!开源阿里绝密Java面试笔记:霸榜GitHub

Geek_0c76c3

Java 数据库 开源 程序员 开发

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