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 条评论
登录 后参与评论

相关文章

  • SpringMVC--Json数据交互笔记

    SuperHeroes
  • 应用层的常见协议

    SuperHeroes
  • Mybatis--全局配置文件笔记

    SuperHeroes
  • Nest.js 从零到壹系列(六):用 15 行代码实现 RBAC 0

    上一篇介绍了如何使用 DTO 和管道对入参进行验证,接下来介绍一下如何用拦截器,实现后台管理系统中最复杂、也最令人头疼的 RBAC。

    一只图雀
  • Shell脚本应用(shell脚本基础与shell变量)

    L宝宝聊IT
  • 利用Docker volume修改Nginx Docker镜像里index.html

    通过这个小例子我们可以进一步加深对Docker volume概念的理解和使用方法。

    Jerry Wang
  • ubuntu安装sql-server

    微软在2016年宣布sqlserver支持linux,目前支持在docker,ubuntu,,centos,suse上安装,安装过程也很简单,就是添加软件源然后...

    bboysoul
  • 传统方法的点云分割以及PCL中分割模块

    之前在微信公众号中更新了以下几个章节 1,如何学习PCL以及一些基础的知识 2,PCL中IO口以及common模块的介绍 3, PCL中常用的两种数据结构KD...

    点云PCL博主
  • 腾讯云部署nginx静态项目

    部署静态页面归纳为2点:①:项目相关的文件上传到云服务上;②:可以通过IP或者域名打开页面

    tengxunyun8点com活动整理
  • Scrapy 持续自动翻页爬去数据

    待你如初见

扫码关注云+社区

领取腾讯云代金券