以下内容摘自《网管员必读——网络组建》(第2版)一书。
WINS服务是微公司的一项支持跨网络的名称解析服务(DNS不支持跨网络),在Windows Server 2003服务中,它的功能得到了全面的加强,使得它在企业网络中的应用更加广泛,特别是较大型的网络。
许多网友一直对是否需要WINS服务,或者说安装WINS服务的必要性心存疑虑。尽管在《网管员必读——网络组建》(第2版)第9章9.1.1节对此进行详细分析,但在此还可以通过以下后介绍的WINS服务基本工作原理(包括与NetBIOS名称解析进行对比)可以看出WINS事实并不是可有可无的,特别是大型多子网环境中。全面的WINS服务名称解析原理参见本书的9.4节。
9.1.3 WINS服务基本工作原理
通常,
Windows
操作系统支持以下两种主要的网络名称解析方法。
l
主机名称解析:
这是
Windows
基于套接字的名称解析方式,它执行
gethostbyname
()
API
函数以搜索主机
IP
地址,该地址是建立在已查询的主机名称基础上的。该方法依赖于
Hosts
文件或查询
DNS
以执行名称解析功能。
l
NetBIOS
名称解析:
该名称解析使用
NetBIOS
重定向程序来搜索基于查询的
NetBIOS
名称的地址。该方法依赖于
Lmhosts
文件,或查询
WINS
执行名称解析。
在默认情况下,运行Windows 2000/XP/Server 2003操作系统的WINS客户端被配置为先使用DNS解析长度超过15个字符或包含句点(.)的名称。对于少于15个字符,并且不包含句点的名称,如果将客户端配置为使用DNS服务器,则也可以在WINS查询失败之后再次将DNS用做最终选项。默认情况下,当用WINS服务器地址配置(手动或通过DHCP)运行Windows 2000/XP/Server 2003操作系统的计算机的名称解析时,除非配置了其他NetBIOS节点类型,否则计算机将使用混合节点(h-节点)作为NetBIOS名称注册的节点类型。对于NetBIOS名称查询和解析,也使用h-节点行为,但有少许差异。
说明
|
NetBIOS
节点类型有
4
种:
b-
节点(广播)、
p-
节点(端对端)、
m-
节点(混合)和
h-
节点(混合)。
b-
节点使用广播
NetBIOS
名称来注册和解析名称。
b-
节点有两个主要问题:(
1
)广播将干扰网络上的每个节点;(
2
)路由器通常不转发广播,所以只能解析本地网络上的
NetBIOS
名称。
p-
节点使用
NetBIOS
名称服务器(
NBNS
),如
WINS
服务器来解析
NetBIOS
名称。
p-
节点不使用广播,而是直接查询名称服务器。
m-
节点是
b-
节点和
p-
节点的组合。
在默认情况下,
m-
节点作为
b-
节点使用。如果
m-
节点无法通过广播解析名称,则使用
p-
节点查询
NBNS
服务器。
h-
节点是
p-
节点和
b-
节点的组合。在默认情况下,
h-
节点作为
p-
节点使用。如果
h-
节点无法通过
NBNS
解析名称,则使用广播解析名称。
|
对于NetBIOS名称解析,WINS客户端通常采用以下步骤进行解析名称。
(1)客户端检查查询的名称是否是它所拥有的本地NetBIOS计算机名称。
(2)客户端检查远程名称的本地NetBIOS名称缓存(远程客户端的解析名称放置在该缓存中,并将保留10分钟)。
(3)客户将NetBIOS查询转发到已配置的主WINS服务器中。如果主WINS服务器应答查询失败(因为该主WINS服务器不可用,或因为它没有名称项),则客户将按照列出和配置使用的顺序尝试与其他已配置的WINS服务器联系。
(4)客户端将NetBIOS查询广播到本地子网。
(5)如果配置客户端已使用Lmhosts文件,则客户将检查与查询匹配的Lmhosts文件。
(6)如果将其配置成单个客户端,则客户会尝试Hosts文件然后尝试DNS服务器。
WINS客户的名称解析是所有Microsoft TCP/IP上的NetBIOS(NetBT)客户端用来解析网络上的NetBIOS名称查询的相同名称解析过程扩展。实际的名称解析方法对用户是透明的。对于Windows 2000/XP/Server 2003系统,一旦使用net use命令或类似的基于NetBIOS的应用程序进行查询,WINS客户将使用以下流程解析名称。
(1)确定名称是否多于15个字符,或是否包含句点(.)。如果是这样,则向DNS查询名称。
(2)确定名称是否存储在客户端的远程名称缓存中。
(3)联系并尝试已配置的WINS服务器,使用WINS解析名称。
(4)对子网使用本地IP广播。
(5)如果在连接的“Internet协议(TCP/IP)”属性中启用了“启用LMHOSTS搜索”,则检查Lmhosts文件。
(6)检查Hosts文件。
(7)查询DNS服务器。
本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/32583如需转载请自行联系原作者
茶乡浪子