当您打开计算机开始访问网络资源时,就涉及到一个问题:名字解析,名字解析就是把需要访问的计算机名字解析成 IP 地址的过程。
Windows名字解析(2)
查询 DNS 服务器
如果 Windows 在 DNS 客户端缓存和 hosts 文件里找不到要查询的主机名字,会查询 DNS 服务器。这时, Windows 会根据需要查询的主机名字来决定如何提交查询问题到 DNS 服务器。
主机名字有三种类型。第一类主机名字含有多个部分,以点分割,而且以点结尾,例如 www.contoso.com. ,我们也把这种名字称为 FQDN ( Fully Qualified Domain Name )。所有提交到 DNS 服务器去查询的名字都必须是 FQDN 。如果一个用户直接访问一个 FQDN 名字, Windows 直接用这个名字去查询 DNS 服务器。
第二类主机名字只有一个部分,不含有点,例如 sh-fileserver 。第三类主机名字含有多个部分,以点分割,但是不以点结尾,例如 www.contoso.com 。对于后两类主机名字, Windows 会修改主机名字,然后再提交到 DNS 服务器去查询。这是不是有些超出大家的预料,我们来讲讲 Windows 为什么要这么做。假设您上海分公司的 Windows 域名是 shanghai.contoso.com ,您的计算机名是 seal ,它的全名是 seal.shanghai.contoso.com ,下面是在您的计算机上运行 ipconfig /all 命令的结果的一部分,注意 DNS 后缀搜索列表( DNS Suffix Search List )之后列出的两个名字 shanghai.contoso.com 和 contoso.com 。
Windows IP Configuration
Host Name . . . . . . . . . . . . : seal
Primary Dns Suffix . . . . . . . : shanghai.contoso.com
Node Type . . . . . . . . . . . . : Mixed
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : shanghai.contoso.com
contoso.com
假设北京总部的 Windows 域名是 contoso.com ,您要访问北京总部的一台文件服务器 bj-fileserver ,它的全名是 bj-fileserver.contoso.com 。您打开文件管理器,直接输入 \bj-fileserver 。注意,您输入的只是服务器的计算机名,而不是用冗长的 FQDN 。 Windows 为了获得 bj-fileserver 的 IP 地址,会在 bj-fileserver 之后依次附加 DNS 后缀搜索列表中的名字来形成 FQDN ,并发送给 DNS 服务器,直到 DNS 服务器返回一个正确的结果。下面就是 Windows 依次发送给 DNS 服务器的 FQDN :
bj-fileserver.shanghai.contoso.com.
bj-fileserver. contoso.com.
对于第一个查询, DNS 服务器返回的结果是不知道,因为这个名字并不存在;对于第二个查询, DNS 服务器返回 bj-fileserver 的 IP 地址,查询结束。
您可以在网卡的 Internet 协议 TCP/IP 属性 - 〉高级 - 〉 DNS 页面里修改 DNS 后缀搜索列表,如下图:
如果查询 DNS 服务器还是失败,那么主机名字解析就失败了。

网友评论