Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1741440
  • 博文数量: 782
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 4140
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-06 21:37
个人简介

Linux ,c/c++, web,前端,php,js

文章分类

全部博文(782)

文章存档

2015年(8)

2014年(28)

2013年(110)

2012年(307)

2011年(329)

分类: LINUX

2011-09-15 10:35:58

dig +trace
 
先看下 普通递归查询的拓扑

很简单的一次查询,Client 请求递归查询,DNS Server 支持并使用递归,完成所有工作,然后返回结果给Client!

然后看看 dig @202.101.01.10 +trace  后的拓扑!





dig @202.101.10.10 +trace
步骤:
1:-> DNS Server 发送递归查询 . NS                   #查询 . 根
2:DNS Server 返回 . NS 记录!
3:-> . (root) NS 发送迭代查询
4:. (root)  NS 返回 .com NS 记录,和对应的A 记录!
5:-> DNS Server 发送递归查询  com NS记录对应的IP.
6:
DNS Server 返回 com NS 记录!
7:
-> com NS 发送迭代查询
8: 
com NS 返回 ming.com NS 记录,和对应的A 记录!
9:
-> DNS Server 发送递归查询 ming.com NS记录对应的IP.
10:
DNS Server 返回 ming.com NS 记录
11: 
-> ming.com NS 发送迭代查询   
12: ming.com NS 放回 的A 记录!

其中省略是 查询.  NS, 然后 -> DNS Server 
发送递归查询  . NS记录对应的IP.


之所以设计成,既有递归,又有迭代,是为了模拟DNS Server递归查询!
dig +trace 主要还是用于追踪
 DNS 查询顺序,用于排错!

而且感觉有些步骤还是有点多余,比如 5 、9 都已经返回了对应的A记录,去还去查询对应A 记录!
阅读(6929) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~