zoukankan      html  css  js  c++  java
  • CDN技术详解笔记

    1.影响网络传输的四个因素
    (1)“第一公里”:网站服务器接入互联网的链路所能提供的带宽。
    (2)“最后一公里”:用户接入带宽。
    (3)对等互联关口:不同网络之间的互联互通带宽。
    (4)长途骨干传输:首先是长距离传输时延问题,其次是骨干网拥塞问题

    2.用户通过浏览器访问网站的过程如下图所示:

    ①用户在自己的浏览器中输入要访问的网站域名。

    ②浏览器向本地DNS服务器请求对该域名的解析。

    ③本地DNS服务器中如果缓存有这个域名的解析结果,则直接用户的解析请求。

    ④本地DNS服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器。

    ⑤浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址。

    ⑥浏览器向服务器请求内容。

    ⑦服务器将用户请求内容传送给浏览器。

    3.引入CDN后的访问流程

    ①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。

    ②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。

    ③用户向CDN的全局负载均衡设备发起内容URL访问请求。

    ④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。

    ⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。选择的依据包括:根据用户IP地址,判断哪一台服务器距离用户最近;根据用户请求的URL携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。

    ⑥全局负载均衡设备把IP地址返回用户。

    ⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域负载均衡设备依然将它分配给了用户,那么这一台服务器要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。

    4.CDN的系统架构

    5.CDN部署架构

    在一个节点中,Cache设备和本地负载均衡设备的连接方式有两种:一种是旁路方式,一种是穿越方式。

    6.CDN系统分类

    (1)基于不同内容承载类型的分类

    • 网页加速
    • 流媒体加速
    • 文件传输加速
    • 应用协议加速:针对TCP/IP等传输协议的优化。

    (2)基于内容生成机制的分类

    主流的Web网站系统都能够在逻辑上分为三个层次,表现层、业务逻辑层、数据访问层。

    根据CDN完成的不同层面的Web转移功能,将CDN分为表示层复制(静态网站)和全站复制(动态网站)两类。

    7.CDN系统三维模型图

    X轴方向是贯穿系统头端到终端的垂直系统,每一种业务能力都可以有自己的中心、区域、边缘层设备,有自己独立的管理系统、负载均衡系统、分发服务系统。
    因此,在X轴方向上,每一个CDN服务能力都可以是一套相对独立的子系统。

    Y轴方向的分级划分是依据CDN逐级缓存、分级调度、分级服务的要求。
    CDN的管理功能、调度功能、缓存功能、服务功能都是分级部署的,不同层级的相同功能实体之间相互配合。
    从控制功能上看,往往下一级控制实体是上一级控制实体的执行者;
    从缓存功能上看,上一级缓存是下一级缓存实体的内容提供者;
    从 服务功能上看,上一级服务实体是下一级服务实体的能力补充和备份。

    Z轴方向上,管理层主要完成CDN网络管理和业务逻辑处理。
    网络管理提供IP网络层面的配置管理、故障管理、网络性能管理以及网络安全管理等,负责对整个CDN系统的网络和设备资源进行抽象,提取其业务能力,提供给上层业务平台。
    业务逻辑处理指CDN系统辅助其服务的业务平台完成部分应用层功能的实现,完成和其他系统之间的接口适配,负责系统的认证、计费、统计分析、系统管理、用户管理、SP管理等功能。
    控制平面负责对整个CDN网络的内容分布情况进行管理,对内容分发和访问路由策略进行控制,它是整个内容分发系统内容数据流向的控制点。
    数据平面承担实际的内容分发工作,根据Z轴方向与X轴、Y轴相交点的具体要求,数据平面设备具备不同的应用服务提供能力。

    参考资料:《CDN技术详解》 pp.1-29

  • 相关阅读:
    2021,6,10 xjzx 模拟考试
    平衡树(二)——Treap
    AtCoder Beginner Contest 204 A-E简要题解
    POJ 2311 Cutting Game 题解
    Codeforces 990G GCD Counting 题解
    NOI2021 SDPTT D2T1 我已经完全理解了 DFS 序线段树 题解
    第三届山东省青少年创意编程与智能设计大赛总结
    Luogu P6042 「ACOI2020」学园祭 题解
    联合省选2021 游记
    Codeforces 1498E Two Houses 题解 —— 如何用结论吊打标算
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/5512355.html
Copyright © 2011-2022 走看看