【读书笔记】CDN 的基本概念

[TOC]

《CDN技术详解》读书笔记

1. CDN 基本概念和产生背景

CDN : Content Distribute/Delivery Network

作用:完成将内容由原站传递到用户端的任务。

产生的原因:

广义的互联网分为两层:
一层是以 TCP/IP为代表的网络层
一层是以万维网WWW为代表的应用层

网络层与应用层磨合存在的问题:

  • 第一公里:万维网流量像用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的带宽。(用户主机到局域网对外路由 ?)
  • 最后一公里:指万维网流量向用户传送最后一段接入链路,即用户接入带宽
  • 对等互联关口:不同运营商之间的互联互通,一般两个运营商之间只有两三个互联互通点
  • 长途骨干传输。长距离传输时延,由网站服务器到用户之间要经过网站所在IDC、骨干网、用户所在城域网、用户所在的接入网等

8 秒定律。超过 8 秒,30% 的用户放弃等待

2. CDN 的基本工作过程

接入CDN后的用户访问流程.png
  1. 点击 URL ,经过本地 DNS 解析,DNS系统会将域名的解释权交给 CNAME 指向的 CDN 专用的 DNS 服务器。
  2. CDN 的DNS服务器将CDN全局负载均衡设备IP地址返回给用户
  3. 用户向 CDN 设备发出URL访问请求
  4. CDN全局负载均衡设备根据用户IP地址以及请求内容,选择用户所属区域的区域负载均衡设备,请求转向区域负载均衡系统
  5. CDN区域负载均衡设备会根据用户的信息,返回区域的缓存服务器的IP地址
  6. 全局负载均衡系统将IP地址返回给用户
  7. 用户向缓存服务器发送请求
  8. 获取到缓存服务器的响应

3. CDN的发展历程

4. CDN对于互联网产业的价值和作用

  • 首先,CDN 的发展促进了整个互联网产业的进一步分工。纵观整个带宽服务的价值链,内容提供商与用户出于链条的两端。中间依靠网络服务提供商将其串联起来。随着互联网工业的成熟和商业模式的变革,在这条价值链上的角色原来越多,也越来越细分。
  • 对于电信运营商,CDN是真正体现管道智能化的技术。CDN 与网络联系密切,通过与各级之间的联系调度配合,在给用户提供优质服务的同时,也能降低骨干网的传输压力和峰谷变化。
  • CDN的进一步发展促进了互联网出运营商和SP之外的第三方产业的蓬勃发展

CDN 技术概述

1. CDN 的系统架构

CDN 基于的原理:

  1. 挑选最优设备为用户提供服务
  2. 如果某个内容被很多用户所需要,它就被缓存到距离用户最近的节点中
功能架构

典型的 CDN 架构由 分发服务系统、负载均衡系统、运营管理系统三大部分组成。

图片.png
  • 分发服务系统:

    • 分发服务系统会分为多个子服务系统,如网页加速子系统、流媒体加速子系统、应用加速子系统等
    • 每个子系统都是一个分布式集群,由一群功能类似、在地理位置上分布部署的 Cache 或 Cache集群组成
    • 对于分发服务系统,在承担内容的更新、同步与响应用户需求的同时,还需要向上层的调度控制系统提供每个Cache设备的健康状况,响应情况等信息。
  • 负载均衡系统:

    • 主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。
  • 运营管理系统:

    • 与一般的电信运营管理系统类似可分为运营管理和网络管理两个子系统。
    • 运营管理子系统是 CDN 系统的业务管理功能实体,负责处理业务层面的与外界系统交互的一些收集、整理、交付工作,包含用户管理、产品管理、计费管理、统计分析等功能。
    • 网络管理子系统实现对CDN系统的网络设备管理、拓扑管理、链路监控和故障管理
部署架构
三级CDN网络部署图.png
  • 一个CDN系统由大量的、地理位置分散的 POP 节点组成,为用户提供就近的内容访问服务。
  • CDN 节点包括 CDN 骨干节点与 POP 节点
  • CDN 节点包括中心节点与区域节点

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

Cache设备与负载均衡设备连接方式.png
  • 穿越模式

    • 通过SLB设备由上向下进行转发,这种方式在CDN系统中应用较多的方式
  • 旁路模式

    • SLB与Cache拥有相同的 IP 地址,SLB 与 Cache 构成并联关系,用户需要先访问SLB设备,然后再以重定向的方式访问 Cache

2. CDN 系统分类

基于不同内容承载类型的分类
  • 网页加速
  • 流媒体加速
    • 流媒体直播加速。
    • 流媒体点播加速
  • 文件传输加速
  • 应用协议加速:并不针对特定的内容类型进行加速,而是通过对 TCP/IP 传输协议的优化
    • 广域网应用加速
      广域网应用加速的目的是在不改变远程用户使用习惯的前提下,将分布式的IT设施如文件服务器、邮件服务器、网络附加存储(NAS)和远程不办公室设备备份系统等集中起来,整合到统一的数据中心中

    • SSL 应用加速
      CDN提供SSL应用加速后,由CDN的专用SSL加速硬件来完成加密解密运算工作,通过认证之后方可建立连接通道

    • 网页压缩。

      在服务端先对网页数据进行压缩,然后将压缩后的文件提供给访问用户,最后在用户的浏览器端进行解压现实,通过这种方式可以减少传输的时间

基于内容生成机制的分类和分层加速技术

由内容生成机制来看,互联网上的内容主要分为两类:
静态内容与动态内容

内容缓存工作原理及实现

1. 内容缓存技术的发展背景

网站的问题和需求
  1. 无法及时满足并发用户增长的需要
  2. 设置镜像前,无法满足胶原用户的访问需要
  3. 在设置镜像后,中心服务器与镜像之间信息同步不及时。
  4. 很多情况下,镜像失效后,无法及时高效调度到最近的镜像来服务。
  5. 通过部署镜像来解决问题会明显增加成本
  6. 中心服务器 IP 地址的暴露导致易受黑客DDoS攻击
CDN 出现前的网站服务技术
  1. 扩展技术 Scale up / Scale out
  • Scale up:通过提供网站的服务器的硬件水平。比如增加高速处理器,配置更大的内存和硬盘
  • Scale out:采用服务器集群
  1. 镜像技术 Mirroring
  • 通过冗余的方式,在各个磁盘保存相同的副本称为磁盘映像。镜像主要用于备份
  • 基于镜像技术主要应用方式是镜像网站,即对于整个网站进行镜像复制,并对镜像网站多点部署
  1. 缓存技术 Cache
  • 缓存是将访问过的数字媒体存储起来,为后续的重复访问使用。

2. Cache设备的工作方式与设计要求

  • 正向代理器网络访问的代理服务器地址为 Cache 地址

    使用者需要配置其网络访问的代理服务器为Cache设备的地址,内网用户对互联网的所有访问都需要代理服务器代理完成

  • 反向代理

    反向代理只暴露代理服务器地址,内部进行负载均衡。

  • 透明代理

    透明代理可以看作是通过网络设备或协议实现的正向代理工作模式。不同的是浏览器不需要配置代理服务器地址,但是用户的设备需要支持WCCP协议。

  • Web Cache 产品实现关键要素分析

3. Web Cache的实现基础-- 基于HTTP协议的

4. Web Cache技术实现关键点分析

Web Cache 关键性能指标说明

引入 Web Cache 技术的目的是通过对于内容副本进行缓存来满足后续的用户请求,使用 Cache 设备分担用户对于源站点访问负载。

  1. 并发量。同一时间,能够处理用户的访问请求数
  2. 吞吐量。单位时间内,能够处理、转发的数据量大小
  3. 命中率。
  4. 响应时间与丢包率
  • DNS 解析时间
  • 建立连接时间
  • 重定向时间
  • 收到的第一个包的时间
  • 图片下载时间
  • 页面总下载时间
内容存储机制
  • 由存储类型来看,主要关注的是容量、成本和服务性能。
  • 常用的存储技术方案有三种:
    • 共享存储
    • 本地附加存储
    • 分布式文件系统
内容更新机制

web Cache 需要及时判断或者预测内容的冷热程度,从而实现高效的新旧交替,在有限的存储空间中实现更高的命中率。

web Cache 遵守以下协议:

  • 如果HTTP响应头明确不要缓存,不进行缓存
  • 需要认证或者安全加密,Cache 也不会缓存
  • 如果在 HTTP 响应中没有 ETag 或者 Last-Modified头信息,Cache会认为缺乏直接的更新度信息,默认该内容不可缓存
  • 缓存副本包含以下信息,Cache 会认为它足够新。直接有缓存中返回
    • 含有完整的过期时间和寿命控制的头信息,并且内容仍在生存期内
    • 浏览器已经使用过这个缓存副本,并且在同一个会话中已经检查过内容的新鲜度
  • 如果缓存的内容副本已经旧了,Cache 将向原站服务器请求校验
Web cache 协议优化
  1. HTTP连接聚合。原理是将多个短链接转换成一个长连接,从而减少连接。
  2. HTTP gzip 压缩。
Web Cache 安全实现机制
  1. 访问控制
  • 允许访问控制列表 ACL 中的 IP 地址用户访问 Internet,拒绝其他 IP 地址的用户访问外网
  • 在ACL中设置某个具体 IP 地址,创建拒绝规则来阻止访问
  • 设置屏蔽指定站点,域名,URL 实施过滤,拒绝内网用户访问
  • 限制内网用户可访问外网时间
  • 赋予某些用户特殊的访问权限,比如赋予管理员用户访问管理平台
  • 控制用户访问外网服务器的端口号,比如允许用户连接到任何非特权端口(1025~65535)
  • 其他功能,比如减缓或者加速内容发送、用户身份认证
  • 防止网络攻击
  1. 病毒防护
  2. 网络安全防护。Web Cache 除了提供负载均衡,还提供以下防攻击手段保护网络中的服务器
  • 通过对无效链接的管理防止没有开放的服务来进行攻击
  • 实现源路由追踪,防止 IP 欺骗
  • 不用 ACK 缓冲应答未确认的 SYN,防止SYN风暴
  • 防止连续和接管的攻击
  • 不运行 SMTPd、FTPd、Telnetd 等易受到攻击的进程
  1. 内容加密
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容

  • CDN概念基本介绍 一 . CDN简介 什么是CDN? CDN的全称是Content Delivery Net...
    全能程序猿阅读 53,663评论 12 74
  • 目录 ·大型网站软件系统的特点 ·大型网站架构演化发展历程 ·初始阶段的网站架构 ·需求/解决问题 ·架构 ·应用...
    zhyang0918阅读 2,657评论 0 16
  • CDN 为什么需要CDN 根本上的原因是,访问速度对互联网应用的用户体验、口碑、甚至说直接的营收都有巨大的影响,任...
    amCow阅读 1,622评论 0 2
  • 第三周第五拆--简单法则 【原文片段】 简化一个系统最简单的方法就是去除它的一些功能,以DVD为例,你想要的只不过...
    李秀弦阅读 313评论 0 0
  • 安慰老夫的少女心,作者是颜控,声控,偏爱温柔腹黑系列,排名不分先后,每一个都是心头大爱。看一部,爱上一个人,看完一...
    梅凉阅读 1,409评论 24 27