面试题24解析-详谈DNS域名解析过程

简介: 题目:描述一下DNS域名解析的过程?

前面的文章我们已经说过了,网站一般都是用B/S架构,统一使用应用层协议HTTP来进行数据交互,并且HTTP是无状态的短连接。每一个请求后台都有一个业务逻辑相对应。下面,咱们来看一下B/S网络架构的设计,如图所示:


image.png


我们可以从图中发现,首先,DNS把域名解析成对应的ip地址,然后再根据ip地址找到对应的服务器并发送GET请求,最终,服务器将相应的资源返回到客服端。接下来,我们来分析一下DNS到底是怎么进行解析的(红框标注的) ?



1域名解析的那几种方式?


A记录:用来指定域名对应的IP地址,A纪录可以将多个域名解析到一个IP地址,但不能将一个域名解析到多个IP地址。


MX记录:即Mail Exchange,它可以将域名下的邮箱服务器指向自己的Mail Server。


CNAME记录:即Canonical Name(别名解析),可以为一个域名设置一个或者多个别名。


NS记录:为某个域名指定DNS解析服务器,即该域名用指定的DNS服务器去解析IP地址。


TXT记录:为域名设置说明。


2怎么用工具查看域名解析过程?


在windows和linux环境,都可以用nslookup工具来查看解析结果,如图所示:

image.png

在linux系统,也可以使用dig命令来查询DNS的解析过程,如图所示:


image.png


image.png

从上面我们可以清楚的看到整个域名是如何发起和解析的。从根域名(.)到gtld server (.com),再到Name Server(baidu.com.)的整个过程,我们可以发现baidu的dns备份服务器有好几个。


3怎么清除缓存的域名?


在windows环境,我们可以用ipconfig工具来处理,命令如下:

ipconfig  /flushdns

结果如图所示:

image.png


在linux环境,我们可以用nscd 工具来处理,命令 如下:

sudo apt-get install nscd
sudo /etc/init.d/nscd restart

结果如图所示:


image.png


4JVM中DNS缓存设置


一般像高级语言的虚拟机都会缓存DNS解析结果,因为这样可以节约DNS解析时间,同样JVM也不例外;JVM的DNS缓存一般是在InetAddress类中完成的,它有两种缓存结果,一种是正确解析结果的缓存,另一种是失败解析结果的缓存。由两个配置项来控制,配置项是在%JAVA_HOME%\lib\security\java.security文件中配置的。两个配置项分布是networkaddress.cache.ttl和networkaddress.cache.negtive.ttl,其默认值分别是-1(永不失效)和10(保留10秒钟)。


怎么进行修改呢?

  1. 直接修改java.secury文件的默认值。
  2. 在JAVA启动时加启动参数 -Dsun.NET.inetaddress.ttl=XXX来修改默认值。


5DNS域名解析详细过程


主要请求过程实例图如下所示:


image.png


下面,咱们结合图来详细聊聊它的请求流程:


首先,浏览器会检查缓存中有没有这个域名所对应的ip地址;如果有,整个解析过程就结束了;如果没有,则会查找操作系统缓存中是否有这个域名对应的DNS解析结果。操作系统也可以通过改hosts文件来改变DNS解析过程。


操作系统会把域名发送到你系统设置的LDNS(本地区域服务器)进行解析;如果没有命中,直接向Root Server域名服务器发送请求,根域名服务器直接返回本地域名服务器一个所查询域的主域名服务器(gTLD),如  .com/.cn/.org等;


本地域名服务器再向上一步返回的gTLD服务器发送请求,gTLD服务器查找并返回该域名对应的Name Server域名服务器地址,该Name Server通常是你注册的域名服务器;Name Server会查找域名和IP的映射表,并返回对应的IP和TTL;


Local DNS Server会缓存这个域名和IP的映射关系,缓存时间由TTL决定,并把解析结果返回给用户,用户的本地域名缓存时间也由TTL决定。


6造成DNS域传输漏洞原因?


DNS区域传送:指一台备用服务器使用来自主服务器的数据刷新自己的域数据库。


一般只有在真的需要备用域名DNS服务器的安全网络环境中才有必要使用DNS区域传送,但是许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供一个zone数据库的详细信息,造成这个漏洞的主要原因是:允许了不受信任的网络环境用户执行DNS区域传送(zone transfer)操作。




相关文章
|
4月前
|
监控
新功能上线:云解析DNS-重点域名监控功能发布
新功能上线:云解析DNS-重点域名监控功能发布
|
10月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
2462 0
备案成功以后,也解析了为什么没办法通过域名收到网站呢
网站备案成功后仍无法通过域名访问,可能涉及解析设置错误、服务器配置问题或网络限制等原因。本文将详细分析常见原因并提供解决方案。
|
8月前
|
网络协议 安全 区块链
DNS+:互联网的下一个十年,为什么域名系统正在重新定义数字生态? ——解读《“DNS+”发展白皮书(2023)》
DNS+标志着域名系统从基础寻址工具向融合技术、业态与治理的数字生态中枢转变。通过与IPv6、AI和区块链结合,DNS实现了智能调度、加密传输等新功能,支持工业互联网、Web3及万物互联场景。当前,中国IPv6用户达7.6亿,全球DNSSEC支持率三年增长80%,展现了其快速发展态势。然而,DNS+仍面临安全威胁、技术普惠瓶颈及生态协同挑战。未来,需推动零信任DNS模型、加强威胁情报共享,并加速标准制定,以筑牢数字时代网络根基,实现更安全、高效的数字生态建设。
571 4
|
9月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
1005 2
|
11月前
|
机器学习/深度学习 人工智能 JSON
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
Resume Matcher 是一款开源AI简历优化工具,通过解析简历和职位描述,提取关键词并计算文本相似性,帮助求职者优化简历内容,提升通过自动化筛选系统(ATS)的概率,增加面试机会。
1423 18
Resume Matcher:增加面试机会!开源AI简历优化工具,一键解析简历和职位描述并优化
|
11月前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
12月前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
294 0
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1097 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
467 4

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS