写点什么

怎么把域名解析到 IP 地址?流程有哪些?一文讲清域名解析那些事

作者:国科云
  • 2024-12-13
    北京
  • 本文字数:1160 字

    阅读完需:约 4 分钟

在大部分场景下,人们通过域名访问网站,然而计算机之间使用 IP 地址进行定位通讯,并不能直接识别域名,因此需要把人们习惯使用的域名解析到计算机能够理解的 IP 地址上,这个过程被称为域名解析,或DNS解析

如何设置域名解析?

大部分域名注册商都提供域名解析服务,登录域名注册商的域名解析控制平台,添加一条解析记录,设置好主机值、记录类型、解析线路、记录值、TTL 值等参数后,保存提交,解析记录生效后,即完成域名解析的设置工作,用户就可以通过域名访问对应的 IP 地址。

比如我们想把“www.example.com”这个域名指向 1.1.1.1 这个 IP 地址,就需要添加一条解析记录。

其中主机值填写“wwww”,记录类型选择 A 记录,解析线路和 TTL 值选择默认即可,记录值填写 1.1.1.1,提交保存,解析生效后,通过 www.example.com 这个域名即可访问到 1.1.1.1 这个 IP 地址。

域名解析的步骤流程是什么样的?

理想的域名解析流程如下:

用户发起解析请求:用户在浏览器输入一个域名尝试访问时,会首先请求客户端设置的本地 DNS。

请求根域名服务器:本地 DNS 服务器请求根域名服务器(.),根域名服务器告知下一级顶级域名服务器(.com、.net)的地址。

请求顶级域名服务器:本地 DNS 服务器请求顶级域名服务器,顶级域名服务器告知下一级权威域名服务器的地址。

请求权威域名服务器:本地 DNS 服务器请求权威域名服务器。权威域名服务器负责某个具体域名的解析工作,并为本地 DNS 服务器返回最终的解析结果。

用户访问网站:本地 DNS 服务器将得到的解析结果告知用户浏览器,用户通过域名对应的 IP 地址访问网站获取信息或服务。

以上是一个标准且理想的域名解析流程,然而在实际的解析过程中,为了节省解析时间,优化用户的访问体验,域名解析引入了 DNS 缓存机制。

当用户发起解析请求时,并不是每一次都会依次从根服务器请求到权威域名服务器,而是会尽可能地利用各级 DNS 服务器中的缓存,来加快解析的速度。

当用户在浏览器输入域名后,并不会直接去请求本地 DNS 服务器,而是会检查自身的缓存。如果自身缓存中有该域名的解析记录,就会直接取出并进行访问。

如果浏览器中没有找到对应的 IP 地址,浏览器就会查询系统缓存,看看本机的 hosts 文件中是否有结果。hosts 文件是一个静态的域名解析文件,可以将域名手动绑定到某个 IP 地址上。如果 hosts 文件中找到了对应的域名和 IP 地址,则直接返回该 IP 地址。

如果 hosts 文件也没有域名的解析记录,浏览器才会去向本地 DNS 服务器发起域名解析请求。本地 DNS 服务器收到请求后,也不会直接请求根域名服务器,而是先查询自己的缓存,缓存中有记录,直接返回给用户。如果缓存中没有记录,才会依次向根域名服务器、顶级域名服务器、权威域名服务器发起请求。

在从权威域名服务器获取到最新的域名解析记录后,本地 DNS 服务器除了将结果告知用户浏览器外,还会将结果缓存在自身一段时间,供下一次用户访问时直接读取告知。


用户头像

国科云

关注

还未添加个人签名 2021-01-07 加入

还未添加个人简介

评论

发布
暂无评论
怎么把域名解析到IP地址?流程有哪些?一文讲清域名解析那些事_国科云_InfoQ写作社区