网络计算模式复习(六)

news2025/1/9 1:24:53

什么是CDN

CDN的全称是Content Delivery Network,即内容分发网络。
其目的通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提供用户访问网站的响应速度。
从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。

CDN工作原理

当用户访问某域名上的内容信息时,首先需要通过域名解析系统将该域名转换为存储该内容信息的内容服务器IP地址,再根据IP地址访问内容服务器以获取内容信息。
如果该域名使用了CDN技术,该域名上的内容信息将会被复制并发布到广泛分布的、位于不同地理位置的CDN网络的边缘节点服务器。
用户访问使用CDN技术的域名时,其地理位置附近的CDN网络的边缘服务器将向其提供相关内容。

请给出两种CDN网络技术架构,并说明其内容路由的实现机制

综合当今众多CDN服务商的技术体系,无不受到当今世界两大CDN服务商,即 Akamai和LimeLight(以下简称LL)的技术架构影响。

内容路由(负载均衡):通过用户就近性和服务器负载的判断,CDN确保内容极为高效的为用户服务。
CDN负载均衡系统实现CDN的内容路由功能,将用户导向CDN网络中最佳的节点。

Akamai CDN的主要实现方法为DNS重定向。

用户向域名解析器发送域名解析请求,以获取内容服务器的IP地址;域名解析请求(包含了域名解析器的IP地址)被发送到该域名的域名服务器。
该域名的域名服务器通过返回一个CNAME类的DNS记录,将此域名解析请求重定向到CDN网络的域名服务器。
CDN网络的域名服务器对该域名解析请求进行智能解析,根据域名解析器的IP地址、网络的拥塞状况、各CND网络边缘节点服务器的负载情况等,将最合适的CDN网络边缘节点服务器的IP地址返回给域名解析器(域名解析器再转发给用户)。

在这里插入图片描述

  1. 首先,域名解析访问域名www.pcworld.com的域名服务器,请求解析该域名。
  2. 该域名的域名服务器返回一个CNAME类型的DNS记录。
  3. 该CNAME类型的DNS记录指示了所请求的域名名xxxx.pcworld.com的别名a1506.g.akamai.net,将域名解析请求重定向到Akamai CDN网络的域名服务器。
  4. 然后,域名解析器访问根Akamai域名服务器,请求解析域名a1506.g.akamai.net。

LimeLight CDN的主要实现方法为IP Anycast。

Unicast(单播)、Multicast (组播) 和Anycast:Unicast 是指单个发送方和接收方之间的通信;Multicast是指一个发送方同多个接收方之间的通信;Anycast 是两种通信方式的融合。

IP Anycast:当一个单波地址被分配到多于一个的接口上时,通过BGP的寻路原则,发送到该接口的报文将被网络路由到由路由协议度量的“最近”的目标接口上。

Anycast允许源节点向一组目标节点中的一个结点发送数据报,而这个结点由路由系统选择,对源节点透明。
同时路由系统选择“最近”的结点为源节点提供服务,从而在一定程度上为源节点提供了更好的服务也减轻了网络负担。

优点:

  • 分布的服务共享相同的IP地址,同时在IP层进行透明的服务定位,用户不需要特殊配置也不用关心访问的是哪一台边缘服务器。
  • 路由系统选择了“最近”的服务节点,缩短了服务响应的时间,同时减轻了网络负载。
  • 相同的服务在网络上冗余分布,利用BGP的寻路原则,路由系统可以提供机制选择负载相对轻的带宽相对高的路径来转发报文。
  • 减弱了网络拥塞给用户带来的影响:当Anycast的某些组成员处在拥塞的网段时,它的响应时间就较长,报文可以转发到响应较好的成员那里。
  • 减弱了分布式拒绝服务攻击(DDoS)对用户带来的影响
  • 当 Anycast 组中某一个成员或者几个成员受到攻击时,负责报文转发的路由器可以根据各个组成员的响应时间来决定报文应该转发到哪个成员上,这样受到攻击的成员由于没有响应,所以报文就不会被转发到那里。
  • 同时,由于 Anycast 提供的服务访问透明性,组成员也相对较难受到DDoS攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

socket套接字通信 TCP传输控制协议/IP网络协议 5.18

B/S :浏览器和服务器 C/S :客户机和服务器 网络的体系结构: 网络的层次结构和每层所使用协议的集合 网络采用分层管理的方法,将网络的功能划分为不同的模块 OSI模型: 共7种: 应用层:接收用户的数据,面…

Blender基础技巧小结(三)

本文续签一篇:Blender基础技巧小结(二)_皮尔斯巴巴罗的博客-CSDN博客 将物体显示为模板,类似Maya Template 四窗口视图 调整3d视图远截面 Blender并不直接支持放样,可以用第三方插件,但效果并不好 基于me…

usb摄像头驱动打印信息

usb摄像头驱动打印信息 文章目录 usb摄像头驱动打印信息 在ubuntu中接入罗技c920摄像头打印的信息如下: [ 100.873222] usb 3-2: new high-speed USB device number 5 using xhci_hcd [ 101.230728] usb 3-2: New USB device found, idVendor046d, idProduct08e5 …

SpringMVC的拦截器(Interceptor)

文章目录 1 拦截器概念2 拦截器入门案例2.1 环境准备2.2 拦截器开发步骤1:创建拦截器类步骤2:配置拦截器类步骤3:SpringMVC添加SpringMvcSupport包扫描步骤4:运行程序测试步骤5:修改拦截器拦截规则步骤6:简化SpringMvcSupport的编写 3 拦截器参数3.1 前置处理方法3.2 后置处理方…

使用frp进行内网穿透(远程连接内网服务器)

文章目录 云服务购买服务器端(即我们购买的服务器)配置客户端(即我们自己的服务器)配置使用xshell登录远程服务器在服务器端设置frp开机自启动在客户端设置frp开机自启动 这里主要介绍使用frp工具进行内网穿透,适合的场…

Spring6和SpringBoot3的新特性-你不得不了解的AOT原来这么简单

Spring6.0新特性 一、Spring的发展历史 二、AOT AOT是Spring6.0提供的一个新特性,Ahead of Time 提前编译。 1.AOT概述 1.1 JIT和AOT的关系 1.1.1 JIT JIT(Just-in-time) 动态编译,即时编译,也就是边运行边编译,也就是在程序运…

LangChain与大型语言模型(LLMs)应用基础教程:角色定义

如果您还没有看过我之前写的两篇博客,请先看一下,这样有助于对本文的理解: LangChain与大型语言模型(LLMs)应用基础教程:Prompt模板 LangChain与大型语言模型(LLMs)应用基础教程:信息抽取 LangChain是大型语言模型(LLM)的应用框架,LangCha…

RK3568平台开发系列讲解(LCD篇)快速了解RK LCD的使用

🚀返回专栏总目录 文章目录 一、内核Config配置二、MIPI配置2.1 引脚配置2.2 背光配置2.3 显示时序配置2.3.1 Power on/off sequence2.3.2 Display-Timings三、EDP配置3.1 引脚配置3.2 EDP背光配置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇章带大家快速了…

数据结构_查找

目录 1. 查找的基本概念 2. 顺序查找和折半查找 2.1 顺序查找 2.1.1 一般线性表的顺序查找 2.1.2 有序表的顺序查找 2.2 折半查找 2.3 分块查找 2.4 相关练习 3. 树型查找 3.1 二叉排序树 3.1.1 二叉排序树的定义 3.1.2 二叉排序树的查找 3.1.3 二叉排序树…

想要一个本地部署的海洋实景三维展示系统吗?

最近几年实景三维非常火,很多人包括博主都想将自己平时干的海洋测绘项目进行实景三维化,这样做的好处就是无论是管理数据还是成果展示都非常方便。我们可能会使用谷歌地图、奥维地图、图新地球等地图服务软件,它们也提供了一些测量、画图功和…

使用Hexo在Github上搭建个人博客

使用Hexo在Github上搭建个人博客 1. 安装Node和git2. 安装Hexo3. Git与Github的准备工作4. 将Hexo部署到Github5. 开始写作 1. 安装Node和git 在Mac上安装Node.js可以使用Homebrew,使用以下命令安装: brew install node使用以下命令安装Git: …

解决 Uncaught TypeError: SpriteCanvasMaterial is not a constructor.

文章目录 前言一、替代语法总结 前言 上周买了本《Three.js开发指南》, 第三版, 里面的语法不太跟趟, 有点旧, 倒也不能全怪作者, three迭代的确很快. 一、替代语法 这几天没事做, 加上前面本来就接触过Three, 很快进展到了第六章. 在推进 利用Canvas贴图给精灵(Sprite)增加样…

研发工程师玩转Kubernetes——启用microk8s的监控面板(dashboard)

安装插件 microk8s enable dashboard 查看dashboard 地址 由于dashboard是在kube-system的namespace中,我们可以使用下面指令查看它服务的地址。 microk8s kubectl get service -n kube-system kubernetes-dashboard 可以得到地址是https://10.152.183.167。 登…

Android Jetpack-Databinding基本使用

文章目录 让你的项目支持Databinding基本使用布局和绑定表达式常用运算符判空null获取对象属性避免空指针异常其他控件引用资源引用 事件处理import,variables,and includesimportVariablesIncludes 数据更新->UI更新监听字段变化更新监听对象变化更新 UI更新->数据更新绑…

MPLS隧道——隧道迭代与MPLS高可靠性

目录 MPLS隧道迭代 什么情况下需要隧道迭代 解决方法 MPLS高可靠性 VPN FRR VPN GR MPLS隧道迭代 什么情况下需要隧道迭代 解决方法 两种解决方法 将IBGP邻居更改为Vpnv4的IBGP邻居(为目标网段产生私网标签,然后此带标签的BGP路由直接进入标签隧道…

作为程序员的你,常用的工具软件有哪些?

不会还有程序员没用过Chatgpt吧? 我现在的工作日常:把需求提给Chatgpt,代码出来后再自行润色一下代码,然后到工业环境里跑一下,没问题就可以提交了。一来一回效率提高了好几倍,摸鱼的时间都变多了…… 除了…

自学黑客(网络安全)必学内容

随着时代的发展,经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起,线上线下已经打通,虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界,直接影响现实世界的安全。 …

环环相扣,循环不止:深入解析循环队列

本盘博客会讲解力扣“622. 设计循环队列”的解题思路,这是题目链接。 先来审下题: 以下是示例: 以下是提示: 如何设计一个循环队列呢?这里我用数组来实现。结构的定义如下: typedef struct {int* a; …

又一神器开源!无需服务器支持!打通手机,浏览器的Web LLM!

大家好,我是千与千寻,大家可以叫我“千寻哥”,之前和大家分享了两篇关于ChatGPT的技术文章: 1.chatgpt 2.chatgpt ChatGPT毫无疑问是现在最大的风口,各个行业都在集成ChatGPT的API接口以及各类的应用插件&#xff0…

本地部署 GPT Academic

本地部署 GPT Academic GPT Academic 项目概述Github 地址部署 GPT Academic配置 GPT Academic 参数启动 GPT Academic访问 GPT AcademicNew Bing Cookie 的获取方法 GPT Academic 项目概述 GPT 学术优化 (GPT Academic),为GPT/GLM提供图形交互界面,特别…