|
《解决Notes与DNS打架问题》这篇文章中提到了使用Notes与DNS时的种种困惑。笔者在日常网络维护中略有心得,也许能为网管员们解决此类问题提供一点帮助,现拿出来与大家共享。 笔者认为,文章作者所说“启用DNS后无法找到Notes服务器”的情况,问题在于命名解析过程,Notes 使用NetBIOS命名体系,DNS基于TCP/IP命名体系。 ■不同的命名体系 NetBIOS诞生于个人计算机和局域网发展的初期,它为LAN中实现通信定义了两项内容:会话层接口和会话管理/数据传输协议。 NetBIOS有它独立的网络机器命名系统,它和TCP/IP命名的域名不是一回事,这个名称就是在“网络”对话框的“标识”标签中的“计算机名”。通过“网上邻居”检查网上资源时,用的是NetBIOS命名体系,直观看就是计算机图标旁的计算机名。Lotus Notes采用的是NetBIOS命名系统,《解决Notes与DNS打架问题》一文中谈到的NT服务器名称“SERVER”与工作站名称“ZYM”都是NetBIOS命名。 当NetBIOS下层协议使用TCP/IP时,由于NetBIOS是用机器名来寻址,而TCP/IP是使用IP地址寻址,故必须通过某种途径使这二者对应起来。WINS是用于把NetBIOS名称解析为IP地址的服务器。当支持WINS功能的工作站启动时,它就会主动将这台主机的“计算机名”与IP地址加入到WINS服务器的数据库中,即向WINS服务器注册登记。 当支持WINS功能的工作站之间要相互通信时,他们就向WINS服务器询问对方的IP地址。 下面我们看一下TCP/IP之上的NetBIOS命名解析方法,若未使用WINS服务器,过程如下: 1.首先检测NetBIOS命名缓存; 2.若不能解析,则采用广播方式完成; 3.若广播失败,则分析LMHOSTS文件。如果还不行,向用户返回一个错误信息。 若使用WINS服务器在检测NetBIOS命名缓存不能解析之后,还要尝试与NetBIOS命名服务器联系三次,若失败,再采用广播方式。 TCP/IP命名体系,与NetBIOS 体系不尽相同。工作站“TCP/IP属性”对话框“DNS配置”标签中的“主机”文本框中应输入本机的主机名称,“域”文本框中应输入本机所在的域名。当不存在HOST文件时,本机的主机名在此命名。可以说,TCP/IP主机名与域名组合构成因特网地址。 TCP/IP协议主机名解析过程如下: 1.当用户命令使用主机名时,首先检查此主机名是否和本地主机名相同,如果相同,名字就被解析了; 2.若不同,则分析HOSTS文件; 3.若分析失败,向DNS服务器查询; 4.如果不能通过DNS解析,检查NetBIOS缓存; 5.若还不能解析,再通过WINS服务器。 ■解决问题的方法 由此,我们可以得出文中所提问题的解决办法。 1.“打不开信箱”的问题及解决方法: 由于在工作站使用了TCP/IP协议,且“TCP/IP属性”对话框“DNS配置”标签中的主机名为“SERVER”,实际是将该工作站的主机名命名为“SERVER”,当运行Lotus Notes时,本应该使用“SERVER”名称和NT服务器通信,但按照TCP/IP协议主机名的解析过程,首先将“SERVER”当主机名解析,若解析失败,才作为NetBIOS名解析。当作为主机名解析时,第一步是检查此主机名是否和本地主机名相同,结果相同,就会出现“没有发现到服务器路径”问题了。后面的Ping SERVER返回本机IP地址,也是同样原因。 可以在工作站端添加NetBIOS协议,并将NetBIOS协议设置为默认协议,估计原设置也能工作(本人未试)。将“SERVER”先按NetBIOS名解析,再按TCP/IP名解析。 2.“将工作站上的DNS服务器搜索顺序改为PC机本身的IP地址仍能工作”问题解决方法: 主要是工作站端设置了HOSTS文件所致,按照TCP/IP协议主机名的解析过程,首先检查是否和本地主机名相同,如果不同则分析HOSTS文件,其次才是DNS。所以在此情况下,DNS根本没有被访问。 综上所述,我们可以看到文中所谓“没道理的解决办法”就是“真正的解决办法”,只是在此将工作站的“主机名”与“计算机名”采用了同一个名称——ZYM。通过前面的分析可以看出,主机名不一定要与NetBIOS计算机名一致。
|