cdn(程序员要搞明白CDN,这篇应该够了)
来源:继续教育 2023-07-12 19:09:10 点击数:次
详情介绍
来自:1点25 作者:1点25
最近在了解边缘计算,发现我们经常听说的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等等。那么如果百度要在全国各地都部署服务器,如果说每个服务器上都有相同的动态资源,那么可能还需要配置相应的数据库,因为动态资源所记录的信息通常会存储在数据库中,那么这就涉及到了数据同步等等问题,这会导致成本很高,这种做法专业一点其实就是集群,而目前来说集群架构最多是三地五中心,不是说全国多地集群不可能,主要是成本太高。
那么有没有成本比较低的方式呢,有,就是在每个服务器上只部署静态资源,静态资源通常不涉及到数据库,所以成本也比较低,而且也能提高用户的访问速度。
到这里,介绍了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服务器了。
总结通过上面的文章我们可以发现,CDN的实现原理依赖于DNS,因为本人不是专门搞网络的,所以文中如果有不准确的地方,还请各位大佬指出。
重点
有痛点才有创新,一个技术肯定都是为了解决某个痛点才出现的。
- cet(cet4官网)2023-08-18 11:00:07
来源:人民网 人民网北京4月3日电 (记者李依环)据教育部教育考试院消息,2023年上半年全国大学英语四、六级考试笔试及口试将分别于6月17日、5月20至...
- cdn(cdn经营许可证)2023-08-18 10:46:04
今天,让我们跟着浑身散发着高科技感的炫酷网警技术咖了解个新名词儿——CDN加速! CDN:Content Delivery Network,即内容分发网络。是构建在现有互联网基础...
- cdce(虫大虫二搞怪图片)2023-08-18 10:34:36
新年将至,万象更新,2023年将迎来疫情后的经济恢复、社会调整时期。有专家估计到2023年下半年中国经济将出现非常大的反弹,消费、制造业投资、基建...
- c9(c9大学名单排名)2023-08-18 10:20:02
高考资讯·指导杂志 大学、专业、学科、志愿、励志……那些事儿 关注 都2022年了,你是不是还是弄不清楚院校的层次呢?“双一流”“C9”“985”“211”...
- aqara(aqara全屋智能定制)2023-08-18 09:53:23
绿米智能门锁的安全隐患问题,隔三差五就会被推上舆论风口。 前脚刚因消费者频繁投诉产品质量问题,被监管部门通报点名与处罚。后脚就被爆出"智能...
- apple(apple怎么读)2023-08-18 09:39:15
九月,苹果开了一场别开生面的发布会,原本以为主角铁定是 iPhone 14 Pro,结果却被 Apple Watch 新开的支线产品抢了风头,灵动岛很好,但 Ultra 更惊艳。 于...
- 999sf(999sf传奇手游)2023-08-18 09:23:38
小编也算是一个老网游玩家了,从最开始的传奇,到后来的WOW,再到龙之谷DNF CF,再到后来的LOL,或者是算上前年大火得PUBG,随着年龄的慢慢长大,小编发现...
- 985大学有哪些学校(211,985大学有哪些学校)2023-08-18 09:11:18
什么是985大学?985大学一般指的是985工程,是我国在1998年5月为建设“世界先进水平的一流大学”而做出的决策,首批“985工程”建设高校共9所,即九校联...
- 51100(511002是哪里的身份证号码)2023-08-18 08:50:46
12月12日,总台央视记者从四川内江公安局获悉,2019年11月,四川省内江市东兴区发生一起严重恶性暴力案件,犯罪嫌疑人张伟有重大作案嫌疑,现已潜逃。...
- 3dm论坛(3dm论坛模拟人生4)2023-08-18 08:37:59
Hi~ 这里是大DD 最近好玩的游戏新作有点多呀,简直挑花了眼(Steam 购物车都要挤爆了)。 不过这些下周再说 今天是周六,按照惯例大DD 会给大家讲些“有...
- 3dm(3dmgame)2023-08-18 08:23:20
在市场数据统计公司 IIDEA 和 GSD 的最新统计中,《FIFA》系列游戏毫无悬念的称霸了意大利 2022 年游戏销量排行榜,同时占据了第 1 和第 3 名的位置。 《F...
- 360极速浏览器(360极速浏览器和360安全浏览器哪个好)2023-08-18 08:10:08
LOGO大师整理编辑(ID:logods) 图片来源:360极速浏览器、谷歌浏览器,网络 众所周知 360是国内最大的PC浏览器厂商 它主要有两款浏览器,一款是360安全浏...
- 2(24节气的顺序)2023-08-18 07:59:39
只是我还没来得及告诉顾淮我的答案,他便要出征了。 圣旨下来的那天晚上,我为他收拾行囊,忍不住开口 「怎么就走的这般急,今日下旨,明日便要领...
- 1.85(1.85kg等于多少斤)2023-08-18 07:45:37
2023年1月31日,在重庆市北碚区一家幼儿园,一名教师在整理教具,为新学期做好开学准备。图/新华社 据报道,2月1日,浙江杭州一位身高1.85米的女子应聘...
- 高中生自考本科(高中生自考本科需要大专学历吗吗)2023-08-18 07:24:34
高中文凭虽然是最基础的学历,但并不代表着未来的发展就一定受限。很多人在毕业后经过多年的工作积累和个人努力,渴望通过自考拿到本科学历,从而...
- 金牛区自考办(金牛区自考考点)2023-08-18 07:11:11
2022年西南石油大学高等教育自学考试应用型专业校外助学点 自考校外教学点名称 成都市温江区知金商务进修学校 四川三河职业学院 成都新概念外语培训...
- 重庆自考信息网(重庆自考信息网登录入口)2023-08-18 06:57:58
自考是一种非常受欢迎的学历提升方式,越来越多的人选择自考来提升自己的学历水平。而查询自考成绩单也是自考学生必须要面对的问题之一。那么,如...
- 重庆市自考办(重庆市自考办审核毕业要多久才能审核)2023-08-18 06:37:29
022年4月重庆自学考试报名时间为3月1日-3月15日,大家可以准备报名啦!很多考生想知道:重庆自考毕业证书办理流程。下面重庆自考网小编整理了相关内容...
- 赣州自考(赣州自考招生办)2023-08-18 06:20:22
“每天手机学习30分钟,轻松拥有本科学历。” “悄悄修个本科,无需到校,无需辞职,惊艳所有人。” “读研无需辞职,在职可读985、211名校。” 当初...
- 西安自考网上报名(西安市自考报名)2023-08-18 06:00:10
今天给大家介绍一下陕西高等教育自学考试网上注册流程。 首先,搜索陕西教育考试院,点击进入后,找到“服务”选项。在“服务”选项下面,找到“自...
- 执业助理医师(日月星医考:重磅
- 上海财经大学(名校直通车:上海
- 吉林自考网(吉林省上半年自考3月
- 南京理工大学(620分,选华东理工
- 山东科技大学(山东科技大学是几
- 同等学力申硕(快看!一文了解什
- 山西自考网(山西省2022年10月高等
- 湖北成人教育网(湖北成人教育网
- 东莞自学考试(东莞市2022年10月高
- 准考证号忘了怎么查询(快快快!
- 天津自学考试(关于组织2023年4月天
- 中国近代史纲要(中国近代史纲要
- 中央广播电视中等专业学校(项目
- 上海师范大学继续教育学院(地矿
- 函授是什么(什么是函授?)
- 双一流大学(5750门课程获认定,教
- 尚德教育机构(尚德机构:愿做职
- 上海财经大学自学考试(关于开展
- 太原理工大学(重磅!太原理工大
- 大学自主招生(自主招生实施办法
- baidu(百度热搜榜)
- 头条搜索
- 山东专升本(山东专升本难度大吗
- 江苏专转本报名(江苏专转本报名
- 特岗教师(特岗教师和编制教师有
- 报考(报考二建需要什么条件有哪
- 内蒙古自考成绩查询(内蒙古自考
- 石家庄自考网(河北省石家庄市自
- 人力资源管理(高报专业 | 人力资
- 北京外国语大学自考(速看!2022年
- cet(cet4官网)
- cdn(cdn经营许可证)
- cdce(虫大虫二搞怪图片)
- c9(c9大学名单排名)
- aqara(aqara全屋智能定制)
- apple(apple怎么读)
- 999sf(999sf传奇手游)
- 985大学有哪些学校(211,985大学有
- 51100(511002是哪里的身份证号码)
- 3dm论坛(3dm论坛模拟人生4)
- 3dm(3dmgame)
- 360极速浏览器(360极速浏览器和
- 2(24节气的顺序)
- 1.85(1.85kg等于多少斤)
- 高中生自考本科(高中生自考本科
- 金牛区自考办(金牛区自考考点)
- 重庆自考信息网(重庆自考信息网
- 重庆市自考办(重庆市自考办审核
- 赣州自考(赣州自考招生办)
- 西安自考网上报名(西安市自考报
- 自考考生个人空间(自考考生空间
- 自考缺考会有什么影响(自考缺考
- 自考笔记(自考笔记确认漏写两个
- 自考招生报名(自考招生报名入口
- 福建自考网站(福建自考网官方入
- 石家庄自考网(河北省石家庄市自
- 理工大学自考(浙江理工大学自考
- 湖南自考网成绩查询(湖南自考成
- 湖南自考个人空间(湖南自考考生
- 湖北自考考试院(湖北省自学考试