文章編號: 150800 - 上次校閱: 2004年9月22日 - 版次: 2.2 以 TCP/IP 與 LMHOSTS 檔進行網域瀏覽
本文曾發行於 CHT150800 在此頁中結論
在 TCP/IP 網路中包含路由器與多重區段,一般我們會建議您實作 WINS 來進行名稱解析與瀏覽支援。然而,只是在所有電腦上使用 LMHOSTS 檔,就有可能得到完整的網域瀏覽結果,雖然有一些限制,但可作為 WINS 的替代方案,本文將告訴您這些限制。
不論是哪一種情況,有一點必須要注意,只有當用戶端是使用相當於網域名稱的工作群組名稱時 (工作群組名稱 = 網域名稱),此用戶端才會參與網域瀏覽作業。Windows NT 電腦也可以「加入」網域以取得此功能,而不作為工作群組的一員。 這種 LMHOSTS 式的網域瀏覽 (透過路由器) 功能尚未經過 Microsoft 的正式記載或測試,在未來的用戶端與伺服器作業系統版本中也可能不會有此功能。請斟酌您的需求來使用此資訊。 其他相關資訊
「瀏覽」在 Microsoft 網路中應該被當成由一或多部電腦所提供的分散式服務。每一部電腦都可能擔任數種瀏覽器角色;然而,本文要將重點放在最重要的兩個角色:
如需詳細資訊,請參閱下面的「Microsoft 知識庫」文件: 102878?
(http://support.microsoft.com/kb/102878/ZH-TW/
)
瀏覽器作業資訊
為了讓此分散式瀏覽服務能運作,SegMB 需要一個判斷到底誰是 DomMB 的方法。SegMB 可以找出 NetBIOS 名稱是註冊為「Domain<1b>」的電腦以作為判斷方法,因為只有 PDC (如上所述,這也就是 DomMB) 才會註冊此名稱。
如需詳細資訊,請參閱下面的 Microsoft 知識庫文件: 119495?
(http://support.microsoft.com/kb/119495/ZH-TW/
)
登錄於 WINS 服務的名稱清單
以 WINS 進行網域瀏覽在 WINS 的環境中,SegMB 會查詢 WINS 來判斷註冊 Domain<1b> 的電腦是哪一個。在此情況下,WINS 是作為此資訊的便利中央資源。使用 WINS 來協助瀏覽作業還有另一個優點:多重網域的瀏覽。以 WINS 進行多重網域瀏覽設定定期查詢 WINS 的 PDC 會要求取得在資料庫中有註冊之所有網域的清單 (您可以經由資料庫中的「Domain<1b>」註冊項目以及註冊此網域之 PDC 的關聯 IP 位址來辨識網域)。PDC 會將此清單和它自己的網域瀏覽清單結合在一起,因而得到其網域中的完整電腦清單,而且是一份包含 WAN 中所有其他網域的清單。然後 PDC 會和它的 SegMB 互動,將此完整的清單提供給這些 SegMB。當您使用 [檔案管理員] 或 [網路上的芳鄰] 來瀏覽網路時就可以看見這個效果。注意 :這是 WINS 涉入瀏覽作業的極限了。WINS 不會涉入瀏覽器選舉程序,也不會協助用戶端判斷哪一個是它的本機區段主瀏覽器,也不會協助 DomMB 判斷哪些是 SegMB;這是在 SegMB 第一次連絡 DomMB 的過程中完成的。 在某些網路中使用 WINS 可能不是很好的方法;您只能隨案例的不同來做判斷。您也可以使用 LMHOSTS 或 DNS 來解析電腦名稱;然而,進行網域瀏覽以及其他網域管理問題時 (例如資料庫複寫與網域安全通道) 都需要使用 LMHOSTS。 以 LMHOSTS 進行網域瀏覽如果不使用 WINS,您就需要有特殊的 LMHOSTS 項目,這些項目會指出所有網域控制站是哪些。記錄這種項目的協定語法如下:199.199.199.1 ComputerName #PRE #DOM:DomainName Windows NT 區段主瀏覽器擁有上述項目對 Windows NT 電腦而言已經足夠:在變成區段主瀏覽器時,Windows NT 電腦會將查詢 (使用 NetGetDcName API) 傳送至所有具有 #DOM:<localdomain> 名稱的 LMHOSTS 項目,以判斷哪一個是 PDC。只有 PDC 會回應。接著 Windows NT 電腦會連絡 PDC,向 PDC 表明它是主瀏覽器,然後繼續進行取得網域瀏覽清單的程序。PDC 接著會連絡 Windows NT 電腦以取得其本機區段的瀏覽清單。這個程序每隔 12 至 15 分鐘就會重複執行。Windows 95 與 Windows for Workgroups 區段主瀏覽器這類區段主瀏覽器不會執行 NetGetDcName API,所以它們需要使用 LMHOSTS 檔中指出哪一個是 PDC 的項目。假設上述範例是網域中的 PDC,會有兩個項目供 Windows 95 或 Windows for Workgroups 用戶端使用:199.199.199.1 controller1 #PRE #DOM:domainname<BR/> 199.199.199.1 "domainname,,,,,\0x1b" #PRE
NetBIOS 名稱的注意事項每一個 NetBIOS 名稱的長度都要是 16 個字元;前面的 15 個字元可讓使用者自行定義 (或是補上空格),而第 16 個字元是保留作為辨識用途,以辨識註冊此名稱的網路服務。最常見的 NetBIOS 名稱範例是任何 Microsoft 網路用戶端的電腦名稱。當用戶端開機時,各種用戶端網路服務就會以電腦名稱加上獨特的延伸名稱來進行註冊,例如 ComputerName<00> (工作站服務) 與 ComputerName<20> (伺服器服務)。在此情況下,這兩個名稱的唯一差別就是第 16 個字元 - 此字元讓人可以個別辨識這兩個名稱。用戶端可以依據用戶端節點類型,經由廣播以及經由將資料包導向 WINS 來註冊它的所有名稱。其他公司也可能會註冊 Microsoft 沒有保留的 NetBIOS 延伸名稱。如需詳細資訊,請參閱下列的「Microsoft 知識庫」文件: 119493?
(http://support.microsoft.com/kb/119493/EN-US/
)
NetBIOS over TCP/IP Name Resolution and WINS
119495?
(http://support.microsoft.com/kb/119495/ZH-TW/
)
登錄於 WINS 服務的名稱清單
LMHOSTS 範例假設網域名稱是「Globe」,PDC 的 NetBIOS 名稱是「Mongo」,而且還有其他各種備份網域控制站。那麼 LMHOSTS 檔看起來可能會像這樣:199.199.199.1 "globe \0x1b" #PRE<BR/> 199.199.199.1 mongo #PRE #DOM:globe<BR/> 199.199.199.2 otherdc1 #PRE #DOM:globe<BR/> 199.199.199.3 otherdc2 #PRE #DOM:globe
c:\> nbtstat -c
NetBIOS 遠端快取名稱表
名稱 類型 主機位址 存留期 [秒]
------------------------------------------------------------
globe <1B> UNIQUE 199.199.199.1 -1
MONGO <03> UNIQUE 199.199.199.1 -1
MONGO <00> UNIQUE 199.199.199.1 -1
MONGO <20> UNIQUE 199.199.199.1 -1
OTHERDC1 <03> UNIQUE 199.199.199.2 -1
OTHERDC1 <00> UNIQUE 199.199.199.2 -1
OTHERDC1 <20> UNIQUE 199.199.199.2 -1
OTHERDC2 <03> UNIQUE 199.199.199.3 -1
OTHERDC2 <00> UNIQUE 199.199.199.3 -1
OTHERDC2 <20> UNIQUE 199.199.199.3 -1以 LMHOSTS 進行多重網域瀏覽有一點很重要的事要注意,就是使用 LMHOSTS 瀏覽的主要缺點是無法提供自動的多重網域瀏覽功能。如先前所述,PDC 會查詢 WINS 以取得遠端網域清單並將該資訊納入其瀏覽清單中。然而,PDC 不會剖析 LMHOSTS 檔以取得相同資訊,也不會納入其他具有 #PRE (快取) 指示詞的 \0x1b 項目。事實上,如果 PDC 不查詢 WINS,您就無法經由 [檔案管理員] 或 [網路上的芳鄰] 來查看其他網域。然而,您還是可以手動瀏覽其他網域 (如果您知道網域名稱並且在 LMHOSTS 檔中有記錄特殊項目),而且您仍然有機會依靠廣播來瀏覽遠端網域。手動方法:這是經由加入您想要瀏覽之任何遠端網域的 PDC 的 \0x1b 項目來達成。此技術適用於 Windows NT、Windows 95 與 Windows for Workgroups。這個方法會生效是因為隨後會發生下列進行遠端網域瀏覽所需的事件:
如果是 WinNT 電腦: c:\net view /domain:<domainname>
廣播方法:如果是具有多重網域成員身份的任何網路區段就可以使用此方法。在「共有的」區段上會有屬於每一個網域的 SegMB,而每一個 SegMB 都會經由廣播至一個特別的 NetBIOS 名稱 <01><02>_MSBROWSE_<02><01> 來宣告它的網域。此廣播封包會包含網域名稱以及宣告此網域之 SegMB 的電腦名稱。
如果是 Win95 與 WFW: c:\net view /workgroup:<domainname> 其他網域的 SegMB (位於此共有區段上) 會傾聽此資訊,並將此資訊加入其本機瀏覽清單中。此區段上的某個 SegMB 現在會「發現」其他網域的存在,並將此發現的資訊傳送至其網域的 DomMB,以及傳送至要求取得瀏覽清單的區域用戶端 (在它的網域中)。 用戶端會要求本機網域瀏覽清單 (向本機 SegMB 要求) 並在 [檔案管理員] 或 [網路上的芳鄰] 中看見發現的網域。當用戶端選取發現的網域時,實際上是直接向那個在 <01><02>_MSBROWSE_<02><01> 封包中進行宣告的 SegMB 要求瀏覽清單。此外,因為此資訊也會傳送至用戶端的 DomMB,所以此資訊會傳播到屬於此網域的其他區段上的 SegMB。 遠端區段上的用戶端現在也可以使用此資訊,即使在這些區段上沒有遠端網域的成員,它們還是可以瀏覽遠端網域。然而,使用 LMHOSTS 檔讓此程序變得很不穩定,因為「發現的遠端 SegMB」必須仍在作用中您才能取得資訊。在 WINS 環境中,此遠端瀏覽功能就穩定多了,因為 WINS 會向您的 PDC 提供有關遠端網域的資訊。 注意事項:
?考
本文件是根據 Microsoft Knowledge Base 文件編號 Q150800 翻譯的。若要參考原始英文文件內容,請至以下網址:
http://support.microsoft.com/support/kb/articles/Q150/8/00.asp
(http://support.microsoft.com/kb/150800/en-us?ln=en-us&sd=gn&fr=0)
這篇文章中的資訊適用於:
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
回此頁最上方