轉者按:網上鄰居的機制雖然簡單
但是
言
語說的清清楚楚也不是很容易的事情
網上鄰居探秘
賀燕
:
:
為什麼明明有的機子已經關機
卻還停留在
網上鄰居
裡?它什麼時候能消失?為什麼有的計算機名更改了
但舊名字還留在網上?
要解答這些問題
就得先從微軟的浏覽服務思想說起
在NT域環境下或工作組環境下
浏覽服務維護著一個浏覽列表
它包含所有可使用的域
工作組和計算機名等
是共享資源的目錄
當我們使用
網上鄰居
時
就在使用這個浏覽服務
浏覽服務系統包含了主浏覽器
備份浏覽器和浏覽器客戶等角色
作為主浏覽器的計算機起到了維護浏覽列表的作用並且周期性地把拷貝發送到作為備份浏覽器的計算機上
當浏覽器客戶需要知道網上有哪些可利用的資源時
向作為備份浏覽器的計算機發出API呼叫以得到當前的列表
主域控制器(PDC)有主浏覽器的優先權
這樣它就承擔了維護它所在的這個工作組的浏覽列表的工作
但是它也有關機或重啟的時候
這時便產生了主浏覽器的競選過程
也就是說
競選發生在當一個計算機不能定位主浏覽器時
或具備更優先條件的計算機上線時
或NT主域控制器啟動時
按照各自的選舉條件
當作為主浏覽器的計算機推舉出來後
網絡浏覽才能正常
競選是通過發廣播來實現的
如果哪個計算機的競選條件比它收到的報文要好
則它將廣播自己的競選條件
收到別人的競選條件後每個計算機根據自己在域中的角色延遲不等的時間後再做反應
這樣能減少競選條件較差的計算機發送選舉報文
當一個計算機選舉成為主浏覽器並且它的浏覽列表是空時
它將廣播一個請求通知的報文
強迫所有的計算機必須在
秒內給予答復
這個
秒的時間是為了防止服務器過載或報文丟失
除了承擔主浏覽器和備份浏覽器任務的計算機外
其他機子將向主浏覽器周期性地發布通知
告知自己是可利用的資源
這個時間開始是
分鐘
分鐘
分鐘
分鐘
以後就是每
分鐘一次了
如果這個機子關機了
主浏覽器連續
個周期也就是
分鐘沒有收到它的消息
將認定它不可用
並從浏覽列表中刪掉它
但是它還留在備份浏覽器的機子裡
備份浏覽器每隔
分鐘呼叫主浏覽器一次以獲得更新的網絡資源列表
也就是說不可用的資源最多要等到
+
=
分鐘後才會從網上徹底消失
這就是為什麼有的計算機改了名
但舊名字依舊留在網上一段時間的原因
在一個工作組裡有一個主浏覽器
那麼在多個工作組
多個域甚至多個子網裡昵?這就需要一個域主浏覽器
每個工作組或域的主浏覽器要周期性地向這個域主浏覽器發送自已所管轄的列表
這個周期開始是
分鐘
次後是
分鐘
如果
個周期內沒有收到這個報文
域主浏覽器也將它從自己的列表中去除
也就是說
當一個工作組失效後
它還將在主列表中保留
分鐘
域主浏覽器默認為主域控制器
Windows XP Professional版本的計算機不能擔此重任
當收到浏覽列表後
計算機必須能解析裡面的NetBIOS名
這就要求網絡的WINS服務或DNS服務必須正常
浏覽才能正常
因為浏覽的競選過程是通過UDP廣播實現的
作為網絡管理員
當網上鄰居出現問題時
要一步步分析
看是暫時的還是競選過程出了問題
目前沒有辦法證明浏覽列表是否完整
但有辦法發現某可用資源是否在列表裡
甚至可以強迫開始一次競選
一般是沿著通信鏈的路徑從第一個應該具有該資源的主浏覽器查起
看它是否收到某計算機的通知報文
浏覽服務使用的是CIFS/E(Common Internet File System)協議組裡的計算機浏覽協議
在Windows
的計算機環境裡使用活動目錄來代替它
但為了向下兼容
Windows
也支持這個浏覽服務
From:http://tw.wingwit.com/Article/Network/201311/30035.html