内容分发网络 | 学习笔记

简介: 快速学习内容分发网络,介绍了内容分发网络系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算内容分发网络】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15718


内容分发网络


内容介绍:

一、CDN

二、CDN 网络的运行机制

三、映射系统

四、运营机制

五、Akamai(阿卡迈)流媒体 CDN


本课程继续讲互联网多媒体内容分发,前面讲代理缓存,代理缓存通常是被动的,而且缓存是需要时间的。为了克服代理缓存的一些缺点,在互联网的发展史上,技术人员提出了内容的分发网络。


一、CDN

内容的分发网络英文叫 CDN。是 content delivery/distribution network 的缩写,中间两个单词,不论是 delivery 还是 distribution,字母都是 D,所以无论用哪一个,简写都是 CDN。

1.CDN 是部署在互联网上的一个大型的地理分布式服务器系统。

它分布在不同的地点,组成了一个系统,中心服务器周围都是 CDN

的服务器。

2. 从原始的中心服务器,来复制内容,把它推送到网络边缘。

网络边缘是最接近终端用户的,这样做的好处,就是尽可能减少中间瓶颈,来加快网络的访问,从而提升用户的体验。

在整个互联网上,如果一个全球性的服务器是中国,全球的其他的国家去访问,中间涉及到的整个网络状况是千差万别的,很难保证每一个服务质量,而有了 CDN 以后,找最接近的一个服务器,去给它提供服务。

图片23.png

传统的方式都直接跟原始中心服务器发生关系,很显然服务是很难保证的。

3. CDN 提供商托管内容提供商的内容,推送给感兴趣的用户。

比如爱奇艺是内容提供商,网速是 CDN 提供商,爱奇艺把内容交给网速,网速作为内容的托管者,网速再推送给感兴趣的用户的一个过程。


二、CDN 网络的运行机制

图里边,左边是用户,位于某一个局域网里,最上方是原始的存储内容的服务器,比如是爱奇艺的数据中心,剩下的一系列的服务器都属于 CDN 里的备份的服务器。客户要访问某项内容时,运行的步骤。

图片24.png

1. 第一步,用户通过 web 来浏览器,来指定 url,向内容提供者请求内容,请求就被定向到了服务器上,服务器提供数据。

2. 第二步,原服务器接收到了请求之后,他决定只提供基本的一些内容,比如网站的一些索引页面,而其他的多媒体的内容,像视频什等等,交给了 CDN 去处理。他返回来第二步告诉你应该去访问

3. 第三步,为了服务于高带宽要求和频繁访问的内容,服务器将用户的请求定向到CDN 的提供商,已经和相应的CDN提供商签署了关系,CDN 的提供商的网络的架构,跟原服务器之间是有映射的。

4. 第四步,CDN 提供商,使用它的映射算法来选择备份服务器。内容到他的映射系统里面去。从里面去映射系统是干什么?要访问的内容在哪些服务器里面有,而映射服务器要来判断哪一台服务器距离你最近,而且的服务质量好,映射服务器就选择出来,被映射到的备份服务器就提供请求的对象的副本,为用户提供服务。

这就是整个的 CDN 的运行过程,大幅提升了服务的体验。现在的 CDN 网络被各个内容提供上了广泛的使用。


三、映射系统

cdn 起关键作用的一个系统就是映射系统。

1. 映射系统要收集网络和服务器的条件的历史和实时的数据。遍布在不同的地方,那网络情况是什么样?历史的就是过去的时间段里面它的情况怎么样,服务的性能怎么样,可以来判定未来的数据,同时,还检测一下当前的实时情况,历史数据和实时数据。共同的作为选择备份服务器的依据。

条件收集范围。比如流量拥塞的程度,是不是存在故障点,质量怎么样,用户的最终感知情况如何,启动时间,有效带宽、可用性,都是收集时关心的内容。

2. 性能优化,就根据这些条件来决定选择最少跳数或者是高可用的服务器,跳转的越多延迟越长。

成本优化,就是选择成本最低的,通常在两个之间是高度关联。


四、运营机制

运营机制是 CDN 的提供商要向内容提供商收费,因为内容提供商给 CDN 提供了内容的辅助和转发服务的,也就是说客户就是内容提供商。

CDN 提供商要向 isp 网络服务支付费用中国电信三大运营商,还有一些新的像阿里等,要支付费用,费用主要用来一个是要托管服务器,还要支付网络带宽的使用费用,还有一些其他的管理。全球,包括中国的各个省都建立了数据中心,很多数据中心都是托管别人服务器的,其中有一部分就是 CDN 提供商的。


五、Akamai(阿卡迈)流媒体 CDN

国际上著名的 CDN 提供商的叫阿卡迈。

图片25.png

1. 阿卡迈为全球的很多公司提供流媒体的服务。像苹果,微软,BBC,等等公司都在使用它的 CDN 服务器,

2. 服务平台包括多个传送网络。并针对特定类型的内容,进行了定制和优化,比如可以根据静是静态的网页内容,动态的新闻还是流媒体等。

3. 每个系统组件和底层技术的实现可以不同,以适合特定类型的内容。

4. 在较高的层次上,交付网络共享使用类似的体系架构,就对它的服务的服务对象是透明的,简化系统,国内也有很多的CDN的这个服务提供商,像网速等等。

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
5月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
104 0
|
5月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
106 0
|
4月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
70 5
|
2月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
99 2
|
5月前
|
监控 Java 数据库连接
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
【后台开发】TinyWebser学习笔记(1)网络编程基础知识
50 3
|
5月前
|
网络协议 Docker 容器
Ubantu docker学习笔记(七)容器网络
Ubantu docker学习笔记(七)容器网络
|
5月前
|
网络协议 网络架构 数据格式
计算机网络学习笔记(一)
OSI七层网络模型旨在支持异构网络互联,从下到上分别为物理层(传输比特流)、数据链路层(帧传输,如交换机)、网络层(IP数据包路由,如路由器)、传输层(TCP/UDP,端到端通信)、会话层(管理会话)、表示层(数据格式转换)和应用层(用户接口,如FTP, SMTP)。每一层负责不同的通信功能,并通过协议如PPP, IP, TCP等协同工作。
34 0
|
5月前
|
缓存 网络协议 开发者
计算机网络学习笔记(三)
TCP的异常终止使用reset报文,用于强制关闭连接,不等待正常四次挥手。RST标志位设置时,发送方直接丢弃缓存,接收方无需确认。常见情况包括:尝试连接服务器未开放的端口、一方异常崩溃、收到不属于现有连接的报文、超时未收到确认报文或应用开发者优化效率。reset报文帮助释放资源,防止连接挂起。
48 0
|
5月前
|
安全 数据安全/隐私保护
计算机网络学习笔记(四)
HTTPS流程涉及服务器的公钥/私钥和客户端随机密钥。首先,客户端向服务器443端口发起请求,服务器发送公钥给客户端。客户端验证公钥后生成随机密钥(client key),用公钥加密后发送回服务器。服务器用私钥解密获取client key,然后用它加密数据成密文传回客户端。客户端用client key解密完成安全传输。
33 0
|
11月前
|
存储 监控 Cloud Native
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程(上)
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程