找回密码
 立即注册
首页 业界区 安全 【计算机网络】内容分发网络CDN

【计算机网络】内容分发网络CDN

痕厄 2025-6-1 19:04:39
背景


  • 本来是为了深入了解 CDN 的,结果发现前置知识:IP、域名、DNS 都还不算特别熟,所以先写了他们
  • 现在终于来聊一聊 CDN 啦
  • 本文素材均出自:https://www.bilibili.com/video/BV12T4y1P7Fh ,动画仍然满分
如何打开一个网站

前面说过了

  • 浏览器访问域名
  • DNS 负责解析域名,找到域名对应的 IP 地址
  • 浏览器访问 IP 地址对应的服务器,渲染响应内容
1.png

存在两个问题
问题一


  • 服务器有地理位置
  • 无论是云服务器,还是传统服务器,它都有一个地理位置
  • 如果请求它的设备离它很远,那么它的请求时间肯定会更长
  • 假设同时有很多个设备同时请求,带宽有限的情况下,即使离服务器很近,那请求时间也会被拉长
2.png

问题二


  • 服务器稳定性,会小概率出现宕机
  • 假设原始服务器出现宕机问题,会导致网站无法正常访问
  • 如果是小公司,还没有专业的运维人员的话,那么宕机发生的时候可能会无法及时告警
3.png

CDN 介绍

全称

Content Delivery Network,内容分发网络
为什么会出现

就是为了解决上述两个问题:限于地理位置、服务器稳定性
场景类比

用过京东网购都知道,为什么京东物流能当天/隔日到?因为它有前置仓、区域仓的仓储配送机制
电商物流进化历程

  • 第一阶段:只有商家仓库,无论在哪购买,都从仓库发货,所以快递时间需要 3-10 天
  • 第二阶段:建立区域仓,在一些关键城市建立区域仓,然后从商家仓库囤点货,当下单购买后,会就近选择区域仓进行发货
  • 第三阶段:建立前置仓,就是京东那种,就在你家旁边建一个仓库,送货速度极快
CDN 其实就是类似第三阶段,让离你最近的服务器发送数据,这样无论在哪访问网站,速度都是杠杠的
CDN 实现原理

一开始已经复习了下是如何打开一个网站的,其实 CDN 跟 DNS 也是有关系的
前提:没有 CDN 的情况下

4.png

跟开头讲的顺序一样

  • 浏览器查询 DNS 服务器域名对应 IP 地址是什么
  • DNS 服务器返回 IP 地址
  • 浏览器访问 IP 地址对应的服务器
  • 服务器返回网站数据给浏览器
添加 CDN 专用解析记录


  • 在域名的 DNS 解析设置中,添加一条 CDN 专用的解析记录
  • 这条解析记录会让域名被解析之后, 会指向一个 CDN 网络专用的处理 DNS 服务器
5.png

CDN 专用的 DNS 服务器


  • 浏览器发送 DNS 查询请求到 DNS 服务器
  • DNS 服务器会返回 CDN 专用的处理 DNS 请求的服务器的 IP 地址给浏览器(上面说的 CDN 专用解析记录)
  • 浏览器拿到 IP 地址后访问 CDN 专用 DNS 服务器
  • 然后呢,CDN 专用 DNS 服务器就会返回 CDN 负载均衡服务器的 IP 地址
  • 浏览器拿到 IP 地址后访问 CDN 负载均衡服务器
  • CDN 负载均衡服务器会根据浏览器的网络地址,在 CDN 网络中返回最适合的 CDN 服务器的 IP 地址,可能是没什么人用的服务器,也可能是比较近的服务器
6.png

CDN 负载均衡服务器的作用

它会给请求设备分配合适的 CDN 服务器的 IP 地址
获取网站数据


  • 浏览器拿到 CDN 服务器的 IP 地址之后,就会访问它
  • 假设第一个 CDN 服务器没有需要的网站文件(缓存中没有),就会去 CDN 网络中的上层 CDN 服务器中拉取
  • 如果上层 CDN 服务器没有还会继续往上层找
  • 如果所有上层 CDN 服务器都没有找到,就会去源站中拉取
  • 拉取成功之后,就会在刚刚经过的所有 CDN 服务器中缓存这些网站文件
  • 最后第一个 CDN 服务器会将网络文件发送给浏览器
7.png

源站 IP


  • 浏览器需要访问的域名的网站服务器的 IP 地址
  • 在开通 CDN 的时候,就需要在 CDN 后台设置源站 IP
  • 网站的文件就是放在源站上的,比如静态资源文件、视频、音频
CDN 服务器的缓存机制


  • 通过 CDN 服务器的缓存机制,这样下次其他设备要去访问 www.bilibili.com 的时候,就能直接从 CDN 服务器的缓存中拉取到对应的网站文件了
  • 不需要访问源站的话,可以减少源站压力,还能加快请求速度
8.png

CDN 服务器的稳定性


  • CDN 的缓存机制除了能让用户快速打开一个网站,还可以提高网站的稳定性
  • 假设源站宕机,或者 CDN 服务器节点宕机了之后,CDN 网络中还有其他 CDN 服务器可用,这样访问网站就可以从可用的 CDN 服务器上拉取网站文件,不至于访问不了网站
待更新更深入的内容
                        关注                                评论                                收藏                                Top
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册