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
CDN技术详解笔记的更多相关文章
- 《CDN技术详解》 - CDN知多少?
开发时间久了,就会接触到性能和并发方面的问题,如果说,在自己还是菜鸟的时候完全不用理会这种问题或者说有其他的高手去处理这类问题,那么,随着经验的丰富起来,自己必须要独立去处理了.或者,知道思路也行,毕 ...
- CDN技术详解及实现原理
CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...
- CDN技术详解(七)
动态内容加速服务的实现 随着Web2.0的兴起,产生了动态网页.个性化内容.电子交易数据等内容的加速,这些就涉及了动态内容加速技术. 静态内容的加速,都是对于表现层的加速,对于动态页面等内容的加速,则 ...
- CDN技术详解
CDN,全称为Content DeliveryNetwork,中文意为"内容分发网络"".通过将网络内容发布到最靠近用户的『边缘节点』,使不同地区的用户在访问相同页面.图 ...
- CDN 技术详解(DNS,GSLB,Cache)
CDN 是什么 CDN(Content Delivery Network,内容分发网络),即全网内容加速服务.为了尽可能的避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳 ...
- CF卡技术详解——笔记
知识太全面了,摘抄摘不完,还是粘过来加上注释和笔记吧. 重点以及断句用加粗,注释用红括号. 一.CF卡技术及规格 一.CF卡技术及规格 1.CF卡简史 随着数码产品的高速普及,近年来闪存卡也进入了高速 ...
- CDN学习笔记二(技术详解)
一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...
- Windows驱动——读书笔记《Windows驱动开发技术详解》
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- TCP-IP详解笔记6
TCP-IP详解笔记6 用户数据报协议和IP分片 UDP是一种保留消息边界的面向数据报的传输层协议. 不提供差错纠正, 队列管理, 重复消除, 流量控制和拥塞控制. 提供差错检测, 端到端(end-t ...
随机推荐
- java 设计模式大全
在线学习网址: http://www.runoob.com/design-pattern/
- ViewPage + RadioGroup + Fragment学习
底部是RadioGroup中RadioButton的切换.上面时ViewPage ,能够滑动,假设你们的需求是不须要滑动的话,那就直接用FrameLayout就能够了. 以下将会用两种方式实现.请大家 ...
- CSS nth-child、first-child、last-child、nth-of-type、first-of-type和last-of-type选择器使用
以下示例主要讲解nth-child.first-child.last-child.nth-of-type.first-of-type和last-of-type使用. 示例代码: <!DOCTYP ...
- 除掉inline-block 间距
1.现象: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...
- asp web api json 序列化后 把私有字段信息也返回了解决办法
serialization returns private properties Are your types marked as [Serializable]? Serializable means ...
- 1、简单的BackGroundWorker多线程时时刷新UI界面,并显示进度
BackGroundWorker是微软提供的封装好了的,非常实用的控件,我们可以在控件中将其拖到Winform之中,然后简单的系统生成代码式的编辑事件处理. 以下是,比较经典且简单的实用,后面的一篇较 ...
- HDUOJ---kiki's game
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/1000 K (Java/Others)Total ...
- MySQL 获取某一个分类ID的所有父或子分类查询结果
创建一个自定义函数: ; DELIMITER $$ USE `dressv_website`$$ DROP FUNCTION IF EXISTS `fn_QueryRelation`$$ CREATE ...
- 实时信号与sigqueue函数
一.sigqueue函数 功能:新的发送信号系统调用,主要是针对实时信号提出的支持信号带有参数,与函数sigaction()配合使用. 原型:int sigqueue(pid_t pid, int s ...
- Linux驱动面试题总结
1. Linux设备中字符设备与块设备有什么主要的区别?请分别列举一些实际的设备说出它们是属于哪一类设备. 字符设备:字符设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种 ...