一文读懂DNS和CDN

一.什么是DNS

        DNS(Domain Name System)全称为域名系统,是一个将域名和IP地址相互映射的分布式服务,他的作用就是把一个域名解析成为IP地址。我们平时输入的网址(或者域名)不能被计算机直接识别,必须通过DNS服务器将域名翻译成IP地址,才能进行完整的访问,这个过程就被称作DNS解析,是访问中必不可少的一个部分。

二.DNS的分布式架构

       DNS本身是一个非常优秀的分布式架构。

       位于最顶层的是根域名服务器(Root Name Server)。在2016年的统计数据中,全世界目前有13台IPv4根服务器,25台IPv6根服务器。

        根域名服务器

            根域名服务器存储的是一个目录,如果把所有的DNS请求都集中在少量的根域名服务器中,这个访问流量就会非常巨大,而且一旦发生故障很容易导致大面积瘫痪。而且从用户的体验角度来说,如果所有的DNS请求都走根服务器,不同的用户距离根服务器的距离不同,感受到的延迟也不一样,这样对用户来说不大友好。

            所以,为了避免流量过大,避免地理分布等问题,根域名服务器只是一个目录,并不提供具体的数据。

        域名分级和数据分区

              根服务器会提供相应的目录索引规则。在域名的世界中,通过分级域名的策略建立索引,伴随着域名的分级策略,实际上是域名数据库的拆分。通过域名的分级,可以将数据库划分成一个个区域。

              我们平时用的或者看到的.com .cn .net等,称为顶级域名。比如说www.baidu.com这个网址,com就是顶级域名,baidu是二级域名,www是三级域名。域名的分区是为了建立目录和索引,并对数据存储进行分区。

从上图的结构可以看到,DNS的存储设计是一个树状结构。叶子节点中才存放真是的映射关系,中间节点都是目录,存储分为三层。

    1.顶部第一级是根DNS存储,存储的是顶级域的目录,被称作根DNS服务器;

    2.第二级是顶级域存储, 存储的是二级域的目录,被称作顶级域DNS服务器(Top Level DNS,TLD);

     3.最后一级是叶子结点,存储的是具体的DNS记录,也被称作权威DNS服务器。

三.DNS查询过程

      1.用户在浏览器中输入要访问的域名;

      2.浏览器向本地DNS查询域名对应的IP地址;

      3.本地DNS向根服务器发起请求;

      4.根服务器向本地服务器返回域名所属的顶级服务器;

      5.顶级服务器将所属域名的权威服务器返回给本地DNS;

      6.本地服务器向权威服务器发起请求,权威服务器将域名对应的IP地址返回给本地服务器;

      7.本地服务器将IP地址返回给用户,完成整个解析过程。

四.什么是CDN

      CDN的全称是Content Delivery Network,即内容分发网络。是一种利用分布式节点技术,在全球部署服务器,即时地将网站,应用视频,音频等静态或者动态资源内容分发到用户所在的最近节点,提高用户访问这些内容的速度和稳定性,降低网络拥塞和延迟,同时也能减轻源站的压力。提升网络或应用的可用性和安全性。

        CDN的基本原理是将源站的内容分发到离用户最近的节点上进行缓存,并通过智能路由,负载均衡等技术来保证用户能够快速,稳定地访问到所需资源。CDN将源站与用户之间的网络距离传输缩短,通过多节点并行传输,降低了网络传输的延迟和带宽的消耗。

五.CDN的回源是如何工作的

       CDN的回源指的是当用户访问某一个URL的时候,若是被解析到的那个CDN节点没有缓存响应的内容或者是缓存的内容已经到期,就会回源站去获取。如果没有人访问,那个CDN节点就不会主动去源站拿的。

        例子:比如源站在xxxx.com中发布静态资源,然后在CDN管理后台配置了这个源站。在使用CDN时,服务方会提供另一个域名,假如叫作ssss.com。然后配置将xxxx.com用CNAME记录指向CDN的智能DNS,如果用户要下载ssss.com/a.jpg,CDN的智能DNS会帮助用户选择一个最优的IP地址(最优的CDN节点),如果在这个CDN节点中没有a.jpg,或者源站内容有更新的时候,CDN就会到xxxx.com源站中去下载,缓存到CDN节点,然后再返回给用户。

       CDN回源有三种情况:1.CDN节点没有对应的资源时主动到源站获取资源;

                                            2.缓存失效的时候,CDN节点主动到源站获取资源;

                                           3.CDN管理后台或者使用开发接口的时候主动刷新就会触发回源。

        

       

       

       

      

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统——内存管理(面试准备)

虚拟内存 单片机没有操作系统,每次写完代码,都需要借助工具把程序烧录进去,这样程序才能跑起来。 另外,单片机的CPU是直接操作内存的物理地址。 在这种情况下,想在内存中同时运行两个程序是不可能的,如果第…

Python数据分析案例49——基于机器学习的垃圾邮件分类系统构建(朴素贝叶斯,支持向量机)

案例背景 trec06c是非常经典的邮件分类的数据,还是难能可贵的中文数据集。 这个数据集从一堆txt压缩包里面提取出来整理为excel文件还真不容不易,肯定要做一下文本分类。 虽然现在文本分类基本都是深度学习了,但是传统的机器学习也能做。本案…

【论文速读】《面向深度学习的联合消息传递与自编码器》,无线AI的挑战和解决思路

这篇文章来自华为的渥太华无线先进系统能力中心和无线技术实验室,作者中有大名鼎鼎的童文。 一、自编码架构的全局收发机面临的主要问题 文章对我比较有启发的地方,是提到自编码架构的全局收发机面临的主要问题: 问题一:基于随…

【算法笔记自学】第 9 章 提高篇(3)——数据结构专题(2)

9.1树与二叉树 #include <cstdio>int main() {int n, m;scanf("%d%d", &n, &m);printf(n m 1 ? "Yes" : "No");return 0; } 9.2二叉树的遍历 #include <cstdio> #include <vector> using namespace std;const int…

高精度定位与AI技术的深度融合——未来智慧世界的钥匙

引言在当今迅速发展的科技时代&#xff0c;精确定位和人工智能&#xff08;AI&#xff09;技术正在快速推动各领域的创新与变革。高精度定位结合AI技术所产生的融合效应&#xff0c;正在加速智慧城市、智能驾驶、智能物流以及许多其他领域的实现。这篇文章将详细探讨高精度定位…

科技云报道:产业为根大模型应用为擎,容联云推动企业营销服场景重塑

科技云报道原创。 “没有应用&#xff0c;光有一个基础模型&#xff0c;不管是开源还是闭源&#xff0c;一文不值。”在2024世界人工智能大会&#xff08;WAIC 2024&#xff09;现场&#xff0c;百度创始人、董事长兼首席执行官李彦宏直言。 国产大模型的种类越发丰富&#x…

【爬虫】解析爬取的数据

目录 一、正则表达式1、常用元字符2、量词3、Re模块4、爬取豆瓣电影 二、Xpath1、Xpath解析Ⅰ、节点选择Ⅱ、路径表达式Ⅲ、常用函数 2、爬取豆瓣电影 解析数据&#xff0c;除了前面的BeautifulSoup库&#xff0c;还有正则表达式和Xpath两种方法。 一、正则表达式 正则表达式…

RK3588开发笔记(四):基于定制的RK3588一体主板升级镜像

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140288662 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

Java---SpringBoot详解一

人性本善亦本恶&#xff0c; 喜怒哀乐显真情。 寒冬暖夏皆有道&#xff0c; 善恶终归一念间。 善念慈悲天下广&#xff0c; 恶行自缚梦难安。 人心如镜自省照&#xff0c; 善恶分明照乾坤。 目录 一&#xff0c;入门程序 ①&#xff0c;创建springboot工程&#…

Apache配置与应用(优化apache)

Apache配置解析&#xff08;配置优化&#xff09; Apache链接保持 KeepAlive&#xff1a;决定是否打开连接保持功能&#xff0c;后面接 OFF 表示关闭&#xff0c;接 ON 表示打开 KeepAliveTimeout&#xff1a;表示一次连接多次请求之间的最大间隔时间&#xff0c;即两次请求之间…

秋招Java后端开发冲刺——Mybatis使用总结

一、基本知识 1. 介绍 MyBatis 是 Apache 的一个开源项目&#xff0c;它封装了 JDBC&#xff0c;使开发者只需要关注 SQL 语句本身&#xff0c;而不需要再进行繁琐的 JDBC 编码。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java POJO&#xff08;Plain …

【网络安全科普】网络安全指南请查收

随着社会信息化深入发展&#xff0c;互联网对人类文明进步奖发挥更大的促进作用。但与此同时&#xff0c;互联网领域的问题也日益凸显。网络犯罪、网络监听、网络攻击等是又发生&#xff0c;网络安全与每个人都息息相关&#xff0c;下面&#xff0c;一起来了解网络安全知识吧。…

开放式耳机哪款性价比高?这五款超值精品不容错过

喜欢进行户外运动的小伙伴们&#xff0c;应该都很需要一款既可以匹配运动场景&#xff0c;又兼顾音质体验的无线蓝牙耳机吧。而开放式耳机拥有佩戴舒适牢固&#xff0c;不堵塞耳部&#xff0c;不影响外部声音传入耳部的优点&#xff0c;完全可以成为运动健身人士户外运动的好伴…

『C + ⒈』‘\‘

&#x1f942;在反斜杠(\)有⒉种最常用的功能如下所示&#x1f44b; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(void) {int a 10;int b 20;int c 30;if (a 10 &&\b 20 &&\c 30){printf("Your print\n");}else{prin…

Java 多继承与接口

Java 多继承与接口 1、为什么Java不支持多继承&#xff1f;2、使用接口实现多继承2.1 接口的定义与实现 3、接口的优点4、结论 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 多继承是指一个类可以继承多个父类&#xff0c;从而获得多个父类…

Spring Boot Vue 毕设系统讲解 3

目录 项目配置类 项目中配置的相关代码 spring Boot 拦截器相关知识 一、基于URL实现的拦截器&#xff1a; 二、基于注解的拦截器 三、把拦截器添加到配置中&#xff0c;相当于SpringMVC时的配置文件干的事儿&#xff1a; 项目配置类 项目中配置的相关代码 首先定义项目认…

java使用poi-tl模版引擎导出word之if判断条件的使用

文章目录 模版中if语句条件的使用1.数据为False或空集合2.非False或非空集合 模版中if语句条件的使用 如果区块对的值是 null 、false 或者空的集合&#xff0c;位于区块中的所有文档元素将不会显示&#xff0c;这就等同于if语句的条件为 false。语法示例&#xff1a;{{?stat…

Anthropic发布新工具改进大语言模型;商汤科技发布全球首个支持泰文的AI大模型

&#x1f989; AI新闻 &#x1f680; Anthropic发布新工具改进大语言模型 摘要&#xff1a;Anthropic 公司推出多项基于 Claude 3.5 Sonnet 大语言模型的新工具&#xff0c;提升提示词生成和测试能力。新增的“评估”单元帮助开发者自动化生成和微调提示&#xff0c;改进任务…

Kubernetes基于helm部署jenkins

Kubernetes基于helm安装jenkins jenkins支持war包、docker镜像、系统安装包、helm安装等。在Kubernetes上使用Helm安装Jenkins可以简化安装和管理Jenkins的过程。同时借助Kubernetes&#xff0c;jenkins可以实现工作节点的动态调用伸缩&#xff0c;更好的提高资源利用率。通过…

LabVIEW远程实验数据采集系统

随着科学研究的不断发展&#xff0c;实验室对远程数据采集和监控的需求越来越高。传统的数据采集方式往往需要实验人员亲临现场&#xff0c;费时费力&#xff0c;且数据实时性较差。为了解决这些问题&#xff0c;基于LabVIEW开发了一套远程实验数据采集系统&#xff0c;实现对实…