DNS域名解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 这个知识点已经是老生常谈,快被写烂了,但是为了自己能理解的更清楚一点,还是选择整理出一篇自己的文章。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 技术内幕
相关文章
|
10天前
|
域名解析 网络协议 安全
反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性
在网络世界中,反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性。它在邮件服务器验证、网络安全等领域至关重要,帮助识别恶意行为,增强网络安全性。尽管存在配置错误等挑战,但正确管理下,反向DNS解析能显著提升网络环境的安全性和可靠性。
37 3
|
18天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
60 3
|
1月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
2月前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
60 4
|
2月前
|
域名解析 网络协议
非阿里云注册域名如何在云解析DNS设置解析?
非阿里云注册域名如何在云解析DNS设置解析?
|
2月前
|
域名解析 弹性计算
内网域?名解析记录是否会覆盖公网域名解析记录?
内网域?名解析记录是否会覆盖公网域名解析记录?
|
2月前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
17天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
47 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
70 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多