Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1742141
  • 博文数量: 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)

分类:

2011-08-22 13:26:06

原文地址:上网时DNS解析流程 作者:haoay321

一、上网时我们经常遇到DNS的名称解析(名称到IP的解析),具有有以下两种解析。

1.递归查询:

一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;

2.迭代查询(反复查询):

一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3IPDNS2,以便其再向DNS3发出请求;

 

详解实例:

递归查询当一个客户系统发送一个递归查询给本地名字服务器时,本地名字服务器必须返回输入的友好的名字的IP地址,说明找不到其地址或者返回一个错误说明请求的地址不存在。


典型的情况是本地名字服务器将首先在其自身的boot文件、cache、数据库或者反向查询文件中检查DNS数据。如果从这些本地资源没有获得答案,它会联系其它DNS服务器使用迭代查询请求帮助,然后将其接收到的信息送回给最初发出域名解析请求的客户。在这种情况下,dns服务器使用配置成转发器.


迭代查询
在迭代查询查询中,名字服务器返回它们具有的最好的信息。虽然一个DNS服务器可能不知道某个友好的名字的IP地址,它可能知道可能具有要找的IP地址的名字服务器的IP地址,所以它将信息发回。对一个迭代查询的响应就像一个DNS服务器说:我不知道你找的IP地址是多少,但是我知道位于10.1.2.3的域名服务器可以告诉你。
这个过程很简单。这里是一个本地名字服务器使用迭代查询为一个客户解析地址的例子:

  • 本地名字服务器从一个客户系统接收到一个要对一个友好的名字(比如说)进行域名解析的请求。
  • 本地名字服务器检查它自己的记录。如果找到地址,就返回给客户;如果没有找到,本地名字服务器继续下面的步骤。
  • 本地名字服务器向根(.com中的“.”)名字服务器发送一个迭代请求。
  • 根名字服务器为本地服务器提供顶级名字服务器(.com.net等)的地址。
  • 本地服务器向顶级名字服务器发送一个迭代查询。
  • 顶级名字服务器向本地域名服务器回答管理友好名字的域(比如techrepublic.com)的域名服务器的IP地址。
  • 本地名字服务器向友好名字的域的名字服务器发送一个迭代查询。
  • 友好名字的名字服务器提供查找的友好名字的IP地址。
  • 本地名字服务器将这个IP地址传给客户。

为了完成简单查询,DNS服务器必须能够正确解析针对自己的正向和反向解析请求;而为了完成递归查询,DNS服务器必须能够连接到根提示信息中的根DNS服务器。

阅读(821) | 评论(0) | 转发(0) |
0

上一篇:C实现DNS ---转载

下一篇:bit与byte的区别

给主人留下些什么吧!~~