DNS查询过程
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查询过程的更多相关文章
- 【转】DNS查询过程
DNS查询过程 DNS的查询过程是指在客户端通过DNS服务器将一个IP地址转换为一个FQDN(Fully Qualified Domain Name,完全合格的域名),或将一个FQDN转化为一个IP地 ...
- [日常] DNS的迭代查询过程
DNS是应用层协议,端口号为tcp/53和udp/53 DNS查询过程,比如访问www.test.com1.客户机查询www.test.com2.查询首选DNS服务器,Linux下/etc/resol ...
- 转载 DNS查询流程简介
转载请注明出处:http://blog.csdn.net/luotuo44/article/details/45545059 DNS(domain name system),读者们或多或少都听过,就是 ...
- DNS查询相关
本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/45 一种简单的设计方式是在因特网上使用一个DNS服务器,该服务器 ...
- DNS查询的工作原理
二.DNS查询的工作原理 1.DNS查询过程按两部分进行 1.名称查询从客户端计算机开始, 并传送给本机的DNS客户服务程序进行解析 2.如果不能再本机解析查询, 可根据设定的查询DN ...
- DNS解析过程详解
先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点 ...
- DNS解析过程和域名收敛、域名发散、SPDY应用
前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...
- DNS域名解析过程
图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...
- Java内部DNS查询实现和参数设置
一.Java内部DNS查询 Java使用域名查询时,用的自己内部的域名实现机制,最后都是交给InetAddress去做DNS解析. 源码分析参考:http://blog.arganzheng.me/p ...
随机推荐
- 自己设计的java web消息提示机制
最近在做个类CMS的一个系统,前端展示都OK了,在做后台管理,就是对数据库的增删改查.使用SSH实现功能倒也蛮简单的,只是为了人性化的设计,需要做一些提示机制,比如用户删除了一条数据给个删除成功的提示 ...
- centos7安装redis3.2.12
1.准备安装包,放在/usr/local/src/ 2.解压安装包,解压到/usr/local/ tar zxf redis-3.2.12.tar.gz -C /usr/local/ 3.cd /us ...
- 笔记-JavaWeb学习之旅3
数据库的设计 1.多表之间的关系 一对一 一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键 一对多 在多的一方建立外键指向一的一方建立主键 多对多 多对多关系实现需要借助第三张中间表.中间表 ...
- logrotate日志转储
1 工具目录 ***系统开启selinux,logrotate会不生效*** linux默认会安装logrotate工具,自身的boot.log就是通过它分割转储的. [root@webmaster ...
- UWP 实现分享功能
一:需求 实现点击分享按钮,分享内容到微博,邮箱等.. like this 二:DataTransferManager 数据传输管理类 DataTransferManager dataTransfer ...
- ssh密钥分发之二:使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:
使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使 ...
- Testing Round #12 C
Description For the given sequence with n different elements find the number of increasing subsequen ...
- h5-26-web本地存储
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- [转]Java中Date转换大全,返回yyyy-MM-dd的Date类型
/** * 获取现在时间,这个好用 * * @return返回长时间格式 yyyy-MM-dd HH:mm:ss */ public static Date getSqlDate() { Date s ...
- HDU 1223 打表 + 大数
http://acm.hdu.edu.cn/showproblem.php?pid=1223 一般遇到这些题,我都是暴力输出前几项,找规律.未果. 然后输出n = 1时候,以A开始,有多少个答案, n ...