免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1108 | 回复: 0
打印 上一主题 下一主题

网上邻居发现不同子网计算机的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-08 21:51 |只看该作者 |倒序浏览

   有一些网络知识的人都知道,微软的TCP/IP实际上是通过NetBIOS实现的,这就使得Windows操作系统在网络应用上存在一定的局限。例如,NetBIOS使用广播(Broadcast)进行通信,而普通的广播是无法通过路由器的,也就是说,两个子网没法通过NetBIOS联络。为了解决这个问题,微软使用了一种称为Windows Internet Name Service的服务,来对网络中的计算机进行NetBIOS名字和IP地址的解释。
   当一个配置了WINS服务器的计算机(这被称之为WINS有效的)启动时,它会根据WINS服务器地址发送一个叫做名字注册请求的WINS信息,这个请求包含了它自身的NetBIOS名字和IP地址。当WINS服务器收到这个信息,就会在WINS数据库中检查是否已有该名字,如果该名字已存在,WINS服务器就向注册该名字的计算机发送一个查询,如果收到响应,WINS服务器就会发送一个信息给要求注册这个名字的计算机,告诉他已有人注册。如果数据库中没有这个名字的记录或已注册的主机没有响应,WINS服务器就发送一个肯定的响应及TTL给该客户机,那么,这个名字就注册成功了。
   说了这么多,WINS到底有什么作用呢?我们可以利用它来实现一个包含多个子网的NT域。我想,这大概是WINS最有用的功能了。
   前面已经说过了,NetBIOS的名字是无法跨越子网的,这样,我们在网上邻居中就看不到在同一域、同一工作组中的其他子网的机器,而且,如果NT的主域控制器在子网A,那么子网B中的计算机将无法登录到NT域。下面就以一个例子来说明:
   两个子网A:192.168.0.0/24和B:192.168.1.0/24,域和工作组都设为TEST,路由器IP为192.168.0.1和192.168.1.1,主域控制器和WINS服务器都在子网A中。两个子网通过一台Linux路由器连接,路由器上的规则为所有的包都可以通过(实际上只需要与NetBIOS有关的几个端口的包能正常通过就行了)。在没有设置WINS的情况下,子网B中的计算机无法浏览到子网A中的机器,也不能登录到域中。这时,把两个子网中所有机器的WINS服务器地址都设为同一个,假设是:192.168.0.3,然后(很重要的一点),要给每台机器添加到另一个子网的路由,例如,192.168.0.5这台机器(Windows)要执行:route add 192.168.1.0 mask 255.255.255.0 192.168.0.1,以此类推,重新启动后(注意要先启动WINS服务器)子网B中的机器就能够正常登录到TEST域了,而且在网上邻居中也能正常浏览所有的机器。
   在实践中有这样一个问题,如果可能的话,最好是把路由器用作WINS服务器,因为它能直接连接到各个子网。如果不行的话,要注意为WINS服务器添加相应的路由,这时解析的速度可能会稍慢,不过登录域没有任何问题。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/27503/showart_212349.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP