您的位置:首页 > 其它

网上邻居共享(上)

2009-04-07 07:58 197 查看
说到“网上邻居”,相信很多人都很熟悉。操作系统安装完毕后,桌面上仅有的几个图标中就包含了“网上邻居”。
但是,要说起“网上邻居”的工作机制,可能大家就不太清楚了。
要说“网上邻居”的工作机制,需要联系一下生活中的例子:比如我,要拜访一个远方的朋友——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协议。
本文出自 “小李无语” 博客,请务必保留此出处http://xiaoliwuyu.blog.51cto.com/6200689/1142360
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: