有關網上鄰居的問題,問的人一直比較多,在理解上存在的誤區也普遍較為嚴重。鑒於Microsoft的NETBIOS文檔不是很細致,我四處收集了一些相關資料加上自己的實踐經驗寫了這個系列,希望能對大家有所幫助.
本來想為了增加可讀性,把這個系列寫成問答的形式,不過一時之間腦袋裡也編不出這麼多的問題,還是按部就班先感性的對微軟的浏覽服務作一大致介紹,然後再深入剖析NETBIOS的具體工作機理,大家要是有什麼問題,可以提出來我們一起討論.
在“Windows NT系統管理技術內幕”一書中,講到了一個非常具有代表性的問題,我把它摘抄了下來:
問:什麼情況下會導致在網絡鄰居中計算機能看見卻無法訪問或可以訪問卻看不見?
請選擇最佳答案:
A.你的網絡存在物理問題,比如網線
B.作為域主浏覽器的Windows NTserver的浏覽服務壞了
C.Windows NTserver網卡有問題
D.你的網絡沒有問題,用戶描述的是正常的微軟浏覽現象
正確答案:D
書上的解釋:微軟的網絡浏覽可能在使用中出現'中斷',而實際上它們並沒有中斷, 這種誤解是由於用戶對微軟網絡浏覽的處理過程不熟悉造成的。
就象有人經常在抱怨的“為什麼別人的網上鄰居可用,我的卻不行?”“為什麼有時候可以浏覽,有時候卻無法浏覽網絡?”解鈴還須系鈴人,讓我們一起去看看微軟的網絡浏覽到底是如何實現的。鑒於大家可能對NT的“域”概念還不甚了解,出現浏覽故障的也多為98的機子,我將以98的“工作組模式”為大家講解。
1.什麼是浏覽列表(Browsing List)
在微軟網絡中,用戶可以在浏覽列表裡看到整個網絡(何指?子網還是廣播域?大家可以考慮考慮)上所有的計算機。當你通過網上鄰居窗口打開整個網絡時,你將看到一個工作組列表,再打開某個工作組,你將看到裡面的計算機列表(也可在 DOS方式下用net view /domain:workgroupname命令得到),這就是我們所說的 Browsing List。工作組從本質上說就是共享一個浏覽列表的一組計算機,所有的工作組之間都是對等的,沒有規定不可以讓所有的計算機同處於一個工作組中。
2.浏覽列表在哪裡
曾在木棉上看到過一場爭論,有人說:網上鄰居裡的計算機列表是廣播查詢得來的。可有人舉反例說:我的同學都關機了,可我還是能在網上鄰居裡看到它,應該是從HUB或交換機之類較為固定的設備的緩存中取得的。 其實他們都只說對了一個方面,把他們二人的說法結合起來就是正確答案了--- 浏覽列表是通過廣播查詢浏覽主控服務器,由浏覽主控服務器提供的。
3.浏覽主控服務器又是什麼
浏覽主控服務器是工作組中的一台最為重要的計算機,它負責維護本工作組中的浏覽列表及指定其他工作組的主控服務器列表,為本工作組的其他計算機和其他來訪本工作組的計算機提供浏覽服務,每個工作組都為會每個傳輸協議選擇一個浏覽主控服務器,而我們經常遇到的無法浏覽網絡的錯誤大多是因為你所處的工作組沒有浏覽主控服務器而造成的。你可以在一個工作組中用NBTSTAT -a computername 命令找出使用NBT協議的浏覽主控服務器,它的標識是含有\\_MSBROWSE_名字段。