首页 > 传媒 > 关键词 > CDN最新资讯 > 正文

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

2018-10-26 17:08 · 稿源:站长之家用户投稿

 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与您分享。

免责声明:“站长之家”的传媒资讯页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与我们联系删除或处理。稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性,更不对您的投资构成建议。我们不鼓励任何形式的投资行为、购买使用行为。

  • 相关推荐
  • 大家在看
  • Chrome正在启用HTTP/3,支持IETF QUIC

    QUIC(Quick UDP Internet Connections)是 Google 推出的一个项目,旨在降低基于 TCP 通讯的 Web 延迟。QUIC 非常类似 TCP+TLS+SPDY ,但是基于 UDP 实现的。它是 HTTP/3 的基础协议。

  • 男子携号转网遭拒协议被延长18年 运营商:协议期是20年

    近日,西安的曹先生称,自己到移动公司携号转网时被告知无法办理,协议期被延长到2038年,注销也不成。曹先生称,自己是18年半的移动卡,办卡的时候花了800元,当时营业员称协议期是两年。今年8月自己到营业厅一查,工作人员称该号码可以携号转网。自己把宽带的盒子还给营业厅之后,收到一条短信称自己的协议被延长到了2038年。

  • 谷歌与诺基亚达成五年云计算协议

    Google Cloud周三宣布已与诺基亚达成了为期五年的云计算协议。作为交易的一部分,诺基亚将其现场IT基础架构(包括数据中心和服务器)迁移到Google Cloud基础架构。两家公司均未透露交易条款。诺基亚的基础架构将在公共云中运行,并且诺基亚向云的迁移已经开始。迁移所有诺基亚现有服务器预计将需要24个月的时间。通过这笔交易,谷歌为其不断增长的客户群增加了另一个全球公认的品牌,这些客户还包括沃尔玛,汇丰,贝宝

  • 圆通:向阿里网络协议转让12%股份事项完成过户登记

    9 月 21 日消息,圆通速递发布公告称,公 司控股股东上海圆通蛟龙投资发展(集团)有限公司(以下简称“蛟龙集团”) 及实际控制人喻会蛟、张小娟(以下合称“转让方”)向阿里巴巴集团内企业阿 里巴巴(中国)网络技术有限公司(以下简称“阿里网络”或“受让方”)协议 转让其所持公司股份 379,179,681 股已于 2020 年 9 月 18 日完成过户登记。

  • 虎牙斗鱼正式签订合并协议 斗鱼将成为虎牙全资子公司

    凤凰网科技讯 (作者/郑媛)10月12日消息,虎牙与斗鱼联合宣布双方已签订“合并协议与计划”。根据合并协议,虎牙将通过以股换股合并收购斗鱼所有已发行股份,包括由美国存托凭证(ADS)所代表的普通股。斗鱼在合并前已发行的股份及ADS将取消,斗鱼将成为虎牙私有全资子公司,并将从纳斯达克退市。若合并完成,虎牙现任CEO董荣杰和斗鱼现任CEO陈少杰将成为合并后公司的联席CEO,陈少杰也将成为虎牙董事会第十名成员。直播平台斗鱼?

  • 搜狗签订最终私有化协议 将成为腾讯间接全资子公司

    今日晚间,搜狗发布公告称,宣布签订最终私有化协议,预计该笔交易将在 2020 年第四季度完成,合并完成后,搜狗将成为腾讯的间接全资子公司。

  • 恺英网络:子公司与腾讯签署《<玄中记>独家代理协议》

    9月22日消息,恺英网络对外发布公告称,控股子公司嘉兴盛游与深圳市腾讯计算机系统有限公司签署《独家代理协议》。合同期限为合同生效日开始,截至授权产品商业化上线满3年。公告称,嘉兴盛游把《玄中记》(暂定名,以下简称“授权产品”)的移动终端版本游戏的独家代理权授予腾讯计算机,借助腾讯计算机在游戏推广与服务方面的经验和优势,为《玄中记》搭建良好的推广及运营平台。鉴于腾讯计算机目前在中国大陆地区的

  • 圆通速递:向阿里网络协议转让12%股份事项完成过户登记

    圆通速递发布公告称,公 司控股股东上海圆通蛟龙投资发展(集团)有限公司(以下简称“蛟龙集团”) 及实际控制人喻会蛟、张小娟(以下合称“转让方”)向阿里巴巴集团内企业阿 里巴巴(中国)网络技术有限公司(以下简称“阿里网络”或“受让方”)协议 转让其所持公司股份 379,179,681 股已于 2020 年 9 月 18 日完成过户登记。蛟龙集团、喻会蛟、张小娟与阿里网络于 2020 年 9 月 1 日签署《股份转让?

  • 英伟达CEO黄仁勋承诺签署保护协议 将ARM总部留在英国

    9月21日消息,据国外媒体报道,半导体厂商英伟达CEO黄仁勋已承诺,他将签署具有法律约束力的保护协议,将芯片设计公司ARM的总部留在英国,并保留ARM在英国的工作岗位。黄仁勋表示,只要ARM的员工愿意在英国工作,该公司的总部就将留在英国。他补充称,英伟达将增加ARM剑桥总部的员工数量,但并未承诺将增加工作岗位数量。此前,软银集团和英伟达宣布,双方已达成确定性协议。软银将把ARM出售给英伟达,交易价值为400亿

  • 文思海辉与大理州政府签署战略合作协议

    9 月 28 日,云南省信息技术应用创新(大理)产业园揭牌暨企业入驻签约仪式成功举办,中国电子及其旗下多家企业正式签约入驻。其中,文思海辉同大理白族自治州政府就推动大理数字经济的转型发展正式签署战略合作协议。未来,双方将围绕数字金融公共服务平台和面向两亚的智能多语言服务平台的建设开展相关合作。云南省政府副省长董华,云南省政府副秘书长黄小荣,云南省工业和信息化厅厅长洪正华,国家工业信息安全发展研究中心副?

  • 搜狗宣布已就私有化交易达成最终协议,搜狐盘前股价大涨

    9月29日,搜狗发布公告称,已就私有化交易达成最终协议。预计该笔交易将在 2020 年第四季度完成,合并完成后,搜狗将成为腾讯的间接全资子公司。在这消息公布之后,搜狐在美股的股价就出现盘前大涨情况,截至发稿时已上涨超过16%。

  • Alchemy与QFpay签署唯一相互合作协议

    (内容翻译自:雅虎财经专题报道-Alchemy与QFpay签署《全球数字货币与法定货币唯一相互合作协议》)前有社交巨头Facebook发行加密货币LIBRA,后有JP MORGAN、高盛等金融机构涉足区块链领域,美国第四大银行富国银行近日宣布将要开发加密货币并与美元挂钩,又一巨头入场再次把数字货币推向高潮,加密货币市场不断增长,意味着数字货币支付市场愈来愈大。在这样的形势下,谁能够推陈出新,抓住机遇,无疑就占领了先机,在加密支付领?

  • NVIDIA CEO黄仁勋承诺签署法律协议:明确ARM总部留在英国

    据外媒报道,NVIDIA创始人兼CEO黄仁勋承诺,愿意签署对ARM具有法律约束力的保护协议。黄仁勋表示,只要ARM员工愿意在英国工作,其总部就会留在英国。他补充称,英

    ARM
  • 梦网集团:梦网科技与中兴通讯签署战略合作框架协议

    10月16日消息,梦网荣信科技集团股份有限公司(以下简称“公司”或“梦网集团”)对外发布公告称,下属子公司深圳市梦网科技发展有限公司(以下简称“梦网科技”)近日与中兴通讯股份有限公司(以下简称“中兴通讯”)签署了《战略合作框架协议》(以下简 称“合作协议”),双方本着“共同发展,合作共赢”的原则,同意充分发挥各自领域的人才、技术及市场等资源优势,进行广泛战略合作,建立战略合作伙伴 关系。双方

  • 上海与阿里巴巴、蚂蚁集团签署战略合作协议

    今日,网信上海公众号发文称,上海与阿里巴巴集团、蚂蚁集团昨天在沪签署战略合作协议。此次签约后,上海市和阿里巴巴集团、蚂蚁集团将围绕在线新经济、数字新基建、金融科技、跨境业务、数字生活、云上会展等方面开展合作

  • 离电池量产更近一步:特斯拉与澳洲公司达成五年锂矿石供应协议

    9月28日消息,据国外媒体报道,周一,澳大利亚锂矿生产商Piedmont Lithium(以下简称Piedmont)宣布,它已与电动汽车制造商特斯拉签署了一份为期五年的供应协议。根据协议条款,Piedmont将通过其位于北卡罗来纳州的矿场为特斯拉供应高纯度锂矿石。据悉,该公司计划每年在其位于北卡罗来纳州的矿场生产16万吨锂辉石精矿,其中约三分之一将供应给特斯拉,最初供应期限为五年,但两家公司可以选择将合同延长5年,交付时间

  • 搜狗与腾讯签订私有化协议 搜狐将获益11.8亿美元

    9月30日消息,搜狗及其母公司搜狐分别发布公告,搜狗已与THL A21 Limited、TitanSupernova Limited和Tencent Mobility Limited签署最终的私有化协议。搜狗股票将以每股或每ADS9美元被注销,预计交易将在2020年第四季度完成。根据私有化协议,腾讯附属的TitanSupernova Limited将以全现金交易的方式与搜狗合并,合并后,搜狗将成为腾讯的间接全资子公司。另,搜狗母公司搜狐已同意将其持有的搜狗全部A类普通股和B类普通

  • 与特斯拉签署锂矿石供应协议后 Piedmont周一收盘上涨236.36%

    9月29日消息,据国外媒体报道,在宣布与电动汽车制造商特斯拉签署了一份为期五年的供应协议后,澳大利亚锂矿生产商Piedmont Lithium(以下简称Piedmont)的股价在当地时间周一美股收盘时上涨236.36%,报收于37美元。当地时间周一,Piedmont宣布,它已与特斯拉签署了一份为期五年的供应协议。根据协议条款,该公司将通过其位于北卡罗来纳州的矿场为特斯拉供应高纯度锂矿石。据悉,该公司计划每年在其位于北卡罗来纳州的

  • 神州租车:全资附属公司与宝沃中国及宝沃厦门订立采购框架协议

    9月25日消息,神州租车发布公告称,于2020年9月24日,公司的间接全资附属公司神州租车北京与宝沃中国及宝沃厦门订立采购框架协议,内容有关其向宝沃中国及宝沃厦门采购汽车零件。公告显示,宝沃中国及宝沃厦门均为北京宝沃的全资附属公司,而北京宝沃则为本公司主要股东神州优车的非全资附属公司。于本公告日期,神州优车通过其附属公司于442,656,855股本公司股份中拥有权益,占本公司已发行股份总数约20.86%。因此,?

  • 山东省政府与腾讯签订战略合作协议,共建“数字山东”

    9 月 23 日下午,山东省人民政府与深圳市腾讯计算机系统有限公司在济南签署战略合作协议。在山东省委副书记、省长李干杰、腾讯集团高级副总裁奚丹出席见证下,山东省副省长孙继业和腾讯集团副总裁刘勇分别代表双方进行战略合作签约。根据协议,双方将充分利用移动互联网、物联网、大数据、云计算、人工智能、区块链等先进信息技术,在数字政府建设、数字经济发展、数字社会构建、数字平台搭建等方面深化合作。助力 山东新旧动能转?

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签

热文

  • 3 天
  • 7天