【IT168 服务器学院】12.1 WINS 服务的基本概念
在 TCP/I P网络中,为解决计算机名称于IP地址的对应问题,用户可以利用 HOST 文件、DNS 等方式,但使用这些方法都存在着一个最大的问题,就是网络管理员需要以手工方式将计算机名称 (NetBIOS名) 及其 IP 地址一一输入到计算机中,一旦某台计算机的名称或 IP 地址发生变化,管理员又需要修改相应的设置。这对于管理员来说是一项繁重的工作。而微软提供的网际名称服务 WINS 解决了这个问题。利用它可以让客户机在启动时主动的将它的计算机名称 (NetBIOS名) 及IP地址注册到 WINS 服务器的数据库中,在 WINS 客户机之间通信的时候它们可以通过 WINS 服务器的解析功能获得对方的 IP 地址。由于以上工作全部由 WINS 客户机与服务器自动完成的所以大大降低了管理员的工作负荷,同时也减少了网络中的广播。在理解及使用 WINS 之前用户首先应该了解计算机名称 (NetBIOS名) 的一些知识。
12.1.1 定义计算机名(NetBIOS名)
NetBIOS 是 80 年代末为了利用 IBM Pc 构建局域网而出现的一种 MS-DOS 程序的高级语言接口。为了利用网络硬件和软件将这些计算机连接在一起组成局域网,微软和其它供应商利用 NetBIOS 接口来设计它们的网络组件和程序。NetBIOS 接口利用最多为 16 个字符的名称来标识每一个网络资源。
在一个网络中 NetBIOS 名是唯一的。在计算机启动、服务被激活、用户登录到网络时, NetBIOS 名将被动态的注册到数据库中。NetBIOS 可以以独立名称的形式注册,也可以以组名称的形式注册。以单机名注册时要有一个 IP 地址与其相对应,如以组名称注册时会有多个 IP 地址与其对应。
在 Windows 2000 发布前的所有基于 MS-DOS 和 Windows 的操作系统都需要使用 NetBIOS 名称接口以便网络可以正常工作。伴随着 Windows 2000 的发布,网络中的计算机不再需要 NetBIOS 名称接口的支持。如在 Windows 2000 和一些 UNIX 版本的网络中它们只要求客户机支持 DNS 使用就可以了,不再需要 NetBIOS 名。但为了与以前版本的网络操作系统结合使用,微软在 Windows 2000 中仍然支持 NetBIOS 名,以便与以前版本的操作系统协同使用,微软通过两方面实现对 NetBIOS 名的支持:
§ 所有使用 Windows 2000 的客户机在默认情况下都支持利用客户端的 WINS 服务注册和解析 NetBIOS 名。
§ Windows 2000 服务器继续提供一个高效的WINS服务器,用它来管理网络中的 NetBIOS 名。
定义 NetBIOS 名称
NetBIOS 名称包含 16 字节。前 15 个字节是由用户指定的,用它来表示:
§ 网络上的单个用户或计算机
§ 网络上的一组用户或计算机
在 NetBIOS 名中的第 16 个字符作为名称的后缀,用于识别名称及显示注册名称的信息。NetBIOS 名可以被设置为独立名称或组名称。
在使用独立名称时,是将网络信息发送给一台计算机,而使用组名称是将网络信息同时发送给多台计算机。
在 Windows NT 早期版本中,所有的网络服务都是利用 NetBIOS 名注册的。而在 Windows 2000 中,登录网络及其它的网络服务都是在 DNS 中进行注册的。
12.1.2 NetBIOS 名的解析
NetBIOS 名的解析就是将计算机的 NetBIOS 名成功的与IP地址进行映射的过程。从上面用户已经知道 NetBIOS 名是用来识别网络上NetBIOS 资源由 16 个字符组成的地址。让用户通过下面这个例子了解 NetBIOS 名是如何解析的。
一台 Windows 2000 的计算机(CORPSERVER)中运行的文件与打印共享服务的 NetBIOS 名的解析过程。当计算机启动时文件与打印共享服务利用计算机名在网络上注册一个独立 NetBIOS 名。这个 NetBIOS 名前 15 位字符是计算机名,第 16 位字符为 0x20。如果计算机名不够 15 个字符,那么利用空格补齐。(即:CORPSERVER [20])。当用户试图与这台计算机的共享文件夹建立通信时必须指明它的文件与打印共享的 NetBIOS 名。在建立文件与打印共享连接前,首先要建立 TCP 连接,为了建立 TCP 连接首先要将 NetBIOS 名(即:CORPSERVER [20])解析成 IP 地址。
WINS 客户机主要利用广播、LMHOSTS 文件、WINS 服务器三种方式的组合解决 NetBIOS 名解析的问题,根据组合方式的不同分成了四种 NetBIOS node 模式,见下表:
Node 模式
描述
B-node(broadcast)
B-node 用户利用广播 NetBIOS 名查询的方法实现名称的注册和解析;在广播失败后,查询Lmhosts文件,寻找相应的地址
P-node (peer-peer)
利用点对点的方式直接向 WINS 服务器查询相应 NetBIOS 名的 IP 地址。
M-node(mixed)
M-node 是把 B-node 和 P-node组合在一起。默认情况下使用广播的方式,如果失败,再向 WINS 服务器进行查询。
H-node(hybrid)
H-node 是把 B-node 和 P-node 组合在一起。默认情况下向 WINS 服务器进行查询,如果失败,再使用广播的方式。如果 两种方法都失败,则查询 Lmhosts 文件,寻找相应的地址。
运行 Windows 2000 的计算机默认使用 B-node 模式,当为它们设置了 WINS 服务器后,改用 H-node 模式。Windows 2000 也能使用本地数据库文件 Lmhosts 解析 NetBIOS 名。此文件存放在: SystemRoot\System32\Drivers\Etc 文件夹中。
用户一定要为基于活动目录的 Windows 2000 计算机设置一个WINS服务器的 IP 地址,以便它们可以与无法使用活动目录的 Windows NT 、 Windows 2000, Windows 95、 Windows 98 计算机进行通信。