名稱解析

名稱解析,就是把一個文本類型的計算機名映射到一個數字類型IP位址,分為主機名稱解析和NetBIOS名稱解析兩類。

概述

名稱解析就是將文本狀態的計算機名映射為IP位址的過程。Windows 2000支持兩種名稱解析方式:主機名稱解析和NetBIOS解析。主機名稱解析是將計算機主機名解析成IP位址,而NetBIOS解析是將NetBIOS名稱映射成對應的IP位址。兩種名稱解析方式使用不同的方法實現名稱解析。主機名解析可以通過Hosts 主機名檔案或DNS 伺服器實現,而NetBIOS名稱解析可以通過Lmhosts 檔案或WINS伺服器實現 。

主機名解析

DNS是Windows2000和WindowsXP用於命名主機計算機的標準。與NetBIOS所提供的單層名稱空間不同,DNS提供的是多層次名稱空間。

用於DNS名稱解析的機制包括Hosts檔案、DNS本身和DNS解析器快取 。

主機名的概念

主機名幾乎用於所有的TCP/IP環境。下面列出了對主機名的描述:

1.主機名是管理員為計算機分配的別名,別名用於識別TCP/IP主機。主機名不需要與NetBIOS計算機名相符,它可以是任何一個256字元的字元串。可以為同一台主機分配多個主機名 ;

2.主機名簡化了用戶對其他TCP/IP主機的稱呼方法。主機名比IP位址容易記憶,使用Ping工具或其他TCP/IP工具時,可以用主機名代替IP位址;

3.主機名總是與一個IP位址相對應的,該IP位址存儲在Hosts檔案、DNS資料庫或NetBIOS名稱伺服器中;

4.主機名顯示的是分配給系統的主機名。在默認情況下,主機名和基於Windows的計算機名稱相同 。

DNS解析器快取

Windows2000和WindowsXP有一個用於存放近期解析過的名稱的快取。當需要解析一個名稱時,系統將搜尋該快取。如果沒有找到要解析的名稱,那么將使用其他解析方法。 使用ipconfig/displaydns可以查看 DNS解析器快取 。

使用Hosts進行名稱解析

Hosts檔案與只用於遠程主機的Lmhosts檔案不同,它把本地主機和遠程主機的主機名都映射到它們的IP位址。過程如下:

1.當用戶使用主機名來輸入一條命令(如Ping命令)時,主機名稱的解析就開始了。

2. 這台計算機會檢查主機名與本地主機名是否一致。如果一致,計算機就成功地解析了名稱(目標主機與源主機相同),並使用該主機的IP位址。

3. 如果兩個主機名不同,就會按順序讀取Hosts檔案。如果在Hosts檔案中找到主機名,那么主機名將被解析成一個IP位址。

4.如果無法解析主機名,並且沒有配置其他解析方法(如DNS、NetBIOS名稱伺服器、廣播或Lmhosts檔案),那么就中止解析過程,並顯示一個錯誤訊息 。

使用DNS的名稱解析

DNS伺服器是一個線上資料庫。它將FQDN和其他主機名解析成IP位址。通過配置,可以使Window2000和WindowsXP的所有版本都使用DNS伺服器,而使Windows2000的所有伺服器版本都提供DNS伺服器服務。使用DNS伺服器解析域名同使用Hosts檔案解析域名的過程相似。

通過配置,使Windows2000或WindowsXP使用DNS伺服器來解析主機名的過程如下所述:

當用戶使用FQDN或主機名輸入一條命令時,DNS伺服器在它的資料庫內尋找該名稱,並嘗試把它解析成一個IP位址。如果DNS伺服器無法解析該名稱,那么該DNS伺服器可以查詢其他DNS伺服器,請求它們幫助完成這個名稱解析。

如果其他DNS伺服器沒有對該請求作出回響,那么計算機會再發出若干次請求。如果仍然沒有任何回響,並且沒有配置其他解析方法(如NetBIOS名稱伺服器或Lmhosts),那么就中止解析過程,並報告一個錯誤 。

NetBIOS名稱解析

NetBIOS名稱就是計算機名。某些Windows作業系統使用它來識別網路上的計算機。一台計算機要建立與另一台計算機的通信,就必須把對方的計算機名解析成一個IP位址。

NetBIOS名稱解析的特有機制包括:廣播、Lmhosts檔案和NetBIOS名稱伺服器。

NetBIOS名稱的概念

NetBIOS名稱長度為16個位元組。與255個字元的DNS主機名不同,NetBIOS名稱是另一種計算機命名的方法。Windows2000和WindowsXP的多數功能使用DNS名稱,但是如果網路上有一些計算機運行Windows早期版本,或裝有依賴於NetBIOS名稱的應用程式,那么就必須進行NetBIOS名稱解析。

1. NetBIOS名稱註冊

當計算機服務啟動,以及用戶登錄時,將動態註冊NetBIOS名稱。NetBIOS名稱既可以註冊為惟一名稱,用於映射惟一地址,又可以註冊為組名稱,用於映射多個地址。

2.NetBIOS名稱註冊舉例

Windows2000的Server服務是使用NetBIOS名稱服務的一個例子。Windows2000的Server服務提供檔案和印表機共享。用戶啟動計算機時,該服務註冊一個基於計算機名的惟一NetBIOS名稱。註冊名由15個字元的計算機名加上第16個字元0x20構成。這第16個字元惟一地標識了Server服務。

當用戶嘗試使用NetBIOS名稱來連線到一個已分享檔案夾時,將啟動一個名稱查詢,用於搜尋Server服務的NetBIOS名稱。一旦找到該NetBIOS名稱就建立通信,這樣用戶就可以連線到該已分享檔案夾所在的伺服器

3.瀏覽

WindowsNT、Windows2000和WindowsXP可以創建已註冊NetBIOS名稱的列表,使用戶能夠在網路上找到含有共享資源的計算機。建立這些列表的過程稱為“瀏覽”。

要在Windows2000上訪問共享資源,可以執行以下步驟:

1)打開“網上鄰居”,然後雙擊“整個網路”;

2)單擊“全部內容”;

3)雙擊“MicrosoftWindows網路”;

4)雙擊適當的域或工作組,然後雙擊該資源所在的計算機名 。

廣播名稱解析

當WINS伺服器不可用時,運行Windows2000之前版本的作業系統(如Windows 98)的計算機將使用廣播訊息把NetBIOS名稱解析成IP位址。這個方法比較簡單,效率也相當高。當遇到網路上另一台計算機的NetBIOS名稱時,計算機會生成一系列“名稱查詢請求”訊息,並把這些訊息作為廣播傳送給本地網路上所有其他計算機。使用該查詢訊息中指定的NetBIOS名稱的計算機就會向發出查詢的計算機傳送一條“肯定名稱查詢回響”訊息,該訊息中含有前者的IP位址。發出查詢的計算機將使用這個IP位址向目標計算機傳送單播訊息。

廣播名稱解析法存在兩個主要的問題。第一,廣播只能用於解析本地網路的計算機名。因為廣播傳輸局限於產生廣播的區域網路(LAN)內,所以即使LAN之間有路由器連線,Windows計算機也無法使用該方法來解析其他LAN內的計算機名。在WINS普及之前,網路管理員通常把廣播與一個LMHOSTS檔案結合使用。這個個LMHOSTS檔案專門用於存放其他LAN上NetBIOS名稱的解析。第二,這個方法會在網路上產生大量的廣播傳輸,使得網路上所有計算機的網路接口適配器都要接收、檢查和丟棄大量目標為其他計算機的訊息。要解決這個問題,就需要安裝只使用單播傳輸的WINS伺服器 。

使用Lmhosts的名稱解析

當傳送一個在同一子網內的NetBIOS名稱解析的廣播後,如果廣播沒有返回IP位址,Microsoft客戶端計算機就會讀取Lmhosts檔案。Lmhosts檔案是一個靜態ASCII檔案,用於解析遠程NetBIOS計算機的NetBIOS名稱。Lmhosts檔案有以下特點:

1.它解析早期Windows命令(如netuse)所使用的NetBIOS名稱 ,每項都由一個NetBIOS名稱和它對應的IP位址組成 ;

2.每台計算機都有自己的Lmhosts檔案。默認目錄位置是以下形式的:systemroot\System32\Drivers\etc。該目錄含有一個Lmhosts樣本檔案(Lmhosts.sam) 。

使用NetBIOS名稱伺服器的名稱解析

解析本地和遠程NetBIOS名稱,最常用的方法是使用NetBIOS名稱伺服器。當用戶啟動某些命令,或使一個NetBIOS應用程式與網路進行互動時,NetBIOS名稱的解析進程就開始了。客戶端計算機將先查NetBIOS名稱快取,以查找目標主機的“NetBIOS名稱/IP位址”映射。如果在快取內找不到NetBIOS名稱,那么客戶端計算機就嘗試使用其他辦法來確定目標主機的IP位址。

如果使用NetBIOS名稱快取無法解析名稱,那么就把該目標主機的NetBIOS名稱傳送到NetBIOS名稱伺服器,該NetBIOS名稱伺服器已配置為源主機。把NetBIOS名稱解析成IP位址後,NetBIOS名稱將返回源主機 。

相關詞條

相關搜尋

熱門詞條

聯絡我們