DNS域名解析

域名解析过程

以用户输入开源中国的域名www.oschina.net为例,DNS解析大约有以下几个步骤:

第一步:本地域名解析:

  1. 浏览器检查缓存中是否有www.oschina.net对应的IP地址。如果缓存中有,那么DNS域名解析过程就此结束。当然,缓存是第一次解析时保存的,而且会有有效时间限制。缓存时间不能过长,否则如果域名解析到IP有变化,会导致用户这段时间无法访问网站;时间过短则每次都要解析。
  2. 不止浏览器,操作系统同样有域名解析过程。所以如果第一步浏览器缓存没命中,会查操作系统的DNS解析缓存。操作系统的域名解析可以通过hosts文件来设置。如果在hosts文件中制定了某个域名对应的IP,那么浏览器会优先使用该IP。所以我们可以通过修改hosts文件来科学上网。当然,正因为这种本地DNS域名解析过程,黑客可以通过修改该文件来进行域名劫持。

第二步:本地区域名服务器解析:

如果第一步本地无法解析该域名,那么操作系统会把该域名发送给LDNS(当地的域名服务器)解析。比如通过校园网上网的话就是LDNS就是学校的域名服务器,在家的话就是当地上网服务提供商比如电信DNS服务器。LDNS同样会缓存一段时间内的域名解析结果,基本上大部分域名解析工作都可以在这里完成。

第三步:根域名服务器(Root Server)解析:

如果LDNS仍然无法解析,LDNS服务器会向Root Server服务器请求解析。Root Server服务器会返回给LDNS一个地址,该地址是所查询域的主域名服务器(gTLD Server)的地址,比如我们的例子,则返回.net主域名的服务器地址。

第四步:主域名服务器(gTLD Server)解析:

LDNS拿到gTLD Server服务器地址后,向该主域名服务器请求解析,gTLD Server服务器同样会返回给LDNS一个地址,该地址是所查询的域名注册的域名服务器。www.oschina.net当初是在哪个域名提供商的服务器上申请的域名,则这个域名解析任务由该域名提供商的服务器完成。这个服务器一般称为Name Server域名服务器。

第五步:注册时的域名服务器(Name Server)解析:

Name Server域名服务器查询域名/IP映射表,返回相应的IP地址和TTL给LDNS。LDNS返回解析结果给用户,用户根据TTL值缓存到本地,域名解析过程结束。

注意:windows系统中可以通过ipconfig查询LDNS服务器地址,可以通过ipconfig /flushdns刷新缓存。

域名解析方式

域名解析主要有两种方式:递归解析和反复解析。

  • 递归解析要求名字服务器一次性完成全部名字到地址转换
  • 反复解析指每次请求一个服务器,如果不通再请求别的服务器

常见的域名解析方法:

  • A记录:A记录解析是最为常见的域名解析方式,用来指定域名对应的IP地址
  • MX记录:相对用到较少的一种解析,MX记录是做邮箱解析使用的
  • CNAME记录:别名解析,可以为一个域名设置一个或多个别名
  • NS记录:指定该域名由哪个DNS服务器来进行解析
  • TXT记录:为某个主机名或域名设置说明

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券