0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CDN是什么CDN的原理和作用什么

Wildesbeast 来源:今日头条 作者:JAVA大神周瑜 2020-02-03 16:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近在了解边缘计算,发现我们经常听说的CDN也是边缘计算里的一部分。那么说到CDN,好像只知道它中文叫做内容分发网络。那么具体CDN的原理是什么?能够为用户在浏览网站时带来什么好处呢?解决这两个问题是本文的目的。

CDN概念

CDN全称叫做“Content Delivery Network”,中文叫内容分发网络。

实际上CDN这个概念是在1996年由美国麻省理工学院的一个研究小组为改善互联网的服务质量而提出的。那么它到底是怎么改善互联网服务质量的呢?

原理分析

我们知道,当我们使用域名访问某一个网站时,实际上就是将请求包(以Http请求为例)通过网络传输给某台服务器,比如访问“www.baidu.com”时:

首先解析出该域名所对应的IP地址(DNS域名解析)

然后将Http请求包通过网络路由到IP地址所对应的服务器

我们通常说“服务器的IP地址”,这其实不太准确,IP地址是和网卡绑定的,一个服务器可以有多个网卡,也就是可能有多个IP地址。

我们先来看第一步:域名解析

域名解析

解析域名分为两种:

将一个域名解析为一个IP地址

将一个域名解析为另外一个域名

其实解析思路不难,我们在域名服务商购买了一个域名之后,需要去映射一个IP地址,可以用Map来表示这个关系:{域名:IP}。

同时我们也可以给某个域名取一个别名,比如“www.baidu.com”取一个别名“test.baidu.com”,这种关系也可以用Map来表示:{域名:别名}。这里的别名专业一点叫做CNAME,相信大家对这个词有点眼熟,它就是这个意思。

而域名解析,实际上就是解析出指定域名所对应的IP地址,或者该域名的一个CNAME。

而域名解析是由DNS系统来负责的,DNS服务接受外部请求,从请求里提取域名,

如果这个域名对应的是IP地址,则返回这个IP地址,

如果这个域名对应的是CNAME,则继续查找CNAME域名的IP地址,然后将该地址返回给请求发送者。

请求发送者拿到IP地址之后,完成真正的请求调用。

实际上DNS系统是非常庞大的,这里不去多将,大家把它当作一个黑盒子,这个盒子的作用就是上文所描述的,这里用一个简单的图来表示一下。

没有CNAME的情况:

有CNAME的情况:

特别注意:在有CNAME的情况下,我们可以发现,CNAME实际上在域名解析的过程中承担了中间人(或者说代理)的角色,这是CDN实现的关键。

CDN原理

首先CDN是为了改善互联网的服务质量的。通俗一点说其实就是提高访问速度。

假设百度网站现在只有一台服务器,现在有一个人在上海访问百度,如果该服务器也在上海,那么通常来说访问比较快,如果该服务器在拉萨,那么相对而言访问就比较慢了。那么这个问题的根本原因是网络传输是依赖于网线的,网线越长,那么时间肯定就越久。

那么怎么解决这个问题呢?其实思路很简单,百度在全国各地都部署一模一样的服务器就行了,专业一点叫冗余。

思路很简单,但实现还是比较麻烦的,服务器上的资源分为两种:静态资源与动态资源。

静态资源:这种资源通常是很少变动的,比如图片,视频,css,javascript等等

动态资源:这种资源不同用户不同时刻访问通常是不一样的,比如ftl,jsp等等。

那么如果百度要在全国各地都部署服务器,如果说每个服务器上都有相同的动态资源,那么可能还需要配置相应的数据库,因为动态资源所记录的信息通常会存储在数据库中,那么这就涉及到了数据同步等等问题,这会导致成本很高,这种做法专业一点其实就是集群,而目前来说集群架构最多是三地五中心,不是说全国多地集群不可能,主要是成本太高。

大家想了解三地五中心的,可以看https://mp.weixin.qq.com/s/uGyGldbwmShDDPDau5pAPw这篇文章,也是本人写的。

那么有没有成本比较低的方式呢,有,就是在每个服务器上只部署静态资源,静态资源通常不涉及到数据库,所以成本也比较低,而且也能提高用户的访问速度。

到这里,介绍了CDN想要达到的目的,那么怎么达到这个目的呢?

现在如果要比较CDN系统,我们可以考虑两点:

CDN系统中存储静态资源服务器的性能以及网速怎么样。

CDN系统中全国甚至全球范围内服务器节点的数量以及部署情况。

第一点很好理解,第二点大家应该也能理解了,如果静态资源的服务器节点很多,能够让每个用户在访问这些静态资源时都不用“跑很远的路程”才能获取到,那么自然这是CDN系统的优点。

有公司看到了这种需求,所以现在其实有很多CDN供应商,比如阿里,腾讯等等都有自己的CDN服务。只要你自己的系统接入了这些大厂所提供的CDN服务,你把自己的静态资源传给CDN服务,那么这些静态资源将自动的分布到全世界各地去。

好,那么现在的问题是,用户在访问静态资源时也是通过域名来访问的,域名会被解析成某一个IP地址,关键的问题就是,DNS系统怎么在做域名解析时,解析出来一个离用户最近的一个IP地址呢。

普通的DNS系统是做不到的,需要一个特殊的DNS服务器,这个特殊DNS需要知道

用户当前所在位置

还需要知道用户现在访问的这个域名对应哪些IP地址,以及这个IP地址分别在哪?

对于第一个问题好解决,直接从用户请求里提取出用户的ip地址,比如这个ip地址被解析为北京电信、上海移动等等。

第二个问题由谁来解决,我们现在考虑的是CDN,CDN提供商肯定知道他们公司在哪些地方部署了机器以及它们的IP地址,所以这个问题只能有CDN提供商来解决,CDN提供商会提供这个特殊的DNS服务器,我们叫做 CDN专用DNS服务器。

这样的话,只要用户在使用某个域名访问静态资源时,如果用户直接配置自己电脑的DNS地址为CDN专用DNS服务器。那么自然解决了问题,但是我们需要考虑的时,我们不能要求世界上所有的用户都去修改自己电脑的DNS地址。所以这个时候就要利用DNS中的CNAME了。

用户使用某个域名来访问静态资源时(这个域名在阿里CDN服务中叫做“加速域名”),比如这个域名为“image.baidu.com”,它对应一个CNAME,叫做“cdn.ali.com”,那么普通DNS服务器(区别CDN专用DNS服务器)在解析“image.baidu.com”时,会先解析成“cdn.ali.com”,普通DNS服务器发现该域名对应的也是一个DNS服务器,那么会将域名解析工作转交给该DNS服务器,该DNS服务器就是CDN专用DNS服务器。CDN专用DNS服务器对“cdn.ali.com”进行解析,然后依据服务器上记录的所有CDN服务器地址信息,选出一个离用户最近的一个CDN服务器地址,并返回给用户,用户即可访问离自己最近的一台CDN服务器了。

补充:

在对域名解析时有多种类型的记录,最常用的比如:

A记录:一个域名对应一个IP地址

CNAME:一个域名对应另外一个域名

NS:将子域名指定其他DNS服务器解析

总结

通过上面的文章我们可以发现,CDN的实现原理依赖于DNS,因为本人不是专门搞网络的,所以文中如果有不准确的地方,还请各位大佬指出。创作不易,还请多多转发

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    55

    文章

    11321

    浏览量

    108843
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90879
  • CDN
    CDN
    +关注

    关注

    0

    文章

    330

    浏览量

    30454
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    onsemi碳化硅肖特基二极管NDSH40120CDN:高性能电源解决方案

    、1200 V的碳化硅肖特基二极管NDSH40120CDN,包括其技术特点、性能参数、典型特性以及封装尺寸等方面,为电子工程师在电源设计中提供有价值的参考。
    的头像 发表于 12-05 10:52 148次阅读
    onsemi碳化硅肖特基二极管NDSH40120<b class='flag-5'>CDN</b>:高性能电源解决方案

    解析 onsemi NDSH20120CDN:SiC 肖特基二极管的卓越性能

    在电力电子领域,不断追求更高的效率、更快的开关速度和更小的系统尺寸,碳化硅(SiC)肖特基二极管正逐渐成为新一代功率半导体的首选。今天,我们将深入探讨 onsemi 的 NDSH20120CDN 碳化硅肖特基二极管,了解其特点、性能参数以及应用场景。
    的头像 发表于 12-01 16:01 119次阅读
    解析 onsemi NDSH20120<b class='flag-5'>CDN</b>:SiC 肖特基二极管的卓越性能

    碳化硅肖特基二极管NDSH30120CDN:开启高效电源设计新时代

    在电源设计领域,器件的性能直接影响着整个系统的效率、可靠性和成本。今天,我们要深入探讨的是安森美(onsemi)的碳化硅(SiC)肖特基二极管NDSH30120CDN,这款器件以其卓越的性能,为电源设计带来了全新的解决方案。
    的头像 发表于 12-01 15:44 109次阅读
    碳化硅肖特基二极管NDSH30120<b class='flag-5'>CDN</b>:开启高效电源设计新时代

    高防服务器、高防IP、高防CDN:三种主流防御方案对比

    、高防IP和高防CDN。它们各有优劣,适用于不同的业务场景。本文将从原理、优缺点、适用场景等多个维度,为您带来一份详尽的对比指南,帮助您做出最明智的选择。 一、 高防服务器:坚固的“堡垒式”防御 1. 工作原理 高防服务器可以理解
    的头像 发表于 10-23 10:25 1005次阅读

    交换机光模块收发光超阈值无告警问题的处理方法

    某互联网电视CDN网络使用ZXR10 5960-56QU-HC交换机作为承载设备,通过光口与城域网设备以及CDN服务器对接,承载互联网电视视频流量。日常运行中发现设备没有上报光模块收发光超阈值告警,造成无法对互联网电视的网络质差做提前干预。
    的头像 发表于 10-16 09:34 390次阅读
    交换机光模块收发光超阈值无告警问题的处理方法

    交换机无法Ping通本机IPv6接口地址问题

    某互联网电视CDN网络ZXR10 5960-56QU-HC(简称5960)交换机下挂CDN服务器,vlan-if接口地址作为服务器网关,在运行中出现服务器无法ping通IPv6网关,并且5960也无法ping通该接口的IPv6地址。
    的头像 发表于 07-22 11:25 2168次阅读
    交换机无法Ping通本机IPv6接口地址问题

    如何监控RAKsmart CDN的性能?

     RAKsmart CDN拥有遍布全球的多个数据中心节点,通过将网站的静态资源缓存到这些节点上,使用户能够从距离他们最近的服务器获取内容,从而大大减少了页面加载时间,提高了网站的访问速度,以下是一些监控RAKsmart CDN性能的方法。主机推荐小编为您整理发布。
    的头像 发表于 03-31 11:06 413次阅读

    爱普生压控晶振 VG7050CDN(X1G004861)在 5G 通信基站中的应用

    随着5G通信技术的迅猛发展,全球范围内的5G网络部署正在加速推进。压控晶体振荡器(VCXO)作为核心时钟源器件,其性能优劣直接决定了5G基站的信号质量和网络稳定性。VG7050CDN
    的头像 发表于 03-25 16:03 660次阅读

    阿里云是什么?企业不可不知的云端架构服务!

    阿里云是什么?中国高速连线阿里云 CDN 服务 阿里云为国内云端市场中市占有率第一的云平台,由阿里巴巴集团自主研发,在国内使用的线路品质稳定、效能绝佳。阿里云服务器在基础架构、数据 AI 智能、安全
    的头像 发表于 03-16 09:43 1290次阅读

    cdn软件是什么?与PCDN有什么不同

    CDN(内容分发网络)软件是一种通过分布式服务器节点缓存和分发内容的工具,旨在加速用户访问速度并减轻源服务器压力。
    的头像 发表于 02-07 09:06 1962次阅读

    靠谱的高防cdn费用高吗?

    高防CDN的成本相较于普通CDN确实更高,但费用是否“高”需结合其防护价值和业务需求综合判断。高防CDN整合了内容分发加速与DDoS攻击防御能力,需投入大量资源构建分布式节点、清洗中心以及实时监测
    的头像 发表于 02-05 11:06 754次阅读

    cdn是什么技术 cdn是怎样提高网站速度的

    一、CDN技术概述 CDN,全称Content Delivery Network,即内容分发网络,是一种通过在网络各处部署节点,将内容缓存至离用户更近的地方,以减少数据传输延迟和提高访问速度
    的头像 发表于 01-31 15:41 2111次阅读

    cdn是云服务吗 cdn是干什么用的

    在当今这个信息爆炸的时代,互联网用户对于内容的加载速度和质量有着极高的要求。无论是视频流、图片还是网页,用户都希望能够在点击链接的瞬间就能获得响应。为了满足这种需求,CDN(内容分发网络)应运而生
    的头像 发表于 01-19 14:30 2943次阅读

    cdn的优势和劣势

    CDN的优势 1. 加速内容传输 CDN通过在全球范围内部署边缘服务器,将内容缓存到离用户更近的地方,从而减少数据传输的延迟,加快内容加载速度。这对于提高用户体验至关重要,尤其是在用户分布在全球各地
    的头像 发表于 01-19 14:28 3864次阅读

    cdn是什么类型的服务

    在当今的数字化时代,互联网已成为人们获取信息、交流和娱乐的主要渠道。随着网络技术的飞速发展,用户对网络内容的访问速度和稳定性的要求越来越高。为了满足这些需求,CDN服务应运而生,它通过在全球范围内
    的头像 发表于 01-19 14:26 2636次阅读