文章編號: 172218 - 上次校閱: 2006年12月21日 - 版次: 3.0

Microsoft TCP/IP 主機名稱解析順序

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
本文曾發行於 CHT172218

在此頁中

全部展開 | 全部摺疊

結論

本文將告訴您,Microsoft Windows 用戶端用來將主機名稱解析為 IP 位址的不同方法。這些方法的順序與用來將 NetBIOS 名稱解析為 IP 位址的順序不同。

其他相關資訊

在使用 TCP/IP 通訊協定的網路上,必須將資源的名稱轉換成 IP 位址,才能連接到這些資源。Microsoft Windows 用戶端會依照方法的順序執行,嘗試將名稱解析為位址,並在成功地將名稱配對到 IP 位址時停止搜尋。

在幾乎所有的情況中,都會使用兩個主要順序:NetBIOS 解析和主機名稱解析。連線到 Microsoft 伺服器上的資源的用戶端 (通常透過「Windows 檔案管理員」或「網路上的芳鄰」) 最常使用 NetBIOS 名稱解析。

如需詳細資訊,請參閱「Microsoft 知識庫」中的下列文件:
119493? (http://support.microsoft.com/kb/119493/ ) NetBIOS over TCP/IP Name Resolution and WINS
主機名稱解析會解析不是透過 NetBIOS 介面連線的 TCP/IP 資源名稱。其中最常見的範例是網頁瀏覽器,例如 Microsoft Internet Explorer。其他範例包括網際網路應用程式,例如 Ping、FTP 和 Telnet。許多使用 Winsock (TCP/IP 通訊端的 Microsoft Windows 實作) 連線的現代資料庫和郵件應用程式也是使用主機名稱解析。這些類型的應用程式範例為 Outlook 和 Exchange。

在疑難排解名稱解析問題時,請務必確認應用程式是在解析 NetBIOS 名稱或主機名稱。

注意:在本文中,「用戶端」一詞並不一定是指工作站。當 Windows NT 伺服器必須存取需要主機名稱解析的資源時,就會擔任用戶端的角色。

主機名稱解析通常會使用下列順序:

  1. 用戶端檢查查詢的名稱是否為其本身。
  2. 然後,用戶端會搜尋本機 Hosts 檔案 (儲存在本機電腦上的 IP 位址和名稱清單)。

    注意:Hosts 檔案位置會因作業系統而有所不同:
    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 檔案範例 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 知識庫」中的下列文件:
169141? (http://support.microsoft.com/kb/169141/ ) NetBIOS and Hostname resolution for Microsoft Client and LAN Manager 2.2c Client
在解析名稱時,用戶端會略過未設定的方法。例如,如果系統上沒有 Hosts 檔案,用戶端就會略過上述的步驟 #2,然後嘗試查詢 DNS 伺服器。如果用戶端 TCP/IP 設定中沒有輸入 DNS 伺服器 IP 位址,用戶端便會跳至順序中 DNS 後面的下一個步驟。

變更主機名稱解析順序的方法會因作業系統和版本而有所不同。這些都記載在特定作業系統的 Resource Kit 以及「Microsoft 知識庫」中。

如需詳細資訊,請參閱「Microsoft 知識庫」中的下列文件:
171567? (http://support.microsoft.com/kb/171567/ ) Windows NT 4.0 ServiceProvider Priority Values Not Applied
139270? (http://support.microsoft.com/kb/139270/ ) How to change name resolution order on Windows 95 and Windows NT
119372? (http://support.microsoft.com/kb/119372/ ) Setting the Name Resolution Search Order for TCP/IP-32

疑難排解

問題:用戶端無法解析主機名稱。

疑難排解步驟:

如果用戶端無法解析主機名稱,最好先確認用戶端應該使用的上述主機名稱解析順序。如果此名稱不存在於用戶端使用的任何資源中,您必須決定將它加入哪個資源。如果名稱存在於其中一個資源 (例如 DNS 伺服器或 Windows 網際網路名稱服務 (WINS) 伺服器),但用戶端未正確解析名稱,則您應該針對該特定資源進行疑難排解。

同時,請確認用戶端正嘗試解析主機名稱,而不是 NetBIOS 名稱。許多應用程式都有多個可以用來解析名稱的方法,特別是郵件和資料庫應用程式更是如此。應用程式可能會設定成使用 NetBIOS 來連接資源。根據用戶端設定,用戶端可能會略過主機名稱解析。此時,您必須將連線類型變更為 TCP/IP 通訊端,或將它視為 NetBIOS 問題來進行疑難排解。

問題:用戶端解析名稱的速度非常緩慢,或者無法解析名稱,而且花費很長的時間才報告失敗。

疑難排解步驟:

造成此問題通常是因為雖然 DNS 伺服器是在用戶端的 TCP/IP 設定中設定的,但是用戶端無法使用該伺服器。由於 TCP/IP 通訊協定假設網路不可靠,因此用戶端會一再嘗試連線到 DNS 伺服器,直到放棄嘗試的查詢為止。然後,用戶端會嘗試查詢第二個 DNS 伺服器 (如果有的話),並花費相同的時間才失敗。只有如此,用戶端才會依照上述步驟進行 NetBIOS 名稱解析。

您可以採用三種方法因應這個問題。

  • 如果在主機檔案中輸入正確的主機名稱,則會在用戶端嘗試查詢 DNS 之前解析該名稱。如果暫時無法連接 DNS 伺服器,而且少數主機名稱需要解析,這個解決方法會很有用。不過,這裡禁止為多個用戶端手動設定 Hosts 檔案。- 或 -

  • 如果有可用的 DNS 伺服器,但用戶端 TCP/IP 設定中的 DNS Server 位址不正確,修正這些位址就能使用戶端立即連上 DNS 伺服器。即使 DNS 伺服器報告無法解析名稱,這個方法還是比用戶端完全無法連上 DNS 伺服器的回報速度要快得多。- 或 -

  • 如果 DNS 伺服器是在用戶端上設定的,但是這些伺服器永遠無法使用,請將 DNS 伺服器的 IP 位址從用戶端設定中移除。然後,用戶端將會略過 DNS 查詢,而不會發生延遲。- 或 -

  • 如果 DNS 資料庫中的記錄遺失或不正確,就會發生延遲,因為 DNS 伺服器在回報無法解析名稱之前,會先查詢其他 DNS 伺服器。這通常只會造成幾秒鐘的延遲。
如需有關 TCP/IP 和名稱解析的詳細資訊,請參閱 Microsoft 匿名檔案傳輸伺服器上的下列白皮書:
檔案名稱:Tcpipimp2.doc
位置:ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/ (ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/)
標題:"Microsoft Windows NT 3.5/3.51/4.0:TCP/IP Implementation Details TCP/IP Protocol Stack and Services, Version 2.0 "

這篇文章中的資訊適用於:
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows 95
  • Microsoft TCP/IP-32 for Windows for Workgroups 1.0
  • Microsoft LAN Manager 4.2 Standard Edition
  • Microsoft Network Client 3.1
關鍵字:?
kbinfo kbnetwork KB172218
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。