使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

本文讨论 Microsoft Windows 客户端使用的将主机名解析为 IP 地址的不同方法。 该方法序列不同于将 NetBIOS 名称解析为 IP 地址所使用的序列。

更多信息

在使用 TCP/IP 协议的网络上,需要将资源名称转换为 IP 地址才能连接这些资源。 Microsoft Windows 客户端将按照方法序列尝试将名称解析为地址,当成功将名称与 IP 地址匹配时停止搜索。

几乎在所有情况下,都会使用两个主要序列: NetBIOS 解析和主机名解析。 通过 Windows 文件管理器或网络邻居连接到 Microsoft 服务器上的资源的客户端通常使用 NetBIOS 名称解析。

有关其他信息,请参见下面的 Microsoft 知识库文章:

119493 TCP/IP 上的 NetBIOS 名称解析和 WINS

主机名解析对未通过 NetBIOS 接口连接的 TCP/IP 资源的名称进行解析。 其最常见的示例是 Web 浏览器,例如 Microsoft Internet Explorer。 其他示例包括 Internet 应用程序,例如 Ping、FTP 和 Telnet。 许多使用 Winsock(TCP/IP 套接字的 Microsoft Windows 实现)连接的现代数据库和邮件应用程序也使用主机名解析。 这些应用程序类型的示例有 Outlook 和 Exchange。

当解决名称解析问题时,需要限定应用程序要解析 NetBIOS 名称还是主机名。

注意: 在本文上下文中,“客户端”术语不一定指的是工作站。 Windows NT 服务器会在要求访问需要主机名解析的资源时充当客户端角色。

主机名解析通常使用以下序列:

  1. 客户端查看查询的名称是否是其自身的名称。

  2. 客户端然后搜索本地计算机上存储的本地主机文件、IP 地址列表和名称。

    注意: 主机文件位置取决于操作系统:

    Windows NT %Systemroot%\System32\Drivers\Etc
    Windows 95 <drive>\<Windows folder>
    Windows for Workgroups <drive>\<Windows folder>
    Windows 3.1 <drive>\<Windows folder>
    MS-Client 3.0 <Boot volume>\Net
    Lan Manager 2.2c Client <Boot volume>\Net
    其中 %Systemroot% 是安装 Windows NT 的文件夹,<drive> 是安装 OS 的驱动器,而 <boot volume> 指的是启动软盘或驱动器 C。

    示例主机文件 Hosts.sam 随用于显示正确格式的 TCP/IP 协议一起安装。

  3. 查询域名系统 (DNS) 服务器。

  4. 如果名称仍未解析,NetBIOS 名称解析序列则充当备份。 可以通过配置客户端的 NetBIOS 节点类型更改此顺序。

Windows 客户端将尝试这些方法中的每种方法,直到成功解析名称或用尽这些方法。 使用 Microsoft TCP/IP 3.11b 的 Windows NT、Windows 95 和 Windows for Workgroups 客户端都按照此序列操作。 Lan Manager 2.2c 或 Microsoft Client 3.0 客户端不将 NetBIOS 名称解析作为备份。

有关其他信息,请参见以下 Microsoft 知识库文章:

169141MS-Client 和 LM 2.2c 的 NetBIOS 和主机名解析
当解析名称时,客户端将跳过未配置的方法。 例如,如果系统中没有主机文件,则它将跳过上述步骤 2,尝试向 DNS 服务器发出查询。 如果客户端 TCP/IP 配置中未输入 DNS 服务器 IP 地址,则客户端将跳到序列中 DNS 后的下一步。

更改主机名解析顺序的方法因操作系统和版本而异。 这些方法记录在特定操作系统的资源包中以及 Microsoft 知识库中。

有关其他信息,请参见以下 Microsoft 知识库文章:

171567未应用 Windows NT 4.0 ServiceProvider 优先级值

139270如何在 Windows 95 和 Windows NT 上更改名称解析顺序

119372 设置 TCP/IP-32 的名称解析搜索顺序

疑难解答

问题: 客户端无法解析主机名。

疑难解答步骤:

如果客户端无法解析主机名,则最好验证客户端应当使用的上述主机名解析序列。 如果该名称在客户端使用的任何资源中都不存在,则您必须决定将它添加到哪个资源中。 如果该名称在资源之一(例如 DNS 服务器或 Windows Internet 名称服务 (WINS) 服务器)中存在,而客户端未能正确解析该名称,则您需要关注如何解决该特定资源的问题。

另外,请确认客户端正在尝试解析主机名而不是 NetBIOS 名称。 许多应用程序有多种用来解析名称的方法,邮件和数据库应用程序尤其如此。 应用程序可以配置为使用 NetBIOS 连接到资源。 根据客户端配置,客户端可以绕过主机名解析。 从那里,需要将连接类型更改为 TCP/IP 套接字或者像解决 NetBIOS 问题那样解决该问题。

问题: 客户端解析名称的速度非常慢,或者无法解析名称并耗费很长时间报告失败。

疑难解答步骤:

此问题的原因是,在客户端的 TCP/IP 配置中配置了 DNS 服务器,但是该服务器对于客户端不可用。 由于 TCP/IP 协议假设不可靠的网络,客户端将在放弃尝试的查询之前,不断尝试连接到 DNS 服务器。 如果配置了另一个 DNS 服务器,则客户端将尝试查询该服务器,耗费相同的时间失败。 只有这时,客户端才逐步执行上述 NetBIOS 名称解析。

解决此问题有三种方法。

  • 如果主机文件中正确输入了主机名,则将在客户端尝试查询 DNS 之前解析该主机名。 此解决方案适用于 DNS 服务器暂时无法访问且需要解析很少数量的主机名的情况。 解决方法是可以手动配置多个客户端的主机名。 - 或 -

  • 如果 DNS 服务器可用,但是客户端 TCP/IP 配置中的 DNS 服务器地址不正确,则更正这些地址会使客户端立即连接到 DNS 服务器。 即使 DNS 服务器报告无法解析名称,也会比客户端根本无法访问 DNS 服务器发生得更快一些。 - 或 -

  • 如果客户端上配置了 DNS 服务器,但是这些服务器永久无法访问,则从客户端配置中删除 DNS 服务器的 IP 地址。 客户端于是会绕过 DNS 查找,没有任何延迟。 - 或 -

  • 如果 DNS 数据库中的记录丢失或不正确,则在 DNS 服务器报告无法解析名称之前查询其他 DNS 服务器时会发生延迟。 这通常仅有几秒的延迟。

有关 TCP/IP 和名称解析的详细信息,请参见 Microsoft 匿名 FTP 服务器上的下列白皮书:

文件名: Tcpipimp2.doc
位置: ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/
标题: “Microsoft Windows NT 3.5/3.51/4.0: TCP/IP 实现详细信息 TCP/IP 协议堆栈和服务,版本 2.0。 "

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×