IP应用加速技术详解如何提升动静混合站点的访问速率

27次阅读

共计 2537 个字符,预计需要花费 7 分钟才能阅读完成。

全站加速(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 应用加速文档进行了解。

相关阅读

IP 应用加速产品发布会直播回顾:https://yq.aliyun.com/live/1074
IP 应用加速详情:https://promotion.aliyun.com/ntms/dcdnipa.html
参与聚能聊话题,赢取礼品:https://yq.aliyun.com/roundtable/497735
阿里云全站加速 DCDN 全面支持 WebSocket 协议 https://yq.aliyun.com/articles/686839


本文作者:樰篱

阅读原文

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

正文完
 0