以下内容摘自一书。
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
解析名称。 (5
)如果在连接的“Internet
协议(TCP/IP
)”
属性中启用了“
启用LMHOSTS
搜索”
,则检查Lmhosts
文件。 本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/32583如需转载请自行联系原作者