DNS查询过程

假设www.abc.com的主机要查询www.xyz.abc.com的服务器ip地址。

知识点

1、hosts文件:以静态映射的方式提供IP地址与主机名的对照表,类似ARP表

2、域:abc.com是一个域,它可以划分为多个区域,如abc.com和xyz.abc.com

步骤

递归查询

第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址

第二步:上一步无法找到,去DNS本地服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找

第三步:本地DNS服务器查不到就根据‘根提示文件’向负责顶级域‘.com’的DNS服务器查询

第四步:‘根DNS服务器’根据查询域名中的‘xyz.com’,再向xyz.com的区域服务器查询

第五步:www.xyz.abc.com的DNS服务器直接解析该域名,将查询到的ip再原路返回给请求查询的主机

迭代查询

第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址

第二步:上一步无法找到,在DNS本地服务器(即域服务器)查找所有本层次的区域服务器

第三步:本地DNS服务器查不到就查询上一层次的所有区域服务器,以此类推直至根域名DNS服务器‘.’

第四步:到达根域名服务器后又向下查询,直至查到结果为止。

迭代查询与递归查询结合

递归查询需要经过逐层查询才能获得查询结果,当查询具有许多层次的DNS结构时效率很低,所以一般采用两者相结合的查询方式。

第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址

第二步:上一步无法找到,去DNS本地服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找

第三步:本地DNS服务器查不到就根据‘根提示文件’向负责顶级域‘.com’的根DNS服务器查询

第四步:根DNS服务器直接将其区域DNS服务器的ip地址返回给本地服务器,而不用再向xyz.com的区域服务器查询。

第五步:本地DNS服务器将结果返回给请求的主机

DNS查询过程的更多相关文章

  1. 【转】DNS查询过程

    DNS查询过程 DNS的查询过程是指在客户端通过DNS服务器将一个IP地址转换为一个FQDN(Fully Qualified Domain Name,完全合格的域名),或将一个FQDN转化为一个IP地 ...

  2. [日常] DNS的迭代查询过程

    DNS是应用层协议,端口号为tcp/53和udp/53 DNS查询过程,比如访问www.test.com1.客户机查询www.test.com2.查询首选DNS服务器,Linux下/etc/resol ...

  3. 转载 DNS查询流程简介

    转载请注明出处:http://blog.csdn.net/luotuo44/article/details/45545059 DNS(domain name system),读者们或多或少都听过,就是 ...

  4. DNS查询相关

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/45 一种简单的设计方式是在因特网上使用一个DNS服务器,该服务器 ...

  5. DNS查询的工作原理

    二.DNS查询的工作原理 1.DNS查询过程按两部分进行     1.名称查询从客户端计算机开始, 并传送给本机的DNS客户服务程序进行解析     2.如果不能再本机解析查询, 可根据设定的查询DN ...

  6. DNS解析过程详解

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

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

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

  8. DNS域名解析过程

    图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...

  9. Java内部DNS查询实现和参数设置

    一.Java内部DNS查询 Java使用域名查询时,用的自己内部的域名实现机制,最后都是交给InetAddress去做DNS解析. 源码分析参考:http://blog.arganzheng.me/p ...

随机推荐

  1. Start Developing Mac Apps -- Mac App Store Mac 应用商店

      Mac App Store The information you’ve read so far focused on how to create an app in Xcode. However ...

  2. kubeadm安装Kubernetes13.1集群-三

    环境: master: 192.168.3.100 node01: 192.168.3.101 node02: 192.168.3.102 关闭所有主机防火墙,selinux: 配置主机互信: mas ...

  3. 安装Nginx作为文件服务器

    我是在Windows上安装的,在Linux上也一样 #Windows server2008 R2 #Nginx1.12 Nginx安装包下载地址:http://nginx.org/en/downloa ...

  4. UVa 11584 Partitioning by Palindromes (简单DP)

    题意:给定一个字符串,求出它最少可分成几个回文串. 析:dp[i] 表示前 i 个字符最少可分成几个回文串,dp[i] = min{ 1 + dp[j-1] | j-i是回文}. 代码如下: #pra ...

  5. 算法练习--LeetCode--54. Spiral Matrix 100%

      Spiral MatrixMedium Given a matrix of m x n elements (m rows, n columns), return all elements of t ...

  6. poj1837【背包】

    题意: 有一根杆子,给出一些杆子上的位置,位置上能放重物,再给出一些重物的重量. 重物都需要被使用,但是位置不一定都要用到. 问你能有多少种方法让这个杆子平衡. 思路: 在位置上是0/1背包思想,取或 ...

  7. MVC 感触

    这几天接触了下 ef+ MVC+WEBAPI +bootstrop VIEW--->Controller  -->WebAPI  ---Model (Linq) 记住 VIEW里的 csh ...

  8. C++伪函数

    #include <iostream> void say_hello() { std::cout << "hello world !" << s ...

  9. Iahub and Xors Codeforces - 341D

    二维线段树被卡M+T...于是去学二维树状数组区间更新区间查询 树状数组维护数列区间xor的修改.删除(就是把原问题改成一维): 以下p*i实际都指i个p相xor,即(i&1)*pa表示原数列 ...

  10. Codeforces Round #323 (Div. 2)

    被进爷坑了,第二天的比赛改到了12点 水 A - Asphalting Roads /************************************************ * Author ...