admin管理员组

文章数量:1531792

2024年3月18日发(作者:)

网上邻居共享

说到“网上邻居”,相信很多人都很熟悉。操作系统安装完毕后,桌面上仅有的几个图标中就包含了

“网上邻居”。

但是,要说起“网上邻居”的工作机制,可能大家就不太清楚了。

要说“网上邻居”的工作机制,需要联系一下生活中的例子:比如我,要拜访一个远方的朋友——A,

我要去他的家里,那么应该怎么样做?答案是先找到A的家,然后再确定看看A让不让我进他的家里。

不要认为这是笑话,“网上邻居”的工作机制就是这样的。

在一个局域网中,只要双击桌面的“网上邻居”,就能看到所在网络中的所有用户,这一切似乎都顺

理成章。可你有否想过:Windows怎么知道这些电脑叫什么名字、在什么地方?它是如何获得它们的位置

的?

从Windows 2000开始,通过“网上邻居”进行的访问实际上是通过browser service(浏览服务)来进

行的,下面就浏览服务的几个关键地方向大家讲解一下。

一、浏览列表

浏览列表是浏览服务的关键部分。通过这个列表,基于Windows的电脑才能发现处于网络上的电

脑和服务资源,浏览列表像一个地址簿,它告诉你的电脑在哪里有资源。你的电脑通过这个列表中的信息

将电脑名称解析成IP地址,提供给用户来进行访问。

那么,浏览列表是从哪里来的呢?正确答案是――浏览列表是通过广播查询浏览服务器,由浏览服

务器提供的。

很多时候网络中的计算机并不能正确更新浏览列表。当一台计算机正常关机时,它会向网络发出广

播宣告,使浏览主控服务器及时将它从浏览列表中删除;而非正常关机后,浏览列表里仍会把该条目保持

很长一段时间,这可能造成我们仍能在网络邻居里看到它而访问不了。大家可能会奇怪,我们的网络中哪

来的浏览服务器?

二、浏览服务器

浏览服务器是通过选举选出来的。选举的主要条件是操作系统,实验中发现windows 2000

professional 的优先级是比windows xp高的。当XP先启动时它自己是浏览服务器,但当2000也启动时,

2000就会发出选举请求,并最终在选举中把浏览服务器的身份抢过来。其他的条件我们就不再作探究了,

反正结果就是选出主浏览服务器和备份浏览服务器。一个工作组中主浏览服务器只有一个,备份浏览服务

器可以有多个,担任主浏览服务器的计算机可以同时担任备份浏览服务器。

当一个台电脑启动的时候,如果它的打印和文件共享功能是打开的,它就会在网络中发出广播包登

记它自己,主浏览服务器收到广播后会把相关信息加入浏览列表中,并每隔一段周期进行验证,于是我们

就会看到这个新启动的电脑了。

初次进行时,这个周期是1分钟、2分钟、4分钟和8分钟,最后到12分钟,而之后每12分钟客

户机都会发一个通知,通知主浏览服务器器说“我还在呢”。如果经过三个周期(36分钟),主浏览器都没有

听到“我还在呢”的通知,那么它就会把这个客户机的名字从浏览列表中删除掉,“网上邻居”中就再也不会

有这个用户了。

如果网络较大,所有的事情都让主浏览服务器干岂不是会较大影响这台计算机性能,所以我们查询

的浏览列表并不是从主浏览服务器那里来的,而是从备份服务器那里来的。主浏览服务器会把定期把浏览

列表发送到备份浏览服务器以让浏览列表得到更新。

总之,网上邻居访问方法的过程是:客户机先广播(UDP)查询备份浏览服务器列表,主浏览服务器

告之,要注意告知的只是计算机名。客户机用广播(UDP)查询对计算机名的IP地址,对同一个计算机名

广播三次然后等待回答,无回答再广播下一个备份浏览服务器的计算机名(如果还有下一个的话)。成功获

得IP后,客户机将建立一条到备份浏览服务器139端口的TCP连接,然后获得这个工作组中的其他计算

机的名字。当你打开某台计算机时,客户机会广播(UDP)查询这台计算机的IP,如果得不到回答,连接将

是错误的;如果得到回答,那么就进入连接的建立阶段了。

上面的这些过程使用的是netbios协议。

三、NETBIOS协议

Netbois(网络基本输入/输出系统)最初由IBM,Sytek作为API开发,使用户软件能使用局域网的资

源。自从诞生,Netbois成为许多其他网络应用程序的基础。严格意义上,Netbios是接入网络服务的接

口标准。

NBT(netbios over TCP/IP)就是建立在TCP/IP传送协议之上的NETBIOS接口,我们先将它与Nbf

进行一番对比。Nbf指的是NETBIOS帧协议,以NetBEUI为基础,这可是真正的架构在链路层之上的协

议,不过也因为它是在LLC(逻辑链路控制层)层上,所以无法路由。只有借助一些可路由协议(如IP

或IPX)才能实现跨广播域浏览。因为TCP/IP发展最为迅速,最为普及,NBT也才受到大家如此的关注,

现在所有的windows系统都使用NBT。NBT提供的服务可以分成三类:名称服务(UDP-137端口)、

数据报服务(UDP-138端口)和会话服务(TCP-139端口)。现在所有的windows系统都是默认支

持NBT协议,至于NetBEUI就没有什么用了(好像XP系统默认已经不安装了),网上邻居访问不了也同

它没有关系,不要再混为一谈。NBT才是网上邻居所用到的协议(系统默认)。

1、名称服务(UDP-137端口)主要用于广播解决本子网的NETBIOS名和IP地址转换的关系。

因为NBT是建立在TCP/IP之上,而建立TCP/IP通讯是必须知晓双方IP地址的。但因为使用的是UDP

广播,所以名称服务无法跨越路由器。

2、数据报服务(UDP-138端口)提供了无连接(UDP)和面向广播的通信方式。它主要用于从主浏

览服务器那里广播查询到备份浏览服务器列表。因为它使用了UDP广播,因而在跨越路由器时也会遇到

与名称服务相同的问题。

本文标签: 浏览服务器列表广播计算机