WINS为注册及查询计算机和组的动态映射NetBIOS名提供了一个分布式数据库,WINS在NetBIOS名与IP地址之间建立映射,他是基于TCP/IP网络中NetBIOS名解析的最佳选择。
1.1WINS客户机与服务器的通信目的:
§在WINS客户机启动时它将计算机名、IP地址、DNS域名等数据注册到WINS服务器的数据库中。
§当客户机需要与其它客户机通信时,它可以从WINS服务器取得所须的计算机名称、IP地址、DNS域名。
1.2WINS客户机的名称注册
让用户通过一个例子来了解名称注册的过程
如图12.1WINS客户机(HOST-C)直接向WINS服务器(WINS-A)发送名称注册请求。
WINS-A可以通过向HOST-C"接收"或"拒绝"的回答表示它对注册请求的接受或拒绝。服务器是通过以下因素来作出回答的:
§在WINS-A的数据库中是否已存在此名称
§请求的名称是独立名称还是组名称
假如名称不在数据库中,则接受这个新注册,并进行以下操作:
1.将HOST-C名输入到数据库中,并添加一个时间戳及标记上WINS服务器所有者的ID。
时间戳是用来计算更新间隔的(默认为:6天)
2.向HOST-C发送接受注册的回答,在回答信息中还包含客户机可以使用此名称的时间(TTL)
假如HOST-C的名称已经存在于数据库中且与请求的IP地址相同,那么就由已存在名称的情况和所有权决定:
1.假如数据库中的记录标记为"活动"切归服务器(WINS-A)所有,则服务器更新该记录的时间戳并向客户机发送"接受"回答。
2.假如数据库中的记录被标记为"释放、过期"或记录归另一个WINS服务器所有,则当前注册被作为新注册来处理,时间戳、所有者、版本ID等全部更新,并向客户机发送"接受"回答。
假如HOST-C的名称已经存在于数据库中但与请求的IP地址不同,WINS服务器必须避免重名的发生,假如数据库中的记录已被标记为过期或释放,那么可以接受注册请求。但当记录仍为活动状态时,WINS服务器(WINS-A)需要向网络上注册该名称的客户机咨询(challenge),以便确定它是否还在网络上,具体操作如下:
1.WINS-A首先向客户机(HOST-C)发送一个等待确认的回答(WACK),并利用TTL指定等待时间。
2.WINS-A接着向注册此名称的客户机发送一个名称查询请求。
3.假如客户机仍然在网络上,它会给服务器WINS-A发送一个确认回答。
4.WINS-A,向客户机(HOST-C)发送拒绝名称注册的回答,以拒绝客户机的名称注册请求。
5.假如服务器WINS-A的查询请求没有得到相应的回答,它再同时发出两个查询请求,假如三次查询均未得到回答,那么查询过程结束,服务器WINS-A向客户机(HOST-C)发送确认回答,接受客户机的名称请求,并更新数据库中的记录。
1.3WINS客户机释放(Release)名称
当WINS客户机(HOST-C)关机时,它将通知服务器它将不再使用它的注册名,具体操作如下:
1.当客户机(HOST-C)关机后用户在命令行输入nBTstat-RR命令时,客户机将向服务器(WINS-A)发送一个释放请求。
2.服务器(WINS-A)将数据库中有关客户机(HOST-C)的记录标记为释放。
3.WINS-A向客户机(HOST-C)发送一个释放确认消息。r
假如名称记录被标记为释放,当其它客户机以相同名称但不同IP地址注册时,服务器可以立即更新记录。
1.4WINS客户机更新名称注册
为确保WINS客户机的注册名称在WINS服务器的数据库中为"活动"状态,客户机必须定期更新它的注册名称。
当客户机第一次在向服务器中注册名称时,从服务器返回的确认信息中的TTL(Time-To-Live)值指定了客户机何时相应更新注册。假如在指定时间内客户机没有更新它的注册,服务器将从它数据库中删除客户机的记录。WINS数据库中的默认更新时间为6天,当更新时间(TTL)达到一半时客户机相应向服务器更新它的注册名称。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05