全站加速(DCDN)-IPA是阿里云自主研发四层加速产品,它基于TCP/UDP的私有协议提供加速服务,包括解决跨运营商网络不稳定、单线源站、突发流量、网络拥塞等诸多因素导致的延迟高、服务不稳定的问题,提升传输性能和用户体验。

IP应用加速架构如下图所示,首先,全球用户就近接入边缘节点,通过阿里云的智能调度系统接入二级节点,中间采用传输协议优化和路由优化,选取最快、最优的路径。最后,二级节点到源站则选择相同运营商进行回源。

在架构中也会使用CDN一些比较成熟的组件,包括调度系统、管控平台、数据监控、IP地址库及日志采集等服务。

同时,在实际加速过程中,IP应用加速通过“就近接入、传输优化、智能路由”三大技术能力提供更极致的加速体验。其中就近接入与CDN加速原理一致,传统静态CDN的就近接入与缓存是实现加速的主要手段,将用户的访问就近解析到离用户最近的CDN节点,利用访问CDN节点上的缓存内容来实现加速的效果。但是对于动态加速来说,就近接入可以理解为一个就近上车的动作。传输优化在CDN场景中是一个基础的手段,包括单边加速和双边加速,传输优化可以为用户提供更稳定、高效的传输。而智能理由则是动态加速场景中是核心的技术。下面依次对这三个技术点进行解读。

就近接入

下图是一个典型的CDN通过域名方式就近解析、就近接入的方式。在现有的CDN加速系统中,如果用户在CDN上注册一个域名,CDN会返回给用户一个CNAME地址,用户把CNAME地址加入到自己的DNS server之上,通过这样的方式,用户在请求的时候,就会递归查询到CDN的GLB上,GLB会根据用户的localDNS、IP、地理位置、运营商等信息,选择一个就近的CDN节点提供接入。这是通过DNS方式就近接入的典型例子,目前IP应用加速已经实现了标准了DNS-CNAME、HTTPS、HTTPDNS的接入。

在接入的过程中,就近接入想达到足够好的效果,IP地址库以及资源的优势是非常重要的。如果IP地址库不准,LocalDNS会被识别到错误的地方或者运营商,那访问就可能跨省跨运营商,达不到加速的目的。如果没有足够的资源覆盖,也很难做到稳定的调度,这样就近接入可能也难以达到理想效果。

传输优化

TCP协议是典型的基于丢包或异常延迟来识别网络拥塞的传输协议,它的特征包括拥塞控制算法,如果发生了丢包,吞吐率会急剧下降,系统会认为它是拥塞,发送窗口减小(半),这是标准的TCP的行为。所以在客户端到源站之间一旦发生丢包,吞吐率会极大下降

如果在客户端和源站之间加入Proxy,问题就会缩小到局部,用户和服务器不会感受到发送数据的显著变化。同时,在长RTT的网络环境中,Proxy会使长链路分割成短链路,每个数据包的确认也会变得更短,拥塞窗口的恢复会变得更快,对于提升整体吞吐率也有帮助。

除了TCP Proxy外,在内部协议优化上也进行大量实践。比如通过改进拥塞控制,区分随机丢包还是拥塞丢包来使用更优的重传策略,来提升传输效率;使用多种传输协议,私有协议、多路传输技术以及冗余的传输手段,达到更高的传输速率和可靠性;另外内部传输也采用了更好的异常感知的技术,能够快速加速网络传输过程中的异常并在网络层面切换,实现对上层业务的透明。

下图是在持续丢包的场景下的测试数据,阿里云自研的TCP传输协议比现在最新的bbr算法效果更优。

智能路由

如果真的链路上出现了拥塞,这时就需要采用智能路由技术。它的本质是有效预测网络中的拥塞,并且实时切换。另外备份的策略有次优的路线选择,以此保障对上层业务的影响最低。

实际上智能路由算法中,需要考虑的问题非常多。比如要考虑链路的质量、节点的复杂、相关服务器的能力、节点水位、负载均衡、成本等问题,比如在转发的过程中,需要根据现实情况来判断用DGP或多线路进行接入,来满足同运营商回源。在负载均衡方面,还要考虑地域、运营商、源站的优先级等策略。在实际网络质量的评估过程中,我们会用到多层次、多维度实施网络探测,避免源站探测风暴。同时,也要考虑在突发流量汇聚情况下如何实现过载保护。在众多约束条件下,选取最短最优路径有相当大的技术挑战。

IP应用加速-全栈加速

从客户端到源站,IP应用加速目前实现了七层、四层、三层各层级的加速,其中七层加速是传统CDN、DCDN的加速产品,针对http(s)的加速,对于一些私有协议,可以使用四层加速。对于IP协议,可以使用IP隧道加速。这其中每一层都是独立组网,实现独立转发。如果本层某些特殊业务,本层不能很好支持,可以考虑在实施过程中考虑把相关加速服务通过转交给下层,利用下层技术能力实现更好的技术服务。

比如,在一个大文件上传的场景中,客户端到服务器端文件上传假设使用http,如果网络有波动或异常,可能会导致成功率较低。而在过程中,如果利用下沉到四层加速,利用多径传输,即可有效降低网络异常对于传输成功率的影响。

IP应用加速的功能

访问控制:通过支持白名单、黑名单,对用户到边缘节点之间提供访问控制能力。
透明切换:当数据包转发回源站的过程中,可能会出现转发不成功、网络异常、服务器异常等情况,透明切换可以实现内部链路切换无感知。
分区回源:不同边缘服务器可以根据源站域名的分区解析的结果,回到最优的源站,适用于多源站情况下的使用。
负载均衡:通过适配源站和路径内部的负载均衡,处理汇聚点的相关问题。

除了以上功能,IP应用加速也会陆续上线UDP加速、升级安全防护策略同时提供SDK接入方式。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

IP应用加速技术详解:如何提升动静混合站点的访问速率?相关推荐

  1. SANGFOR WOC初级认证——加速技术详解

    目录 SANGFOR WOC 加速技术 传输协议优化(快速TCP) 传输协议优化(HTP协议) 消减流量(流缓存技术) 消减流量(LZO/GZIP压缩算法) TCP代理技术详解 Web Push技术详 ...

  2. 基于EMR的新一代数据湖存储加速技术详解

    摘要:本文整理自阿里云开源大数据平台数据湖存储团队孙大鹏在7月17日阿里云数据湖技术专场交流会的分享.本篇内容主要分为两个部分: 背景介绍 JindoData 数据湖存储解决方案 点击查看直播回放 背 ...

  3. 《视频直播技术详解》之二:编码和封装、推流和传输

    视频编码是本系列一个重要的部分,如果把整个流媒体比喻成一个物流系统,那么编解码就是其中配货和装货的过程,这个过程非常重要,它的速度和压缩比对物流系统的意义非常大,影响物流系统的整体速度和成本.同样,对 ...

  4. 视频直播技术详解(7)现代播放器原理

    <视频直播技术详解>系列之七:现代播放器原理 牛小七2016年9月29日发布在 视频直播技术详解 from: http://blog.qiniu.com/archives/7040 七牛云 ...

  5. IBM p5服务器上的虚拟 分享,IBMp5服务器系统虚拟技术详解

    <IBMp5服务器系统虚拟技术详解>由会员分享,可在线阅读,更多相关<IBMp5服务器系统虚拟技术详解(10页珍藏版)>请在人人文库网上搜索. 1.IBM p5 服务器系统虚拟 ...

  6. 《视频直播技术详解》系列之七:现代播放器原理

    七牛云于 6 月底发布了一个针对视频直播的实时流网络 LiveNet 和完整的直播云解决方案,很多开发者对这个网络和解决方案的细节和使用场景非常感兴趣. 结合七牛实时流网络 LiveNet 和直播云解 ...

  7. 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)

    一.序言 Hadoop是一个技术生态圈,zookeeper是hadoop生态圈里一个非常重要的技术,当我研究学习hadoop的相关技术时候,有两块知识曾经让我十分的困惑,一个是hbase,一个就是zo ...

  8. 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了

    摘自:https://mp.weixin.qq.com/s/OZnnuA31tEaVt0vnDOy5hQ 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了 原创 小翼 飞思实验室 今天 基 ...

  9. 区块链服务网络(BSN)技术详解

    主讲人:何亦凡 各位领导.各位来宾,下午好! 首先,我想感谢国家信息中心让我们有幸参与了一个这么有意义的国家项目.在过去的一年多里,我们六家发起单位的技术团队一起奋斗,经过艰辛的研究和开发,终于让区块 ...

最新文章

  1. shell脚本之日志拆分和监听
  2. windows下用GCC编译DLL
  3. java txtreader_一个简单的Java读写文件例子
  4. 钟表的用途和作用_液体三氯化铁用途及使用方法
  5. C#语言基础— 输入与输出
  6. 二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)
  7. python入门教程pdf-《python基础教程(第3版)》高清版PDF免费下载
  8. 使用CSS实现网格+渐变背景色的Web页面背景
  9. python集合常用方法_python基础-集合set的常用方法
  10. InTouch软件介绍
  11. 账户系统,余额与体现
  12. 在达梦数据库下创建数据库
  13. tk域名管理后台_TK域名解析教程,dns设置教程
  14. IPhone UC 浏览器基于cookie登录的用户无法退出(无法删除 cookie)问题
  15. Java集合框架详解笔记及其代码
  16. Autumn Web Handler
  17. jmeter汉化仍有英文_【jmeter】Jmeter 修改启动默认语言:将英文版修改为其他语言版本...
  18. 微信小程序【渲染层网络层错误】解决方法
  19. CodeCombat计算机科学6.14脆弱的迷宫
  20. CPU中运算器的功能

热门文章

  1. Java线程面试题,值得一看!
  2. idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署
  3. 梦幻西游服务器每周几维护,梦幻西游5月6日维护公告:唯美版地图不再更新
  4. jsp是在html里面嵌入哪种代码?_奶茶店铺用哪种制冰机才合适?
  5. html的表格使用函数,从另一个HTML表格创建HTML表格的jQuery函数
  6. 隐藏画质代码_优秀的模糊测试代码是如何炼成的?
  7. 计算机网络项目——最小网元设计(阶段二)
  8. 与「韦神」齐名,他35岁任教清华!18岁一战成名,数学界颜值巅峰
  9. 因离职,3人拟终止人才项目!
  10. 《科学》公布2018十大科学突破技术