一文读懂DNS和CDN

news2024/9/22 15:36:49

一.什么是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.coloradmin.cn/o/1921559.html

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

相关文章

oracle控制文件详解以及新增控制文件

文章目录 oracle控制文件1、 控制文件包含的主要信息如下:2、查看目前系统的控制文件信息,主要是查看相关的字典视图 oracle新增控制文件 oracle控制文件 控制文件是一个很小的二进制文件(10MB左右),含有数据库结构信息,包括数据…

数据结构(Java):单链表面试OJ题

1、题一:获取链表倒数第k个节点 . - 力扣(LeetCode) 1.1 思路解析 此题我们使用双指针法求解。 首先,我们要知道,倒数的第k个节点,距离倒数第一个节点还需要移动k-1次。 1.那么我们可以定义出两个指针&a…

设计模式-工厂模式的完整代码示例及测试验证

工厂模式 工厂模式 什么是工厂模式? 工厂模式是一种创建对象的设计模式,用来替代传统的 如 A anew A() 创建对象的方式,提供了一种 统一的接口来创建对象, 封装创建的过程,达到解耦的目的。 优缺点 优点 封装对象的创…

pytorch官网examples 实现

Getting started with transforms v2 — Torchvision 0.18 documentation (pytorch.org) 官网我导入包都报错官网代码如下: 不太理解所以我自己写了一段修改之后的代码,效果是一样的 import torch from torchvision.io import read_image import mat…

X用户最多的国家排名统计报告

数据为DataReportal发布的Twitter在各个国家的用户数统计。 2022年,Twitter用户最多的国家是美国,有7690万用户。 数据统计单位为:万人 数据说明: 数据截止时间为2022年1月 Twitter在各个国家的用户情况 2022年,Twit…

【TES807】 基于XCKU115 FPGA的双FMC接口万兆光纤传输信号处理平台

板卡概述 TES807是一款基于千兆或者万兆以太网传输的双FMC接口信号处理平台。该平台采用XILINX的Kintex UltraSacle系列FPGA:XCKU115-2FLVF1924I作为主处理器,FPGA外挂两组72位DDR4 SDRAM,用来实现超大容量数据缓存,DDR4的最高数据…

RIP路由协议概述

RIP【Routing Information Protocol】 RIP是为TCP/IP 环境中开发的第一个路由选择协议标准 RIP是一个【距离——矢量】路由选择协议 当路由器的更新周期为30s到来时,向邻居发送路由表 RIP以跳数作为唯一度量值 RIP工作原理 RIP路由协议向邻居发送整个路由表信息RI…

《昇思25天学习打卡营第1天|QuickStart》

说在前面 曾经接触过华为的910B服务级显卡,当时基于910B做了一些开发的工作,但是总感觉做的事情太低层,想要能自顶向下的了解下,因此开始了MindSpore的学习。另外也想给予提供的显卡,简单尝试下llm模型的训练&#xf…

2.2 类型转换与 printf 函数深度解析

1 类型转换 1.1 隐式类型转换 1.2 显式类型转换 1.3 应用:整除除法 2 printf 函数 2.1 语法格式 2.2 格式说明符 2.2.1 浮点数的规范性输出 2.2.2 格式说明符不匹配错误 2.3 修饰符 2.3.1 对齐方式 2.3.2 宽度 2.3.3 精度 2.3.4 填充字符 2.3.5 其他修…

【硬件调试】示波器探头一碰芯片引脚板子就短路或者闪小火花

问题: 今天拿示波器探头准备测量芯片引脚输出波形,有的引脚正常输出信号,有的会打小火花,但输出波形正常,还有一个引脚最离谱,示波器一碰,板子就立马短路,电流达到最大值,电源电压都被拉下来了,直到示波器探头拿开,板子才自动恢复,此时这个引脚测得波形如下: 根…

C++的链接指示extern “C“

目录 链接指示extern "C"A.What(概念)B.Why(extern "C"的作用)C.How (如何使用链接指示extern "C") 链接指示extern “C” A.What(概念) extern&quo…

100 个网络基础知识普及,看完成半个网络高手!

1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层&#xff0…

ElasticSearch第一天

学习目标: 能够理解ElasticSearch的作用能够安装ElasticSearch服务能够理解ElasticSearch的相关概念能够使用Postman发送Restful请求操作ElasticSearch能够理解分词器的作用能够使用ElasticSearch集成IK分词器能够完成es集群搭建 第一章 ElasticSearch简介 1.1 什么…

javaweb个人主页设计(html+css+js)

目录 1 前言和要求 1.1 前言 1.2 设计要求 2 预览 2.1 主页页面 2.2 个人简介 2.3 个人爱好 2.4 个人成绩有代码,但是图片已省略,可以根据自己情况添加 2.5 收藏夹 3 代码实现 3.1 主页 3.2 个人简介 3.3 个人爱好 3.4 个人成绩&#xff…

shell 字符串列表操作

我的需求是这样的:编译多个模块的时候,把失败的模块添加到列表里,最后输出。这个列表类似这样:failModuleList"a b c d e" 先定义一个空的字符串列表: failModuleList"" 然后利用字符串的拼接方…

CVPR`24 | 又快又好!渲染速度比ENeRF快30倍!4K4D:实时4K分辨率4D视图合成

文章链接:https://arxiv.org/pdf/2310.11448 git链接: https://zju3dv.github.io/4k4d/ 本文旨在实现动态3D场景在4K分辨率下的高保真和实时视图合成。最近,一些动态视图合成方法在渲染质量方面表现出色。然而,在渲染高分辨率图像…

如何合并pdf文件?分享3种常见的方法!

在数字化办公日益普及的今天,PDF文件因其格式稳定、兼容性强、阅读方便等特点,成为了人们日常工作和学习中不可或缺的一部分。然而,当我们需要处理多个PDF文件时,如何将它们高效地合并成一个文件,以便更好地管理和分享…

Linux进程——进程的概念

文章目录 PCB进程排队进程标识符pid终止进程获取进程id父进程与子进程 我们在上一节内容中有简单谈到进程的感性理解,他在课本上的概念是,程序的一个执行实例或正在执行的程序 但在本质上,他其实就是一个被分配了系统资源(CPU&am…

公有云API常见的认证方式

公有云API常见的认证方式 Token认证 (百度云、腾讯云) AK/SK认证 (阿里云、天翼云、腾讯云) RSA非对称加密方式 (信核云灾备) Token认证 AK/SK认证 RSA认证 种方式使用一对密钥,即公钥和私钥。公钥可以公开&#x…

Java数据结构-链表与LinkedList

链表 链表的概念 链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。 通俗来说,相比较于顺序表(物理上连续,逻辑上也连续),链表物理上不一定连续。 链表是…