第三媒体软件中心软件网络资讯软件资讯 → 蓝汛: CDN更快一步,蓝汛QUIC协议的应用与测试! TTL

蓝汛: CDN更快一步,蓝汛QUIC协议的应用与测试!

上传:rimaki     来源:信息存储服务     日期:2018-10-26

[摘要]  
   CDN 行业的技术出发点就是把用户访问网站业务的时间缩短,再缩短。因此,CDN服务商都尽可能把服务节点部署到离最终网民接近的网络节点上。除了从系统部署方式上提高网民访问的速度,减少网络传输的时间之外,在网民用于访问网站的网络协议上也在不断地演进变化
 
[正文]    

   CDN 行业的技术出发点就是把用户访问网站业务的时间缩短,再缩短。因此,CDN服务商都尽可能把服务节点部署到离最终网民接近的网络节点上。除了从系统部署方式上提高网民访问的速度,减少网络传输的时间之外,在网民用于访问网站的网络协议上也在不断地演进变化。本文将根据蓝汛对QUIC协议的应用和测试经验,在该协议的开发、配置和启动等技术环节进行分享。

  由SPDY到HTTP/2

  2009年,Google在 “Make the Web faster” 的目标下,针对HTTP协议提出了SPDY。当时,提出SPDY的目标是在HTTP基础上,将页面加载的速度提高50%,同时也将部署未来新的应用协议的复杂性降低。

  SPDY被证明是成功的,因为它在以下4个方面提升了整体的性能:

  多路复用:通过同一个域名使用1个或者相对于HTTP/1.1更少的TCP连接数,SPDY避免了头部阻塞(HOL),同时由于减少了TCP连接,也就降低了新开TCP连接的系统开销。

  头部压缩:通过对HTTP Header中反复发送的字段进行压缩,通过SPDY之后,请求头和响应头的体积都大大减小。

  请求的优先级区分:高优先级的资源被优先请求,因此,对于页面解析的关键元素也就被优先下载展示。

  Server Push / Server Hint: Server Push 在用户端还没有请求的前提下,由服务端推送相关内容给用户端;Server Hint是在服务端将一些资源标记了优先级,用户端在请求的时候可以根据目前的带宽情况(限制情况)决定是否下载。

  因为SPDY在针对HTTP/1.x上性能的提升,IETF HTTP 工作组基于SPDY通过HTTP/2来优化HTTP协议。

  HTTP/2 借鉴了SPDY的优化策略和思路,然而,两者之间也有不同点:

  HTTP/2和SPDY的主要区别在于头部压缩的算法: HTTP/2使用的是HPACK压缩的方式,而SPDY使用的是DEFLATE方式压缩。

  尽管如此,HTTP/2和SPDY还都是基于TCP作为连接层的基础,因此,性能的提升都是在同一个基础之上的。TCP协议饱受诟病的那些拥塞和丢包处理的方式影响着它们的性能发挥。

  由TCP到UDP,QUIC的提出

  QUIC 是(Quick Udp Internet Connection)的首字母缩写。是由 Google 提出的使用 UDP 进行多路并发传输的协议。

  QUIC相比上文中 TCP+TLS+HTTP/2 组合有如下优势 :

  减少了 TCP 三次握手及 TLS 握手时间。

  改进的拥塞控制。

  避免队头阻塞的多路复用。

  连接迁移。

  前向冗余纠错。

  根据Jana Iyengar在2016年IETF柏林会议上针对QUIC的架构(如下图)采用QUIC采用UDP替代TCP实现的传输方式相对于TCP+TLS+HTTP/2的架构有了很大的变化。

  目前看,早期在Google应用QUIC协议的业务效果相当不错,93%的业务没有因为QUIC应用不成功而回滚到原先架构;应用QUIC协议的业务降低 了5%的页面加载时间,而Youtube应用QUIC后,播放中再缓存降低了30%。

  QUIC开发和测试

  QUIC测试开发环境搭建:目前国内有的厂商已经在部分应用平台使用了QUIC协议,然而,支持QUIC的公有云目前还都没有。因此,我们如果需要测试QUIC的应用和平台,还需要自己进行搭建。下面,就将我们在内部进行QUIC初期测试时候的经验分享给大家。

  Chrome浏览器打开QUIC:搭建一个最简单的实验环境,我们需要一个支持QUIC的server端和支持QUIC的客户端。

  支持QUIC的客户端,最简单直接的方式就是采用Chrome浏览器。通常而言,Chrome浏览器还没有打开QUIC协议的支持,因此,需要通过以下步骤来操作:

  在Chrome地址栏输入chrome://flags访问实验性的功能开关

  在页面中搜索QUIC关键字

  将QUIC的开关由“Default”变为“Enable”

  重启Chrome

  QUIC协议打开后,要检视相关的连接和配置需要通过在Chrome浏览器地址栏输入chrome://net-internals/#quic 来打开相关的页面。

  由这个截图,我们可以看到,目前chrome(69)的QUIC版本是v43,这是个相当新的版本,当然也会对QUIC的server端选择造成困扰。

  Caddy Server支持QUIC:Caddy 和我们常用的Apache、Nginx一样,是一个Web Server,而且是使用go语言开发的。相对于后两者,它具备以下一些优点:

  内建对HTTP/2的支持

  对Let'sencrypt的支持

  对QUIC支持

  对多核系统的支持

  易于部署

  对IPv6的支持

  其中第2、第3点是满足我们后面的实验的重要功能需求。

  安装Caddy server

  我们采用的是Centos7系统,安装Caddy使用直接从getcaddy.com直接拉取编译好的版本:

  $ curl -s https://getcaddy.com | bash

  脚本执行的过程中,需要提供sudo权限让caddy程序安装到/usr/local/bin目录下。

  等脚本执行完我们需要为caddy创建一个没有登录权限的用户,如“caddy”:

  $ sudo adduser -r -d /var/www -s /sbin/nologin caddy

  然后我们要建立www的目录,配置文件caddyfile的目录,及其他一些相关权限:

  $ sudo mkdir /etc/caddy

  $ sudo chown -R root:caddy /etc/caddy

  $ sudo touch /etc/caddy/Caddyfile

  $ sudo mkdir /etc/ssl/caddy

  $ sudo chown -R caddy:root /etc/ssl/caddy

  $ sudo chmod 0770 /etc/ssl/caddy

  $ sudo mkdir /var/www

  $ sudo chown caddy:caddy /var/www

  配置caddy的系统服务

  由于我们使用的是Centos 7,使用的是systemd管理系统服务。方便的是,caddy的systemd服务脚本可以从以下地址下载:

  $sudo curl -s

  https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service-o /etc/systemd/system/caddy.service

  我们需要修改一下caddy的service文件:

  /etc/systemd/system/caddy.service当中User和Group信息,将它们改为caddy:

  ; User and group the process will run as.

  User=caddy

  Group=caddy

  reload一下,以使修改生效:

  $ sudo systemctl daemon-reload

  现在,在启动caddy之前,我们还需要配置一下Let'sencrypt的自动TLS。

  配置Let's encrypt自动TLS

  要通过Caddy使用Let'sencrypt的自动TLS,要满足以下条件:

  Caddy需要绑定443端口,同时,这个端口要从外网可访问

  Caddy HTTP只能设定为80端口,同时,TLS不能从caddy的配置里关掉

  Caddy里面的server设置的域名必须是真实可解析的域名,不能使localhost,证书将绑定这个域名

  Caddy必须设定用于私钥恢复的邮件地址

  我们来配置/etc/caddy/Caddyfile来满足要求:

  假设我们的域名是quictesting.net,那么我们的配置文件可以是这样:

  quictesting.net {

  root /var/www

  gzip

  tls admin@quictesting.net

  }

  别忘了在/var/www下面放上一个index.html文件,比如Hello World 。

  $ sudo systemctl restart caddy

  启动Caddy,然后我们再使用Chrome来访问,可以观察header信息:

  说明Let'sencrypt的HTTPS已经起作用了。然而,这个时候,QUIC还没有启动呢。

  启动Caddy QUIC

  通过修改systemd的服务启动选项来启动QUIC服务。

  别忘了reload daemon以保证配置生效。这时候,我们再用chrome来访问,看看header的变化。发现在响应头多了一行:

  表明Caddy现在系统的QUIC版本是39。因此,这个时候,我们用Chrome去看QUIC信息,发现没有active connection,原因就在于此。

  解决方案:关于升级Caddy 使用的libquic,我们将在下期CC-Tech与您分享。

   (新闻稿 2018-10-26)


频道首页 】【 评论 】 【 打印 】 【 字体:
   上一篇:Teamviewer远程控制 被连接强制断开,咋回事?
   下一篇:中国智能生态创新大会,手机迅雷获年度最佳生活应用奖
导航:报价 | 大全 | 排行榜 | 产品大全 | 参量 | 订阅 
 Advertisement
 十大最受关注的新闻
1  苏宁极物智能云锁开启预约,下单加赠苏宁小Biu音箱
2  Nox: 市场巨变,小游戏成海外成熟市场新红利?
3  荣耀手环4Running版再度售罄,第三轮销售火爆预约中
4  国庆献礼AG电游 首届PP电子游戏锦标赛精彩纷呈
5  卡萨帝空气洗产品,开创家电“体验服务”时代!
6  星联赛热潮迭起 ,电竞界的明日之星究竟是谁?
7  迭代出的卡萨帝空气洗:一个品类占据76.6%的市场份额
8  卡萨帝空调: 卡萨帝将奢侈品概念融入家用空调!
9  空气持久清新!苏宁极物小新智能新风机火热开售
10  K12教育市场迎来井喷 中美两国上市公司跨行业趋势明显
 十大热门驱动/软件下载
1  [手机驱动]手机usb万能
2  [热门常用软件]QQ2008正式版下载【腾讯QQ2008官方版Beta1】
3  [热门常用软件]E话通下载【E话通4.5 正式版】
4  [手机驱动]Samsung三星 手机USB驱动1.0版For Win98SE/ME/...
5  [手机驱动]Microsoft微软 ActiveSync同步软件4.5中文版Fo...
6  [摄像头驱动]万能摄像头 FOR Windows
7  [热门常用软件]皮皮播放器下载【PPFilm皮皮播放器 2.1.0....
8  [手机驱动]诺基亚 PC套件下载
9  [热门常用软件]面对面游戏下载【面对面视频游戏大厅】
10  [手机驱动]Microsoft微软 Windows Mobile Device Center ...
 十大最受关注的品牌
1  三星手机(SAMSUNG)
2  诺基亚手机(NOKIA)
3  华硕笔记本(ASUS)
4  摩托罗拉手机(MOTOROLA)
5  英特尔CPU(Intel)
6  华硕主板(ASUS)
7  LG手机(LG)
8  索爱手机(Sony Ericsson)
9  联想笔记本(lenovo)
10  宏碁笔记本(acer)
 十大热门常用软件下载
1  QQ2008正式版下载【腾讯QQ2008官方版Beta1】
2  E话通下载【E话通4.5 正式版】
3  皮皮播放器下载【PPFilm皮皮播放器 2.1.0.2版】
4  面对面游戏下载【面对面视频游戏大厅】
5  DVD解码器下载【NVIDIA DVD Decoder 1.02】
6  迅雷5下载【迅雷5.8.1.507官方版】
7  QQ2007 II正式版下载【腾讯QQ2007官方版本】
8  QQ2006正式版下载【腾讯QQ2006官方版本】
9  联众世界游戏大厅下载【联众世界2.7.0.8官方版】
10  MTV下载器【MTV下载精灵 8.31版】
11  pplive最新版下载【PPLive网络电视V1.9.35版】
12  迅雷(Thunder)下载【迅雷v5.7.12.493官方版】
13  腾讯QQ2008下载【腾讯QQ官方版2008极速贺岁版KB1】
14  Total Video Converter下载【Total Video Converter v3.1...
15  QQ拼音输入法下载【腾讯QQQQ拼音输入法V1.4.1版】
16  皮皮高清影视播放器下载【PIPIPlayer 2.7.0.3版】
17  eMule下载【电驴eMule官方v0.49a正式版】
18  极点五笔输入法下载【极点五笔6.1标准版】
19  QQ2009正式版下载【腾讯QQ2009 SP4官方版】
20  Vagaa哇嘎画时代版下载【哇嘎 2.6.5.10】
   >> 查看评论   
 
   >> 查看更多评论   [共有0条评论]
发表评论
        
        
   点评:
   姓名:  
            字数: 0
     
新闻精选
·优音通信牵手中国人寿天津分公司 ,互利共赢
·下载王者归来 为什么我给迅雷X五星推荐!
·中国智能生态创新大会,手机迅雷获年度最佳生
·净利润同比增长 TCL集团盈利持续提升核心优势
·腾讯投资加强产业互联网布局 兴趣内容基金公
·彩云小译APP秘密武器而生 免费翻译中日英文档
  ·源自赛道 赛麟汽车展示先进技术力量
·开放AI能力,QQ浏览器识你所见助力行业“智”
·互联网金融,网贷出借与投资理财风险识别规避
·震惊!天猫精灵竟然用这种黑科技让传统家电瞬
·达飞云贷平台强化风控本领,助力行业向正规跃
·如果有一天,你爸妈比你先学会用AI技术