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. Java中Stream流相关介绍

    什么是Stream? Stream是JDK8 API的新成员,它允许以声明性方式处理数据集合 特点 代码简洁: 函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环 多核友好 ...

  2. 一文学完makefile语法

    一.开始 1.Hello World 新建一个makefile文件,写入如下内容, hello: echo "Hello World" clean: echo "clea ...

  3. [bug] Flask css 不更新

    参考 https://blog.csdn.net/weixin_30454481/article/details/97108510

  4. [刷题] 70 Climbing Stairs

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

  5. 《SystemVerilog验证-测试平台编写指南》学习 - 第1章 验证导论

    <SystemVerilog验证-测试平台编写指南>学习 - 第1章 验证导论 测试平台(testbench)的功能 方法学基础 1. 受约束的随机激励 2. 功能覆盖率 3. 分层的测试 ...

  6. ar是System Activity Reporter(系统活动情况报告)的缩写。这

    ar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工具将对系统当前的状态就行取样,然后通过 ...

  7. Linux服务之nginx服务篇一(概念)

    nginx官网:http://nginx.org/ 一. nginx和apache的区别 Nginx: 1.轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源. 2.抗并发,ng ...

  8. 11.14 mii-tool:管理网络接口的状态

    mii-tool命令用于查看.管理网络接口,默认情况下网卡的状态是自动协商的,但是有时也会出现不正常的情况,可以使用mii-tool进行调整. mii-tool [option] [interface ...

  9. 按时按登录IP记录Linux所有用户操作日志的方法

    背景:Linux用户操作记录一般通过命令history来查看历史记录,但是如果因为某人误操作了删除了重要的数据,这种情况下history命令就不会有什么作用了.以下方法可以实现通过记录登陆IP地址和所 ...

  10. 使用Tomcat插件控制台中文乱码解决方案(IDEA)(Day_51)

    解决方案 1. File -> Settings... 2. 搜索 Runner (运行程序),在 'VM options:' 中添加:-Dfile.encoding=GB2312 注:GB23 ...