Windows上的名字解析(6)
查询lmhosts文件
如果查询NetBIOS名字缓存和通过网络做NetBIOS名字解析都失败,Windows会读lmhosts文件来解析NetBIOS名字。我们已经知道lmhosts文件中有#PRE后缀的纪录会被装载到NetBIOS名字缓存中,现在Windows只会检查那些没有#PRE后缀的纪录。
如果前面三个步骤都解析失败,那么NetBIOS名字解析就失败了。
示例
在了解了两类名字解析之后,我们来看看在Windows上ping 的过程是如何的。我们还是假设当前计算机的DNS后缀搜索列表为shanghai.contoso.com和contoso.com,节点类型是M节点,所有的缓存以及lmhosts和hosts文件都是空的。
如果ping上海的文件服务器sh-fileserver,它的全名是sh-fileserver.shanghai.contoso.com,会有以下过程:
查询DNS客户端缓存及hosts文件,查询失败
向DNS服务器查询FQDN sh-fileserver.shanghai.contoso.com,查询成功
返回sh-fileserver的IP地址
如果ping北京总部的文件服务器bj-fileserver,它的全名是bj-fileserver. contoso.com,会有以下过程:
查询DNS客户端缓存及hosts文件,查询失败
向DNS服务器查询FQDN bj-fileserver.shanghai.contoso.com,查询失败
向DNS服务器查询FQDN bj-fileserver. contoso.com,查询成功
返回bj-fileserver的IP地址
如果ping一个不存在的名字fake-server,会有如下过程:
查询DNS客户端缓存及hosts文件,查询失败
向DNS服务器查询FQDN fake-server.shanghai.contoso.com.,查询失败
向DNS服务器查询FQDN fake-server. contoso.com. ,查询失败
查询NetBIOS名字缓存,查询失败
广播查询NetBIOS名字fake-server <00>,查询失败
向WINS服务器查询NetBIOS名字fake-server <00>,查询失败
查询lmhosts文件,查询失败
最终名字解析失败

网友评论