关于客户计算机访问DNS请求的工作流程

原创 2005年05月02日 20:38:00

[原创]关于客户计算机访问DNS请求的工作流程

by it.server  on Winmag.com.cn

--------------------------------------------------------------------------------
 
看了devilman关于DNS的不完全总结一文,心里也怪痒的,我也来跟上一帖作为《关于DNS的不完全总结》查询子集的一个补充!要知道作为MS的三大服务之一的DNS,仅在Resource Kit里就有近200页的介绍,这里还需要大家对这些基础性概念和服务进一步补充,能够使大家更全面的了解!废话少说,让我们来看一看,本文的“中心思想”
 --客户计算机访问DNS请求对AA.Microsoft.COM文件服务器进行访问工作的工作流程
如图


详解

1、客户计算机使用LAN Manager Workstation 和网络文件系统MRXSMB.SYS共同建立一个SMB消息,与AA.Microsoft.COM建立会话。

2、重定向器将该消息交给TCPIP.SYS进行打包传输。TCPIP.SYS与NETBT.SYS一起为此SMB建立一个数据报,面向会话的SMB通信使用TCP139端口。

3、TCPIP.SYS需要解析该目标计算机的IP地址,于是使用内含的DNS解析器;同时NETBT.SYS也将使用其自身的服务进行查找该计算机名字。双方同时访问各自的缓存空间。如果没有的话,就进入各自的下一步。其中Netbt.sys见前面的WINS服务。(在名称访问过程中,TCPIP.SYS和NETBT.SYS是同时在查找名称的解析,谁先找到,就使用谁的,没有被用到的将被存入缓存中。)

4、DNS解析器将向其指向的本地DNS服务器(LDNS)发出递归查询请求。LDNS接受到相关信息后,在本机缓存中查找相关信息,找到后,……直接反馈客户机。如果没有找到,就……在本地的区域中查找,查看自己是否是对于Microsift.con的一个权威服务器。如果是,就在其中查找主机AA记录。如果找不到,将返回“资源未找到”。DNS解析器从LDNS得到这个消息将不再进行进一步查找。

5、如果LDNS不是一个对于此区域的一个权威管理器,就将信息发送到根域服务器上,全球有13台根域服务器。

6、根域服务器没有任何主机记录,当然不包含AA.Microsoft.COM的记录,但是INTERNIC是Com的SOA,这就是标示其拥有名称服务器NS的记录,这些NS纪律指向被委派的区域的DNS服务器,它们存有直接位于Com 下面的域的区域表。但是根不接受递归查询,因此他将在NS记录中搜索并找到一个最接近的COM管理的服务器及其IP地址回返给LDNS。

7、LDNS服务器将向管理Com的DNS发出迭代请求,请求Microsof.com的A记录。该DNS将把最接近的Microsoft.com的DNS地址反馈给LDNS。

8、LDNS将再次访问Microsoft.comDNS服务器,并发出请求。该DNS服务器将把AA的地址反馈给LDNS

9、LDNS将此信息反馈给客户端计算机,并将该信息保存在自己的缓存列表中,以北后来再使用。

10、本地的DNS解析器收到该信息后,将使用ARP找到与该记录对应的MAC地址。

11、TCPIP.SYS将把IP包和MAC地址交给NDIS(Network Driver Interface System)网络微驱动模块。

12、NDIS将建立与目标计算机之间的连接,并传输数据。

13、同时TCPIP.SYS还将该记录保存给DNS解析器缓存,按照规定的TTL值进行保存。

基本完成,至于涉及到流程细节中更全面的过程,还希望大家加以补充!
 

caa的计算机dns检测流程

  • 2012年08月15日 15:34
  • 104KB
  • 下载

浅析计算机网络(2) -- DNS工作原理

DNS的工作原理来做个小实验吧 打开你的终端或者DOS命令运行窗口,输入ping www.baidu.com看看发生了什么 如果你的网络正常连接的话,应该可以看到这样的结果 把其中的111.13.10...

富客户端工作流程

  • 2012年04月10日 17:39
  • 303KB
  • 下载

爬虫的基本流程 网络爬虫的基本工作流程如下: 首先选取一部分精心挑选的种子URL 将种子URL加入任务队列 从待抓取URL队列中取出待抓取的URL,解析DNS,并且得到主机的ip,并将URL对应的网

爬虫的基本流程 网络爬虫的基本工作流程如下: 首先选取一部分精心挑选的种子URL 将种子URL加入任务队列 从待抓取URL队列中取出待抓取的URL,解析DNS,并且得到主机...

Redis源码解析 - 客户端工作流程及命令编码

Redis客户端工作redis-cli代码在redis-cli.c中,入口函数为main: /* Start interactive mode when no command is provid...

unity3d Photon客户端 工作流程

对于一个多人游戏的生命周期如下: 连接到服务器 调用RPC 接受数据 断开连接 相当简单。假设你使用C#和[url=]Lite Applica...

udhcp源码剖析(一)——DHCP服务器和客户端的工作流程

udhcp源码剖析(一)——DHCP服务器和客户端的工作流程

Servlet容器响应客户端请求访问特定的Servlet流程

Servlet容器响应客户端请求访问特定的Servlet流程如下: 1.客户端发出要求访问特定的Servlet的请求 2.Servlet容器接收到客户请求,对其解析 3.Servlet容器创建一...

Servlet容器响应客户端请求访问特定的Servlet流程

Servlet容器响应客户端请求访问特定的Servlet流程如下: 1.客户端发出要求访问特定的Servlet的请求 2.Servlet容器接收到客户请求,对其解析 3.Servlet容器创建一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于客户计算机访问DNS请求的工作流程
举报原因:
原因补充:

(最多只允许输入30个字)