【就近接入,智能DNS-Geo DNS ,大揭秘!】

news2024/10/6 1:54:22

做过后端服务或者网络加速的小伙伴,可能或多或少都听说过,智能DNS或者Geo DNS,就是根据用户的位置,返回离用户最近的服务节点,就近接入,以达到服务提速的效果。
那么大家有没想过,这个背后的原理是什么?为什么能根据用户的位置返回离用户最近的服务节点,本文带大家一探究竟。

什么是智能DNS

传统DNS解析,不判断访问者来源,会随机选择其中一个IP地址返回给访问者。而智能DNS解析,会判断访问者的来源,为不同的访问者智能返回不同的IP地址,可使访问者在访问网站时获取就近的IP地址,能够减少解析时延,并提升网站访问速度。

我们参考阿里云智能DNS给出的图例,如下

智能DNS图例

如果第一次接触,不了解DNS原理,看这个图可能还是会一头雾水,如何根据用户位置返回就近节点ip,这个发生在哪一步?先别急,解释上面这张图之前,我们先解释下什么是DNS。

DNS

域名层级

域名层级

什么是DNS

DNS简单说就是把域名转为ip的过程。转换过程涉及到3个服务器,分别是根域名服务器,顶级域名服务器,一级域名服务器,根域名服务器 不负责解析具体域名,而是返回 顶级域名服务器(TLD: top-level-domain server),用于继续寻找。顶级域名服务器TLD 也不负责解析具体域名,而是继续返回 一级域名服务器。一级域名服务器负责将域名解析成ip。

DNS工作过程

  1. 根域名解析:返回顶级域名解析服务器
  2. 顶级域名解析(TLD top):返回一级域名解析服务器
  3. 一级域名解析:根据域名,返回二级域名解析结果,即最终ip

DNS演示:从域名到ip,完整过程

根据上述过程,做个演示,首先找个根域名服务,根域名服务器全球有13个,如下,这里随便选择一个即可,

全球根域名服务器

选择完根域名服务器便可开始上述的流程。通过根域名服务器,获得顶级域名服务,再通过顶级域名服务器,获得一级域名服务器,最终通过一级域名服务器解析出ip,如下,以www.wallstreetcn.com这个地址为例

解析过程

以上便是DNS的解析ip的过程,那么回到最开始的问题, 智能DNS发生在哪一步?

智能DNS在这里

智能DNS发生在哪一步,答案是 一级域名服务器解析ip这里。

假如我们使用阿里云的智能DNS对域名和ip进行绑定,顶级域名服务器返回的一级域名服务器是阿里云的DNS服务器,这个阿里云DNS服务器便是智能DNS,其会根据调用者的出口ip等信息判断位置,从而决定返回哪个ip。
此时我们再看下面这张图,会发现3-8的过程,便是上述 :根域名服务器 → 顶级域名服务器 → 一级域名服务器 的过程,

智能DNS在这里

实际验证下

实际验证下, 域名 ga-bp149opsz5ox0laguk2fz.aliyunga0019.com,后面有3个区域的节点(北京,上海,杭州)。

域名-绑定ip

而当我身处北京访问这个域名时,只会返回北京区域的节点ip。如下,这就是因为在 一级域名服务器 即下图中的vip3.alidns.com,可以根据我的位置,返回离我最近的区域节点ip,这便是是云解析DNS,也是我们最开始提到的智能DNS(Geo DNS)。

演示
至此,我们发现 原来所说的智能DNS,便是服务厂商们(比如国内阿里云,国外AWS等服务厂商公司)提供的一级域名解析服务器,根据用户位置,就近返回便是其所具备的功能。

延伸,DNS中的概念

此外在补充一些DNS中常见的概念,

递归DNS服务器,典型的CloudFlare 1.1.1.1

  • 我们平常说的 公共DNS服务器,一般都是指递归 DNS 服务器,当我们对其发起域名查询时,其把上面的3步 根域名查询,顶级域名查询,一级域名查询 都去做了,所以也叫它递归DNS 服务器。它由一些云服务厂商提供,属于公有服务,典型的如CloudFlare 1.1.1.1,把 DNS 查询自动化了,只要向它查询就可以了(如下图)。
    同时它内部有缓存,可以保存以前查询的结果,下次再有人查询,就直接返回缓存里面的结果。所以它能加快查询,减轻根域名等服务器的负担。
    向它查询,一步出结果。
    一下出结果

local DNS

  • Local DNS 是一个检查记录是否在本地缓存中的组件,它的查询是递归/迭代查询。 客户端和Local DNS 是递归查询,这是最常见的一种查询方式。 具体来说就是如果Local DNS 不能响应请求,它会代替客户端向其他根域名服务器继续发出查询请求,即替客户端继续查询,而不是让客户端自己进行下一步查询。

权威域名服务器(Authoritative Name Server)

  • 一级域名服务器的正式名称叫做权威域名服务器,"权威"的意思是域名的 IP 地址由它给定,不像递归服务器自己做不了主。我们购买域名后,设置 DNS 服务器就是在设置该域名的权威服务器。

参考

dns查询原理
https://www.ruanyifeng.com/blog/2022/08/dns-query.html
智能DNS解析
https://help.aliyun.com/zh/dns/intelligent-dns-resolution?spm=a2c6h.13066369.0.0.4b2f3d50nLfESw

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

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

相关文章

ETLCloud结合kafka的数据集成

一、ETLCloud中实时数据集成的使用 在ETLCloud中数据集成有两种方式,一种是离线数据集成,另一种便是我们今天所要介绍的实时数据集成了,两者的区别从名字便可以得知,前者处理的数据是离线的没有时效性的,后者的数据是…

【Keil5-Boot和APP配置】

Keil5-Boot和App配置 ■ Keil5-Boot和APP配置■ 一:sct文件 sct文件配置■ 二:发布版本不需要在 C/C,Asm,Linker,中添加 CMDDEBUG 宏定义。■ 三:Debug版本需要在Linker添加 --pd"-DCMDDEBUG" 才…

4.进程相关 2

8.内存映射 8.1 内存映射相关定义 创建一个文件,将保存在磁盘中的文件映射到内存中,后期两个进程之间对内存中的数据进行操作,大大减少了访问磁盘的时间,也是一种最快的 IPC ,因为进程之间可以直接对内存进行存取 8.…

视觉大模型--DeformableDETR

原理大家可以参考这篇文章,我这边主要介绍几个公式和整体源码理解。 提出了多尺度可变形注意力(Multi-scale Deformable Attention, MSDA).基于此设计了 DETR 特有的利用多尺度特征检测的流程,对之后的很多工作有指导意义。提出了两阶段 DETR 的思路&…

OpenHarmony应用开发引入开源C/C++库---之Har包里的NDK

Har 包 HAR(Harmony Archive)是静态共享包,可以包含代码、C 库、资源和配置文件。通过 HAR 可以实现多个模块或多个工程共享 ArkUI 组件、资源等相关代码。HAR 不同于 HAP,不能独立安装运行在设备上,只能作为应用模块…

pandas常用的一些操作

EXCLE操作 读取Excel data1 pd.read_excel(excle_dir) 读Excel取跳过前几行: data1 pd.read_excel(excle_dir,skiprows1) 获取总行数 data1.shape[0] 获取总列数 data1.shape[1] 指定某列数据类型 data1 pd.read_excel("C:数据导入.xlsx",dtype…

设计模式——装饰器模式09

装饰器模式:是在原有基础上进行装饰(无修改原来代码),来添加新的功能。 例如下面对普通耳机进行装饰。 设计模式,一定要敲代码理解 修饰对象(抽象) /*** author ggbond* date 2024年04月07日…

Unity核心学习

目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…

【汇编语言实战】统计个数(创新版)

内存中有10个分布在0至100内的正整数&#xff0c; 求小于60的数的个数num1&#xff0c;大于或等于60且小于80的数的个数num2&#xff0c;大于或等于80且小于100的数的个数num3 C语言描述该程序流程&#xff1a; #include <stdio.h> int main() {int a[]{1, 20, 95, 32,…

Python | 超前滞后分析

Nino SST Indices (Nino 12, 3, 3.4, 4; ONI and TNI) 有几个指标用于监测热带太平洋&#xff0c;所有这些指标都是基于海表温度(SST)异常在一个给定的区域的平均值。通常&#xff0c;异常是相对于30年的周期来计算的。厄尔尼诺3.4指数(Nio 3.4 index)和海洋厄尔尼诺指数(Ocea…

【Ubuntu】update-alternatives 命令详解

1、查看所有候选项 ​​​​​​​sudo update-alternatives --list java 2、​​​​​​​更换候选项 sudo update-alternatives --config java 3、自动选择优先级最高的作为默认项 sudo update-alternatives --auto java 4、删除候选项 sudo update-alternatives --rem…

MATLAB技巧:箱型图绘制

箱型图/箱线图 箱型图&#xff08;Box Plot&#xff09;&#xff0c;也称为盒须图或箱线图&#xff0c;是一种用于展示数据分布情况的统计图表。它通过展示数据的中位数、上下四分位数、最大值和最小值&#xff0c;可以直观地显示出数据的离散程度、偏态和异常值等信息。 箱型…

Python实现读取dxf文件的所有字符

Python实现读取dxf文件的所有字符 import ezdxfdef read_dxf_and_print_text(filename):# 加载DXF文件doc ezdxf.readfile(filename)# 遍历所有的实体for entity in doc.entities:# 检查实体是否是TEXT、MTEXT或DIMENSIONif isinstance(entity, ezdxf.entities.Text):print(f…

从头训练、采用预训练模型这两种方法在图像分类上的实践

参考书籍《Python深度学习》Chapter 5《深度学习用于计算机视觉》 演示数据&#xff1a;Dogs vs. Cats | Kaggle 1. 从头训练模型 1.1 不使用数据增强 1.2 使用数据增强 2. 使用预训练模型 去掉已有模型的最后的分类层。 2.1 直接使用已有模型的结果&#xff0c;再输入到新建…

【快捷部署】015_Minio(latest)

&#x1f4e3;【快捷部署系列】015期信息 编号选型版本操作系统部署形式部署模式复检时间015MiniolatestCentOS 7.XDocker单机2024-04-09 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff1a;c…

处理慢查询时使用explain一般看哪些字段

explain之后会出现这些&#xff0c;一般就只看下面这几个字段 select_type就是查询类型&#xff0c;在我司的业务里基本上用的都是简单查询&#xff0c;在内存中处理逻辑&#xff0c;复杂查询的话排查问题比较麻烦&#xff0c;引起慢查询还会拖累数据库&#xff0c;数据库里还…

Day:005 | Python爬虫:高效数据抓取的编程技术(爬虫效率)

爬虫之多线程-了解 单线程爬虫的问题 因为爬虫多为IO密集型的程序&#xff0c;而IO处理速度并不是很快&#xff0c;因此速度不会太快如果IO卡顿&#xff0c;直接影响速度 解决方案 考虑使用多线程、多进程 原理&#xff1a; 爬虫使用多线程来处理网络请求&#xff0c;使用线程…

python爬虫———激发学习兴趣的案列(第十三天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

OpenHarmony开发技术:【国际化】实例

国际化 如今越来的越多的应用都走向了海外&#xff0c;应用走向海外需要支持不同国家的语言&#xff0c;这就意味着应用资源文件需要支持不同语言环境下的显示。本节就介绍一下设备语言环境变更后&#xff0c;如何让应用支持多语言。 应用支持多语言 ArkUI开发框架对多语言的…

【MATLAB源码-第184期】基于matlab的FNN预测人民币美元汇率 输出预测图误差图RMSE R2 MAE MBE等指标

操作环境&#xff1a; MATLAB 2022a 1、算法描述 前馈神经网络&#xff08;Feedforward Neural Network, FNN&#xff09;是最简单也是应用最广泛的人工神经网络之一。在许多领域&#xff0c;尤其是数据预测方面&#xff0c;FNN已经展现出了卓越的性能和强大的适应性。 一、…