DNS域名解析

简介: 这个知识点已经是老生常谈,快被写烂了,但是为了自己能理解的更清楚一点,还是选择整理出一篇自己的文章。DNS( Domain Name System)是“域名系统”的英文缩写,主要作用就是将便于人类记忆的单词组合(如www.taobao.com),解析成不太容易记忆的数字组合(61.154.126.109)。

这个知识点已经是老生常谈,快被写烂了,但是为了自己能理解的更清楚一点,还是选择整理出一篇自己的文章。

DNS( Domain Name System)是“域名系统”的英文缩写,主要作用就是将便于人类记忆的单词组合(如www.taobao.com),解析成不太容易记忆的数字组合(61.154.126.109)。

我觉得这是互联网发展的必须结果,想一想如果没有DNS系统,平时我们想要访问百度,淘宝,腾讯的网站,都要在浏览器中输入一长串的数字,耗时又不方便,并且一旦想要访问的网站增多了,很多人也不愿意记这么多的数字在脑袋中。

然后好一点的办法就是把那些数字记录到一个清单里,对应是那个网站。仅供个人使用的时候还挺方便,但是一旦与网民互相交流的时候,每个人的清单列法不一样,讨论起来也不一致,所以规范很重要。

DNS就相当于整个网站映射的规范,适应与全球的网站,国内GFW即利用了DNS污染使得我们无法访问一些国外的网站。

过程

DNS解析过程可以分为有缓存的解析与无缓存的解析,一般都是有缓存的,虽然情况更复杂一些,但更贴近实际。

  1. 如果是在浏览器中输入域名, 检测浏览器是否有解析过的IP地址缓存,有的话直接使用上次解析的IP结果。

  2. 浏览器无缓存,则检查系统缓存。*nix下会检查/etc/hosts文件中是否有对应的缓存。Windows下会检查C:\Windows\System32\drivers\etc\hosts中内容。

    注意:黑客可以在解析的任一流程中修改解析对应的IP,将解析的IP指向黑客的服务器,导致域名被劫持。

  3. 本地缓存如果都没有的话,会将要解析的域名(www.taobao.com)发送到本地设置的 DNS服务器。即LDNS
    Linux下的NameServer配置信息在/etc/resolve.conf.

    这个专门的域名解析服务器性能都会很好,它们一般都会缓存域名解析结果,80%的域名解析到这里基本已经完成了,所以LDNS主要承担了域名的解析工作。

  4. 如果LDNS没有命中结果,就直接到Root Server域名服务器请求解析

  5. 根据域名服务器返回给本地域名服务器一个所查询域的主域名服务器,(gTLD Server)地址。gTLD是国际顶级域名服务,如.com, .cn, .org。

  6. 本地域名服务器LDNS再向上一步返回的gTLD服务器发送请求。

  7. 接受请求的gTLD服务器查找并返回对应Name Server域名服务器的地址。Name Server通常是注册的域名服务器。
    假如这是你再某个域名服务提供上申请的域名,那么这个域名的解析任务由这个域名提供商的服务器来完成。

  8. Name Server域名服务器会查询存储域名和IP的关系映射表,正常情况下都根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器。

  9. 根据返回该域名对应的IP和TTL值,本地DNS服务器,LDNS会缓存这域名和IP的对应关系,缓存时间由TTL值来控制。

  10. 把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。

最后

DNS域名解析过程在面试中也是经常问到的问题,做个整理,希望能帮助到大家,以后自己也方便查看。

参考

  • 深入理解Java Web 技术内幕
相关文章
|
4月前
|
监控
新功能上线:云解析DNS-重点域名监控功能发布
新功能上线:云解析DNS-重点域名监控功能发布
|
5月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
10月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
2337 0
|
8月前
|
网络协议 安全 区块链
DNS+:互联网的下一个十年,为什么域名系统正在重新定义数字生态? ——解读《“DNS+”发展白皮书(2023)》
DNS+标志着域名系统从基础寻址工具向融合技术、业态与治理的数字生态中枢转变。通过与IPv6、AI和区块链结合,DNS实现了智能调度、加密传输等新功能,支持工业互联网、Web3及万物互联场景。当前,中国IPv6用户达7.6亿,全球DNSSEC支持率三年增长80%,展现了其快速发展态势。然而,DNS+仍面临安全威胁、技术普惠瓶颈及生态协同挑战。未来,需推动零信任DNS模型、加强威胁情报共享,并加速标准制定,以筑牢数字时代网络根基,实现更安全、高效的数字生态建设。
557 4
|
9月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
970 2
|
11月前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
9月前
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
2571 0
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1057 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
451 4
|
11月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS