网上邻居的工作原理与一些常见故障排除指南
2008-02-23 07:28:31来源:互联网 阅读 ()
Windows工作组环境是中小型企业中最常见的网络环境。而网上邻居方式是最常使用的网络共享方式。由于众多windows版本的存在且不同版本对网上邻居的处理稍有不同,导致了在混合网络环境中使用网上邻居常会出现各种问题。因此网上有大量的文章探讨各种各样的网上邻居使用中的故障现象与解决办法。但由于大部分文章仅介绍了故障表现,而引起同一故障表现的原因却很可能不同,因此介绍的这些解决方法常常缺乏通用性。本文则从网上邻居的工作原理上解析可能出现的各种访问故障,进而给出建议措施。即使你出现的故障在文中并未提及,也可以根据其工作原理分析故障的生成原因并加以排除。
网上邻居共享的工作原理
网上邻居的工作模式是一个典型的客户端/服务器工作模型,现在,回想一下访问网络邻居的过程,首先,点击网上邻居图标,打开网上邻居列表,其次,点击打开目标服务器图标,列出目标服务器上的共享资源,接下来,点击需要的共享资源图标,进行需要的操作(这些操作包括列出内容,增加,修改或删除内容等。
进一步分析一下这个过程,当点开网上邻居列表时,这个阶断的实质是列出一个网上的可以访问的服务器的名字列表。在点击一台具体的共享服务器时,这时先发生了一个名字解析过程,我们的电脑会尝试解析名字列表中的这个名称,并尝试进行连接。在连接到该服务器后,我们可以根据服务器的安全设置对服务器上的共享资源进行允许的操作。
下面让我们一步步的来分析这些过程:
1、取得网络资源列表
当我们点击网上邻居图标时,我们是如何获得当前网络上可以访问的服务器列表的呢?在一个有域的windows网络环境下,我们也可以通过活动目录服务来取得这个列表。而在工作组环境中这主要依靠windows的浏览服务。
关于windows浏览服务,网上有不少文章,这里就不再详细介绍。这里我们需要知道的是,浏览服务为各客户机提供的资源列表并不是实时的,也不一定是全局一致的,它依靠每12分钟一次的轮询来刷新和同步这个列表,因此,这个列表经常与实际情况不一致。下面两张图分别例示了两种情况,在这两种情况下,网络环境的变动分别需要48分钟和72分钟才能反映到全网的全部浏览列表。
基于浏览服务的工作机理导致的浏览列表与实际情况不一致的现象非常常见,这也是很多人提到的使用网上邻居时遇到的一类问题,比如机器已经关了还在列表中,我的机器怎么在列表里找不到。只要你使用浏览服务,就无法根除这个问题。
2、网上邻居的名称解析
当我们点击网络邻居列表里的一台机器时,这时首先会发生一个名称解析过程。
谈起名称解析,我们常会想到DNS,事实上,网上邻居的名称解析也是可以使用DNS系统的。不过前提是你需要架设局域网DNS服务器对局域网的各机器名进行解析。
如果你没有安装局域网DNS,你也可以使用NETBIOS的名字服务来对机器名进行解析,NETBT(TCP/IP上的NETBIOS)协议也 可以将一台NETBIOS机器名解析为IP地址,可以用nbtstat -c命令查看本机缓存的NETBIOS名称和IP地址的映射表。也可以使用 nbtstat –r 命令来利用NETNBT广播来将指定NETBIOS名称解析为IP地址。由于广播方式是无法跨子网的,所以当NETBIOS要求解析跨子网的名称时,需 要正确设置WINS服务器来进行跨网络的NETBIOS名称解析。
除以上方式外,网上邻居还允许通过Lmhost文件来进行名字解析。
除了基于TCP/IP的NETBT和DNS,由于网上邻居也允许运行NETBEUI和IPX/SPX等其它协议上,因此对机器名的解析不一定非 局限为解析成IP地址,比如NETBEUI协议数据包仅包含二层链跑层地址,因此不可路由也无法跨越子网,但在小型网络中使用NETBEUI协议不但可以 提高效率,而且它的工作不受防火墙设置的影响,免去了设置防火墙的麻烦。
当我们在访问网上邻居时遇到找不到服务器的提示而你肯定服务器目前是在线的,在排除了网络物理故障的原因后,你首先应该考虑的是这是否是名称解析的问题,检查一下网上邻居名称解析相关的各种设置是否正确。
3、访问服务器
在对服务器进行了正确的名称解析后,我们开始了实质性的阶段,登录共享服务器。而这个阶段也是最复杂的。
一台客户机要访问服务器,在找到目标服务器后,它首先要确定目标服务器上的协议,端口,组件能是否齐备,服务是否启动,在一切都合乎要求后,开始用 户的身分验证过程,如果顺利通过身份验证,服务器会检查本地的安全策略与援权,看本次访问是否允许,如果允许,会进一步检查用户希望访问的共享资源的权限 设置是否允许用户进行想要的操作,在通过这一系列检查后,客户机才能最终访问到目标资源。
下面让我们依次解析这些过程:
1. 网络共享服务的协议和端口
作为网上邻居基础的微软文件和打印服务可以基于多种不同的协议,它们使用不同的端口。
在较早的WIN98/95系统下面,主要使用NETBT(TCP/IP上的NETBIOS)协议来完成相关功能,使用137,138和139端 口,同时完成包括列表维护,名称解析和文件传输等多种功能,而2000后,网络共享服务也可以通过TCP/IP上的SMB直接承载实现,使用445端口。 名称解析也可以通过DNS系统来实现。这样一方面可以省略NETBIOS层,提高工作效率,另一方面免除了NETBIOS名称解析引起的广播,减小了网络 负荷。但是如果网络中存在一些老版本的windows系统或者没有局域网DNS服务器,为了名字解析的顺利进行不得不启用NETBT,否则就只能通过IP 地址访问网上邻居。
为了提供文件共享服务,服务器上必须安装以下网络协议和服务,它们之间存在着对应关系如下图:
从图中可以看出,网上邻居服务(Computer Browser服务)需要依存两个服务——Workstation(工作站)服务与Server(服务器)服务,Workstation服务主要用于访问 其它服务器上的共享资源,它对应网络组件中的windows网络客户端,而Server服务主要提供共享本机资源的功能,对应微软文件和打印机共享组件。
这些协议和组件的正常安装与设置是网上邻居正常工作的基础。
关于网上邻居功能有一个需要说明问题就是隐藏共享IPC$的问题。我们访问网上邻居能够看到该服务器上的共享资源列表是因为在安装了微软文件和 打印机共享组件后,会创建一个名为IPC$的隐藏共享,连接的计算机通过查看这个隐含共享来取得服务器上的共享资源列表。如果删除了这个共享浏览者就无法 取得服务器上的共享资源列表,当然也无法正常访问共享资源了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash