技术提高能力,沟通开拓视野

统计

留言簿(2)

积分与排名

阅读排行榜

评论排行榜

Windows系统名称解析过程

在Windows系统中,名称解析有两种类型
  一种是基于主机名称的名称解析,另一种是基于NetBios名称的名称解析。
  这两种类型的名称解析顺序是不一样的,在具体说明两种类型的名称解析顺序之前,先要理清主机名称和NetBios名称
的概念。 那么,主机名称和NetBios名称的概念是什么呢?
我们知道,在Windows系统中,有两种名称解析服务,分别是DNS和WINS名称解析服务,其中DNS中使用的是主机名
称,WINS中使用的是NetBios名称。两种名称最直观的区别是:NetBios名称没有层次结构,是一种平坦名称(flat Name),
NetBios名称最大长度为16个字符,可以包含空格,但不能包括以下字符:/\[]":;|<>+=,?*,不包含".",形如:dotnetbbs,
而主机名称是具有层次结构的名称,最大长度为255个字符,形如:dotnetbbs.winos.cn。
默认情况下,Windows系统中用Hosts文件来保存由IP地址和主机名称组成的静态查询表,用Lmhosts文件来保存由IP地址
和NetBios名称组成的静态查询表。两个文件均保存在%SystemRoot%\System32\drivers\etc目录下。
   明确了主机名称和NetBios名称后,接下来一个问题是,在一次名称解析过程中,计算机是如何选择以哪一种方式进
行解析呢?答案是依据应用程序所使用的网络协议。如果应用层使用是基于微软内部使用的SMB协议,那么就会对要解
析的名称进行分析。如果要解析的名称是平坦名称,就使用NetBios名称解析,如果名称中包括".",或者长度超过16个
字符,就会使用DNS名称解析。一句话,就是先分析名称,然后再决定按哪种方式解析。而对于通用的基于Windows
Socket的应用程序,会并行发起基于DNS的名称解析和基于NetBios的名称解析,但以DNS名称解析为主。
   DNS名称解析过程是:
    步骤1:用户输入一个名称地址
    步骤2:PC首先查询这个名称是不是就是本机
    步骤3:读本机的Hosts文件
    步骤4:查找DNS服务器
    步骤5:查找NetBios名称缓存
    步骤6:查找Wins服务器
    步骤7:广播
    步骤8:查找LMHosts文件


  NetBios名称解析过程:
    步骤1:用户输入一个名称地址
    步骤2:查找NetBios名称缓存
    步骤3:查找Wins服务器
    步骤4:查找LMHosts文件
    步骤5:广播
    步骤6:读本机的Hosts文件
    步骤7:查找DNS服务器
   
  注意:对于上述步骤,如果中间某一步查询成功,解析过程结束,否则进入下一步。
           另外,对于NetBios名称解析过程的最后一步,平坦名称是不能直接提交给DNS服务器。在提交给DNS服务器
之前,客户机的DNS解析器会采取以下动作:
           如果名称中没有一个包含“.",且名称长度少于16个字符,客户端会将计算机的DNS后缀附加到名称上,再将其
发送给DNS服务器解析。对于域用户来说,附加的是后缀可以在”我的电脑“属性中看到,如图一所示:
       点击在新窗口查看全图 图一
           对于工作组用户来说,可以手动在”网络连接“TCP/IP属性的高级DNS设置中添加要附加的DNS后缀,如图二
所示:
        点击在新窗口查看全图 图二

           如果名称中包含“.",但没有最未尾的".",解析器会追加未尾的”.",并将其发送给DNS服务器,如果查询失败,
解析器会追加完整的域名后缀,再将发送给DNS服务器。如果第一个DNS后缀无法获得主机记录,解析器会依次将事
先配置好的所有备用的DNS后缀追加后发送给DNS服务器进行查询。
          如果所有的备用后缀查询都失败,解析器就会停止查询,返回提示信息!

posted on 2007-05-20 20:45 Alligator 阅读(690) 评论(0)  编辑 收藏 引用 所属分类: 系统维护

只有注册用户登录后才能发表评论。