Google 打算用 QUIC 协议替代 TCP/UDP
有句话叫做一流企业定标准、二流企业做品牌、三流企业卖技术、四流企业做产品。Google 似乎在冲着一流企业的目标迈进。去年,Google 已经从以 SPDY 为基础的 HTTP 协议 16年 来的首个更新 HTTP/2正式定稿中尝到了甜头。最近 Google 又开始考虑更进一步,用改进版的 UDP 协议 QUIC 给 web 提速。根据它近日公布的性能评估,这一融合了 UDP 与 TCP 优势的协议似乎提升效果明显。
QUIC 是 Quick UDP Internet Connection 的简称,是 Google 制定的一种基于 UDP 的低时延的互联网传输层协议。我们知道,TCP/IP 协议族是互联网的基础。其中传输层协议包括 TCP 和 UDP 协议。与 TCP 协议相比,UDP 更为轻量,但是错误校验也要少得多。这意味着 UDP 往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上 TCP。通常游戏、流媒体以及 VoIP 等应用均采用 UDP,而网页、邮件、远程登录等大部分的应用均采用 TCP。

Google 想到能否把这两种协议的优势结合起来,同时实现低时延和高可靠并将其应用到更高安全的协议上,于是就有了 QUIC。
以往典型的安全 TCP 连接(TCP+TLS)往往需要在发送与接收端先进行 2、3 轮的握手通信才能正式开始数据传输。而利用 QUIC 协议,如果双方此前通信过的话马上就可以对话(即便双方此前未通信过时延也只有 100 毫秒,是 TCP+TLS 用时的 1/3)。此外,QUIC 还增加了拥塞控制和自动重传等功能,所以可靠性上要比 UDP 更高。
从目标来看,QUIC 跟 SPDY(HTTP/2 基础)很多方面是类似的,但是后者仍然基于 TCP,所以仍然会存在部分相同的时延问题。
不过这样也许你会问为什么 Google 不干脆改进 TCP?根据 Google 的解释,不这么做的原因是 TCP 往往直接内置到了操作系统内核当中,这是 Google 所无法控制的。所以他们就拿 UDP 改良版来开刀,以期更快地测试性能改进效果。

Google 从去年开始就已经在 Chrome 浏览器上进行了实验,实际上目前 Chrome 到 Google 服务器的请求当中大概有一半已经在采用 QUIC 协议。数据表明 75%的连接均可利用 QUIC 的优势,哪怕预先建立的优化连接(Google 搜索)采用 QUIC 后页面加载性能仍然能提高 3 个百分点。而时延严重的一些 web 应用,在采用 QUIC 后的改进效果则要更加明显。比如有用户报告 YouTube 重新缓冲次数减少了 30%。
Google 希望 QUIC 的性能得当证明后能够移植到 TCP 和 TLS 上面,称未来打算将 HTTP2-over-QUIC 作为新的协议提交给 IETF。但是这显然需要与 IETF 的配合以及长期努力。这一套路跟 SPDY 很像,都是以 Chrome 为跳板展现协议原型和效果,然后再提出作为协议草案,但结果尚待观察。
Google 打算用 QUIC 协议替代 TCP/UDP的更多相关文章
- 网络协议HTTP TCP/UDP 浏览器缓存 Restful(十)
一 TCP网络协议 1 建立TCP连接:三次握手原则 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三次握手的一部分.客户端把这段连接的序号设定为随机数 A. 服务器端应当为一个合法的SY ...
- 31.网络协议介绍tcp/udp
网络协议 TCP:网络中传输数据的协议,打电话 解决了我可能在网络中找不到别人(数据无法传输到) 保证数据传输的稳定性,可靠性 保证数据的安全性,完整性 对方要有响应 尝试重新发送 UDP:传输数据的 ...
- 传输层协议之TCP/UDP
1.UDP UDP协议是面向无连接的,即不需要在正式传递数据前先链接双方,UDP协议只是数据报文的搬运工,不保证有序且不丢失的传递到对端,且UDP协议无任何控制流量的算法,UDP相对于TCP更加轻便. ...
- Google将向IETF标准提交QUIC协议提案
Google近期宣布,他们将向IETF提交实验性传输层网络协议QUIC的提案.此外,Google已经给出了QUIC协议优化页面加载时间的第一手数据. 自从2013年引入QUIC以来,Google一直在 ...
- IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式
IP协议头IP包头格式: 1.版本号:4个bit,用来标识IP版本号.这个4位字段的值设置为二进制的0100表示IPv4,设置为0110表示IPv6.目前使用的IP协议版本号是4. 2.首部长度:4个 ...
- Java 网络编程(二) 两类传输协议:TCP UDP
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951841.html 两类传输协议:TCP,UDP TCP TCP是Transfer C ...
- 网络协议-网络分层、TCP/UDP、TCP三次握手和四次挥手
网络的五层划分是什么? 应用层,常见协议:HTTP.FTP 传输层,常见协议:TCP.UDP 网络层,常见协议:IP 链路层 物理层 TCP 和 UDP 的区别是什么 TCP/UDP 都属于传输层的协 ...
- 运输层协议:TCP和UDP
运输层简介 运输层的通信实体不再是主机,而是主机中的进程.运输层的通信是一台主机的进程和另一台主机的进程进行数据交换. 运输层作用 运输层向上层的应用层提供通信服务 运输层为进程提供端到端的通信 运输 ...
- TCP/UDP端口列表
http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表 本条目可通过翻译外语维 ...
随机推荐
- 第37讲 谈谈Spring Bean的生命周期和作用域
在企业应用软件开发中,Java 是毫无争议的主流语言,开放的 Java EE 规范和强大的开源框架功不可没,其中 Spring 毫无疑问已经成为企业软件开发的事实标准之一.今天这一讲,我将补充 Spr ...
- centos安装完php-fpm、nginx后访问网站出现权限问题
nginx.conf www.conf 这两个文件上面改用户为www. 如果不知道自己的配置文件位置问题,使用命令查找文件位置: find / -name 'nginx.conf' -print 添加 ...
- Petrozavodsk Summer-2016. Warsaw U Contest, XVI Open Cup Onsite.
Petrozavodsk Summer-2016. Warsaw U Contest, XVI Open Cup Onsite. Problem A. Gambling Problem B. Colo ...
- IK的整个分词处理过程
首先,介绍一下IK的整个分词处理过程: 1. Lucene的分词基类是Analyzer,所以IK提供了Analyzer的一个实现类IKAnalyzer.首先,我们要实例化一个IKAnalyzer,它有 ...
- swt java 内嵌ActiveX控件
这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX. 具体用法如下: //创建一个OleFra ...
- 43个实例xHTML+CSS(DIV+CSS)网页及导航布局
在中国,很多前端开发初学者都会把xHTML+CSS页面制作说成DIV+CSS,甚至很多人都还不知道xHTML+CSS是什么意思,只知道盲目的追求DIV+CSS,但在国外,是没有DIV+CSS这个概念的 ...
- window下apache2.2配置多个tomcat使用不同二级域名,共用80端口
思路:分3步, 1,安装apache服务器httpd-2.2.25-win32-x86-no_ssl.msi,安装tomcat 2,配置tomcat默认访问的项目,配置apache服务器 3,测试 第 ...
- iOS 工程实现native 跳转指定的Flutter 页面
概要 在前一篇文章中我们提到,iOS跳转到Flutter工程指定页面时(多个),Flutter只有单例,设置setInitialRouter 无效,如下 let flutterViewControll ...
- Hive中SQL查询转换成MapReduce作业的过程
- JS对象 返回/设置年份方法 get/setFullYear() 返回/设置年份,用四位数表示。.顺序格式依次为:星期、月、日、年、时、分、秒、时区。(火狐浏览器)
返回/设置年份方法 get/setFullYear() 返回/设置年份,用四位数表示. var mydate=new Date();//当前时间2014年3月6日 document.write(myd ...