DNS 是应用层协议,用于将域名转换成 IP 地址。

1. 解析过程

DNS 的核心系统是一个三层的树状、分布式服务,基本对应域名的结构。

  1. 根域名服务器:管理顶级域名服务器,返回 com、net、cn 等顶级域名服务器的 IP 地址;
  2. 顶级域名服务器:管理各自域名下的权威域名服务器。例如 com 顶级域名服务器可以返回  baidu.com 域名服务器的 IP 地址;
  3. 权威域名服务器:管理自己域名下主机的 IP 地址。比如 baidu.com 权威域名服务器可以返回 www.baidu.com 的 IP 地址。

例如,要访问 www.baidu.com,就要进行下面的过程:

1)浏览器缓存:浏览器首先会再自己的缓存中查找是否有该域名对应的 IP 地址;
2)系统缓存:如果浏览器缓存中没有的话,就会自动检查本地 hosts 文件内是否有该域名对应的 IP;

3)本地DNS服务器:如果浏览器缓存和系统缓存都没有相应的映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器。

4)根域名服务器

5)顶级域名服务器

6)权威域名服务器

7)保存结果至缓存,同时将结果反馈给客户端。

2. 递归查询与迭代查询

1)主机向本地域名服务器的查询采用的是递归查询。

  如果主机询问的本地域名服务器不知道被查询的域名的 IP 地址,那么本地域名服务器就向根域名服务器发出查询请求。

2)本地域名服务器向根域名服务器的查询采用的是迭代查询。

   1) 本地域名服务器向根域名服务器发出的查询请求时,根域名服务器把自己所知道的“com”顶级域名服务器的的 IP 地址告诉本地域名服务器;

  2) 本地域名服务器再向“com”顶级域名服务器发出查询请求,顶级域名服务器把自己所知道的“baidu.com”权威域名服务器的 IP 地址告诉本地域名服务器;

  3) 本地域名服务器再向“baidu.com”权威域名服务器发出请求,权威域名服务器把www.baidu.com的 IP 地址告诉本地域名服务器。
最后,本地域名服务器把结果返回给主机。

  

DNS 解析过程的更多相关文章

  1. DNS解析过程

    参考: http://www.maixj.net/ict/dns-chaxun-9208 http://blog.it985.com/8389.html DNS(Domain Name System) ...

  2. DNS解析过程和DNS挟持

    1.DNS解析过程详解 1).在浏览器中输入一个域名,例如www.tmall.com,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析, ...

  3. (转)DNS解析过程详解

    DNS解析过程详解 原文:http://blog.csdn.net/crazw/article/details/8986504 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的 ...

  4. DNS解析过程详解(转载)

    DNS解析过程详解(转载) DNS Domain Name System 域名系统,它就是根据域名查出IP地址.    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址ww ...

  5. 浏览器与DNS解析过程

    浏览器解析 1.地址栏输入地址后,浏览器检查自身DNS缓存 地址栏输入chrome://net-internals/#dns 查看. 2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS ...

  6. DNS解析过程详解

    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点 ...

  7. DNS解析过程和域名收敛、域名发散、SPDY应用

    前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...

  8. 转载:DNS解析过程详解

    2015-09-20 此好文是转载,如有侵权联系我,立马删掉 DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com. ...

  9. DNS解析过程详解【转】

    转自:http://blog.chinaunix.net/uid-28216282-id-3757849.html 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www. ...

  10. DNS解析过程--笔试答题版

    在运维笔试的时候,回答DNS解析的过程,不能写一大堆,一是不美观,二是浪费时间,应该怎么写呢?我觉得这样写比较好. 1.客户端:chche----hosts 2.DNS服务器:cache---递归-- ...

随机推荐

  1. MzzTxx——团队贡献分分配方案

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 团队贡献分分配规则制定 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉全栈 ...

  2. [刷题] 70 Climbing Stairs

    要求 楼梯共有n个台阶,每次上一个台阶或两个台阶,一共有多少种上楼梯的方法? 示例 输入:n=3 [1,1,1],[1,2,],[2,1] 输出:n=3 实现 自顶向下(递归) 递归 1 class ...

  3. 将top命令的输出,写入到文件中 top -b -n 1 -d 3 >>file.txt

    top -b -n 1 -d 3 >>file.txt 解析: -b :batch模式,可以重定向到文件中 -n 1:一共取1次top数据.后边加数字,表示次数 -d 3:每次top时间间 ...

  4. 对于uos目前只能安装商店的感慨,强制安装除外

    对于uos目前只能安装商店的感慨,强制安装除外 jie1018 / 2020-5-16 21:35 浏览: 702 / 回复: 26     个人觉得,在软件不足的情况下,更应该是系统支持,而不是让用 ...

  5. ltp日志

    grep "fail" -i /var/log/messages |wc -lgrep "fail" -i /var/log/messagesgrep &quo ...

  6. STM32的引脚的配置

    http://blog.csdn.net/u010592722/article/details/45746079

  7. go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践

    大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还 ...

  8. java_[类加载器]

    Class 与 类加载 Class对象由JVM自动产生,每当一个类被加载时,JVM就自动为其生成一个Class对象,通过Class对象可以获得类的相关信息. 将类信息读到内存中过程,称为类加载 Jav ...

  9. Stream中的Peek操作

    1.引言 如果你试图对流操作中的流水线进行调试, 了解stream流水线每个操作之前和操作之后的中间值, 该如何去做? 首先我们看一个例子, 使用forEach将流操作的结果打印出来. 1 /** 2 ...

  10. Nginx的超时timeout配置详解

    Nginx的超时timeout配置详解 本文介绍 Nginx 的 超时(timeout)配置. Nginx 处理的每个请求均有相应的超时设置.如果做好这些超时时间的限定,判定超时后资源被释放,用来处理 ...