文章目录

  • 什么是DNS域名解析
  • DNS服务器
  • DNS域名解析流程

什么是DNS域名解析

我们首先要了解域名和IP地址的区别。IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网计算机都需要通过IP地址来互相联系和分别。
但由于IP地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的IP地址,这样对于我们日常工作生活访问不同网站是很困难的。基于这种背景,人们在IP地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比IP地址更易被识别和记忆,逐渐代替IP地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名
域名虽然更易被用户所接受和使用,但计算机只能识别纯数字构成的IP地址,不能直接读取域名。因此要想达到访问效果,就需要将域名翻译成IP地址。而DNS域名解析承担的就是这种翻译效果。
DNS(Domain Name System)域名管理系统,是当用户使用浏览器访问网址之后,使用的第一个重要协议。DNS 要解决的是域名和 IP 地址的映射问题

DNS服务器

DNS 服务器自底向上可以依次分为以下几个层级(所有 DNS 服务器都属于以下四个类别之一):

  • 根 DNS 服务器。根 DNS 服务器提供 TLD 服务器的 IP 地址。目前世界上只有 13 组根服务器,我国境内目前仍没有根服务器。
  • 顶级域 DNS 服务器(TLD 服务器)。顶级域是指域名的后缀,如com、org、net和edu等。国家也有自己的顶级域,如uk、fr和ca。TLD 服务器提供了权威 DNS 服务器的 IP 地址。
  • 权威 DNS 服务器。在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的 DNS 记录,这些记录将这些主机的名字映射为 IP 地址。
  • 本地 DNS 服务器。每个 ISP(互联网服务提供商)都有一个自己的本地 DNS 服务器。当主机发出 DNS 请求时,该请求被发往本地 DNS 服务器,它起着代理的作用,并将该请求转发到 DNS 层次结构中。严格说来,不属于 DNS 层级结构。
    世界上并不是只有 13 台根服务器,这是很多人普遍的误解,网上很多文章也是这么写的。实际上,现在根服务器数量远远超过这个数量。最初确实是为 DNS 根服务器分配了 13 个 IP 地址,每个 IP 地址对应一个不同的根 DNS 服务器。然而,由于互联网的快速发展和增长,这个原始的架构变得不太适应当前的需求。为了提高 DNS 的可靠性、安全性和性能,目前这 13 个 IP 地址中的每一个都有多个服务器,截止到 2023 年底,所有根服务器之和达到了 600 多台,未来还会继续增加

DNS域名解析流程

DNS 的查询解析过程分为两种模式:

  • 迭代
  • 递归

下图是实践中常采用的方式,从请求主机到本地 DNS 服务器的查询是递归的,其余的查询是迭代的。
在这里插入图片描述
现在,主机cis.poly.edu想知道gaia.cs.umass.edu的 IP 地址。假设主机cis.poly.edu的本地 DNS 服务器为dns.poly.edu,并且gaia.cs.umass.edu的权威 DNS 服务器为dns.cs.umass.edu。

  1. 首先,主机cis.poly.edu向本地 DNS 服务器dns.poly.edu发送一个 DNS
    请求,该查询报文包含被转换的域名gaia.cs.umass.edu。

  2. 本地 DNS 服务器dns.poly.edu检查本机缓存,发现并无记录,也不知道gaia.cs.umass.edu的 IP地址该在何处,不得不向根服务器发送请求。

  3. 根服务器注意到请求报文中含有edu顶级域,因此告诉本地 DNS,你可以向edu的 TLD DNS 发送请求,因为目标域名的 IP
    地址很可能在那里。

  4. 本地 DNS 获取到了edu的 TLD DNS 服务器地址,向其发送请求,询问gaia.cs.umass.edu的 IP 地址。

  5. edu的 TLD DNS 服务器仍不清楚请求域名的 IP 地址,但是它注意到该域名有umass.edu前缀,因此返回告知本地
    DNS,umass.edu的权威服务器可能记录了目标域名的 IP 地址。

  6. 这一次,本地 DNS 将请求发送给权威 DNS 服务器dns.cs.umass.edu。

  7. 终于,由于gaia.cs.umass.edu向权威 DNS 服务器备案过,在这里有它的 IP 地址记录,权威 DNS 成功地将 IP
    地址返回给本地 DNS。

  8. 最后,本地 DNS 获取到了目标域名的 IP 地址,将其返回给请求主机。

除了迭代式查询,还有一种递归式查询如下图,具体过程和上述类似,只是顺序有所不同。

除了迭代式查询,还有一种递归式查询如下图,具体过程和上述类似,只是顺序有所不同
在这里插入图片描述

另外,DNS 的缓存位于本地 DNS 服务器。由于全世界的根服务器甚少,只有 600 多台,分为 13 组,且顶级域的数量也在一个可数的范围内,因此本地 DNS 通常已经缓存了很多 TLD DNS 服务器,所以在实际查找过程中,无需访问根服务器。根服务器通常是被跳过的,不请求的。这样可以提高 DNS 查询的效率和速度,减少对根服务器和 TLD 服务器的负担。

参考链接:https://javaguide.cn/cs-basics/network/dns.html

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

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

相关文章

用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发

目录 1. SYSTICK 定时器的基本功:时间管理大师 1.1 SYSTICK 的核心寄存器与工作原理 1.2 配置 SYSTICK 的正确姿势 1.3 实战:用 SYSTICK 实现精准延时 1.4 小技巧:SYSTICK 的低功耗优化 2. SYSTICK 中断:让你的程序“活”起来 2.1 配置 SYSTICK 中断 2.2 实战:用 S…

Sa-Token:轻量级Java权限认证框架使用指南

一、Sa-Token简介 Sa-Token 是一个专注于权限认证的轻量级 Java 框架,旨在简化登录认证、权限控制等功能的实现。其核心功能包括: 登录认证:通过 Token 机制管理用户会话,支持单点登录(SSO)。权限认证&am…

动态 vs 静态住宅代理,哪种更适合广告投手?

在广告投放行业,无论你是跑Facebook、Google Ads,还是做TikTok、原生广告,代理IP几乎是绕不开的话题。而选择动态住宅代理还是静态住宅代理,对广告账户的稳定性、投放质量甚至生命周期都有直接影响。本篇文章将结合IPFoxy代理&…

命题是一种清晰、确定的表达。通过学习命题,来帮助你更清晰地表达自己的思想。

文章目录 引言 I 命题的特点 可以判断真伪 同一性 II 有效沟通的小技巧 多用陈述句,少用感叹句和疑问句。 在表述意思时,多用名词,少用代词;多用具体的名词,少用抽象的名词,避免造成不必要的歧义。 正确找托词 引言 要进行有效的逻辑推理,第一步是把我们的想法,我们要…

IPV6地址与IPV4有什么区别?

作为互联网协议的迭代版本,IPV6(Internet Protocol Version 6)与IPV4(Internet Protocol Version 4)在设计理念和功能特性上存在显著差异。本文将简要解析两者的核心区别,帮助读者理解IPV6的优势与必要性。…

python 什么时候应该用函数式编程,什么时候应该用面向对象?

在 Python 这个多范式语言中,选择使用函数式编程(Functional Programming, FP)还是面向对象编程(OOP)并非一个非黑即白的选择,而更像是在一个工具箱中为特定的任务挑选最合适的工具。 我们可以用一个比喻来…

【设计模式】迭代器模式 (游标(Cursor)模式)

迭代器模式(Iterator Pattern)详解一、迭代器模式简介 迭代器模式(Iterator Pattern) 是一种 行为型设计模式(对象行为型模式),它提供了一种方法来顺序访问一个聚合对象中的各个元素&#xff0c…

docker安装 Elasticsearch、Kibana、IK 分词器

Elasticsearch 1.拉去镜像 docker pull elasticsearch:8.12.2 docker pull kibana:8.12.22.创建挂载目录 mkdir /root/elasticsearch3.不挂载启动 docker run -d \ --restartalways \ --name fusion_elasticsearch \ --network fusion_network \ -p 9200:9200 \ -p …

Java面试宝典:Spring专题二

一、介绍下Spring中的事务 1.Spring事务的本质与价值 Spring事务本质是基于AOP的声明式事务封装,通过代理机制在目标方法前后注入事务管理逻辑(开启、提交/回滚)。其核心价值在于: 业务解耦:将事务控制从业务代码剥离,通过配置或注解管理(如@Transactional)。 统一抽…

DGMR压缩技术:让大规模视觉Transformer模型体积减半而性能不减

Transformer架构展现出卓越的扩展特性,其性能随模型容量增长而持续提升。大规模模型在获得优异性能的同时,也带来了显著的计算和存储开销。深入分析主流Transformer架构发现,多层感知器(MLP)模块占据了模型参数的主要部…

JavaWeb学习打卡14(JSP内置对象及作用域)

JSP 中9 大内置对象PageContext // 用来存东西Request // 用来存东西ResponseSession // 用来存东西Application (ServletContext) // 用来存东西config (ServletConfig)outpage…

涛思数据参与起草中国工业互联网研究院《工业数据库规范》全系列标准

最近,《工业数据库规范》系列团体标准正式发布。该标准由中国工业互联网研究院牵头,中国移动通信联合会发布,共分为三部分—— 第1部分:云数据库第2部分:实时数据库第3部分:时序数据库 涛思数据作为三项标…

使用exceljs导出luckysheet表格 纯前端 支持离线使用

一.技术 exceljs,luckysheet 二.实现 参考网上博文exceljs对导出lucksheet表格的实现,发现存在一些问题并给予修复: 1.字体颜色、字号,加粗等适配的问题. 2.单元格对齐方式不生效; 3.单元格边框无法绘制; 4.单元格边框颜色及线型错乱; 5.单元格列…

从0到1学习c++ 命名空间

也是好久没写博客了,主播这半年一直在忙别的领域,在磁力驱动领域干了一年,最好发现自己对这个领域并不是很感兴趣,做这个领域多半都是为了发文章,现在闲下来了,主播终于也是过上好日子了,主播又…

大模型提示词漏洞攻防测试:技术分析与实践指南

引言 随着ChatGPT、Claude、Gemini等大型语言模型(LLMs)的广泛应用,它们已经成为现代AI系统的核心组件,被整合到各种产品和服务中。这些模型通过提示。Prompts)与用户进行交互,而提示词作为人类与AI沟通的桥梁,其安全性变得尤为重…

Golang实现 - 实现只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选项

该版本完全兼容最新版 excelize 库 (v2.7),实现了只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选择箭头。代码如下:package mainimport ("fmt""log&qu…

全连接队列

监听套接字使用socket接口创建一个套接字,然后bind给套接字绑定地址,最后listen将套接字设置为监听套接字。监听套接字以前理解是三元组标识,后面看了netstat,觉得应该是五元组,只不过它这个五元组是{协议,…

JavaWeb-JSP

JSP JSP就是模板引擎 Template,因为看到的jsp是模板不变的,如果想让页面发生改变,就是自己添加java代码改变页面。有Java代码,Tomcat服务器就会对jsp模板进行解析,解析完之后就是Servlet(java类&#xff09…

大模型中常说的Token到底是什么?和Cookie和Session有什么区别?一文讲清

什么是Token(令牌)Acesss Token是访问资源接口(API)时所需要的资源凭证。简单token的组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长…

RAGFlow:检索增强生成技术的高效实现与深度探索

在当今信息爆炸的时代,如何从海量的数据中快速、准确地获取并利用有价值的信息,成为了众多领域面临的关键挑战。检索增强生成(Retrieval-Augmented Generation, RAG)技术应运而生,它将信息检索与大型语言模型&#xff…