2024年5月25日发(作者:)

wins服务器是什么?

WINS全称Windows Internet Name Service,即Windows互联网名称服务。它和DNS一

样,都是用来将主机名转换成IP地址的。但在互联网解析主机名的是DNS,事实上WINS

主要的是用在局域网内缓解网络风暴。

WINS基于计算机的NetBIOS名工作,所以要了解WINS,必须对计算机名、NetBIOS及

NetBIOS名有一个初步的认识。

在微软的系统中,任何一台计算机,不论是否联网,都必须定义一个不超过15位的字符作

为计算机名,该名在系统安装时指定,如不指定,则由系统随机生成。设定以后,可在我的

电脑—属性—计算机选项卡(WIN2000以上)或网上邻居—属性—标识选项卡中(WINME

以下)查看并管理;如果该计算机处于网络环境下,则该计算机名还必须在网络中保证唯一。

这个计算机名的存在,是实现NetBIOS的前提。

在局域网发展早期,为在个人机上实现网络能力,MS和IBM合作开发了一套网络协议,认

为它如同计算机的BIOS一样,将成为最基本的网络访问接口,因此使用了NetBIOS

(Network Basic Input/Output System)这个名字。MS就利用NetBIOS接口开发网络服务

器及相应的客户软件,后来, 打通NetBIOS和网络物理层的各种具体接口的NetBEUI

(NetBIOS Extend User Interface)又开发成功,成为NetBIOS的增强版。它直接控制Token

Ring(令牌环)和Ethernet(以太网)驱动程序,使之只能运行于局域网,其缺点是不支

持路由, 要在大型的或路由式的网络间通信,必须使用基于路由的传输机制(一般是

TCP/IP)加以补充,叫做NetBIOS over TCP/IP(NetBT),意为运行于TCP/IP基础上的

NetBIOS。WIN2000以下的计算机强制使用NetBIOS名;WIN2000以上的计算机为了在

网络中和WIN2000以下的计算机保持通信,保留NetBIOS名。

NetBIOS名的前15位沿用计算机名,最后增加一位字符作为后缀,用于标识某种服务或应

用程序,所以对同一个计算机名,可以生成多个NetBIOS 名;而同一计算机的多个服务也

可以注册到另一个计算机的NetBIOS名上,均由该后缀加以区分。 WIN2000中专门提供

文件和打印机共享的 server服务就是典型的例子,它的后缀是八进制的20。

不难看出,即使没有WINS服务器,只要是基于NetBIOS的主机,它们都能够自己管理自

己,其原理如下:

主机A登录网络时,它将向网络发送注册广播6--10次,声明自身的NetBIOS名称,确保

网内其他主机收到该消息,如果该名与主机B重名,主机B将发出一个包括它自己NetBIOS

名称的广播包,要求主机A停止注册,主机A会发出一个负的名称注册(negative name

registration)广播作为响应,主机A注册失败;如无其他主机反对,A成功注册。

与此同时,网络上的其它主机也向A发出一个包括自己NetBIOS名称的广播包,声明自己

的存在。这在形式上表现为其它主机的网络邻居窗口在刷新后会出现该主机A的NetBIOS

名;而主机A的网络邻居窗口中也出现了其它主机的NetBIOS名,也就是通常所认为的计

算机名。

当主机A联系主机B时,A广播一个包含B主机NetBIOS名的地址请求,如果B在线,它

将向主机A广播一个包括自己IP地址的正的名称查询(positive name query)消息予以响

应,然后A就可以利用这个地址连接到主机B;

当主机A正确关机时,自动发生名称释放操作,这时其它主机可以用主机A的名称登陆网

络;但主机A非正常关机时,其它主机的网络邻居窗口中仍然会有该主机名,双击后会出

现“找不到网络路径”的错误提示:主机A已经名存实亡。

这种“无组织无纪律”的自我管理,带来的是通信效率的大大下降:每台主机在登陆和重登陆

网络的时候,都将向网络发送广播;然后所有主机再向它发送广播;然后主机间要求通信都

以广播的方式进行……,每台主机随时都在大呼小叫,其巨大的数据流量将造成网络响应速

度直线下降,这是最不能接受的网络问题。

所以,必须有一个“老板”对所有主机的NetBIOS名称和IP地址进行集中统一的管理和维护,

NetBIOS客户端通过直接与“老板”进行名称的注册、更新、查询和释放操作,最大程度的减

少了广播流量。这个“老板”就是WINS服务器。

在WINS中,NetBIOS名可以被注册为唯一的名称,这时它对应一个IP地址;也可以映射

为一个组的名称,这时它对应多个IP地址。所以准确的说,WINS服务应该叫WINS的

NetBIOS 名称服务,正是它使NetBIOS名称到地址的解析成为可能。

为更深刻的理解WINS,我们还要说明由NetBT规定的WINS名称解析的四种方法(又叫

nodes,节点):① nodeB:广播的方法(broadcast);② nodeP:对等的方法(peer-to-peer),

直接在WINS服务器中查询;③ nodeM:混合的方法(mixed),即联合使用nodeB和nodeP,

默认为B;④ nodeH:另一种混合的方法(hybrid),和nodeM一样,但默认为nodeP。如

果网络中没有WINS服务器,则系统默认使用B节点的方法,如前所述;如果系统中至少

有一台WINS服务器,则系统默认使用H节点的方法。

NetBIOS客户机——即WINS客户机向WINS服务器注册、更新、查询和释放的工作流程

与DHCP的工作流程异曲同工:都是以租约的形式进行——但在表现形式上更像是老板与

员工之间签订用工合同的一幕。仍以客户机A 和B为例描述如下:

一、 注册

客户机A一诶启动,就向TCP/IP配置中指定的WINS服务器发送一个名称查询请求(请求

签订合同),要求注册其NetBIOS名和IP地址,如果WINS在线,它首先检查自己的数据

库中是否已有该NetBIOS名,如客户机B与该名同名,则WINS以500毫秒为间隔向B

发送三次名称查询请求,用以确定B是否仍然还在上班,如收到响应,则向A发出一个负

的名称注册(negative name registration)。A注册失败;如果没有响应,则A注册成功,

该WINS服务器会将这一对应关系(重新)记录在自己的数据库中,并向该客户机返回一

个注册成功的消息,其中包括一个指定的生存周期 TTL(Time to Live)——它的存在表明

了WINS客户机只是一个钟点工,此时合同签订成功。

一旦A三次联系WINS服务器都失败的话,意味着WINS服务器宕机或不可用,这时,如

果网络中再无其它的WINS服务器存在,则又回到了无组织无纪律的洪荒状态,WINS客户

机会按照上述“广播”的方式来工作。

二、更新

默认情况下,WINS服务器数据库更新时间(合同期限)即TTL是六天,如果到时客户机

没有发出更新请求(要求续签合同),名称注册即告失效(合同终止),WINS会将该员工

从花名册上删除,这就是TTL的作用。

所以一般来说,客户机会在相应的TTL值过去50%也就是三天的时候向服务器发出一次名

称刷新请求,说明自己还在任劳任怨的继续上班,当WINS服务器收到该请求后,即向该

客户机发出包含了一个新的TTL的名称刷新响应,表示合同已然重签。

三、 查询

当A需要联系B的时候,它首先检查缓存,看是否有B的NetBIOS名对应IP地址的记录,

如果没有,则向WINS服务器发出该NetBIOS名称的IP查询请求,要求WINS回应其IP 地

址。如果没有任何WINS服务器响应,或者某个WINS服务器发出了一个“Requested Name

Does Not Exist”(请求的名称不存在)消息,客户机即启用广播的方式查找,如果仍未响应,

如果有事先的设置,主机A还要尽最后的努力,去查找自己的数据库文件Lmhost,仍然无效

的时候,才善罢甘休。

四、 释放

如果WINS客户机A停止某个注册的网络服务或正常关机的时候,该A即针对注册的某个

服务或者A的NetBIOS名直接向WINS发出一个包括A机IP地址和NetBIOS名称的释放

请求(要求解除合同)。WINS收到该请求后,先检查它的数据库,如果WINS找到了一个

对应的记录,则向A发送一个正的名称释放(positive name release)消息作为响应,其中

包括了被释放的NetBIOS名称和值为0的TTL,同时在数据库中将这条记录标记为已经释

放,合同正式解除;

如果WINS没有找到对应的记录或者该NetBIOS名被 指向了另一个IP地址,那么WINS

会向A发出一个负的名称释放(negative name release)消息作为回应。合同无法解除。

如果A非正常关机,是不会发出名称释放消息的,显然,WINS服务器的数据库中就会多出

一条“假”记录,当B向WINS发出A的地址请求时,WINS仍然会向B给出已不存在了的A

的地址信息,当然B不可能再通过这个地址联系到A,最终会出现超时错。在B的网络邻

居窗口中,A的存在仅仅证明了A“曾经来过”。

限于篇辐,WINS与DNS的集成、WINS代理以及多个WINS服务器的管理维护和排故等

WINS服务器的高级应用只有以后再谈了。

WINS是老生常谈了,希望本文对老资格的网管朋友能温故知新,对初入道的新网管朋友能

有一些帮助。敬请专家指正。