在前兩篇中,我們分別介紹了微軟的windows 2000以前版本和以後版本中計算機名稱註冊和解析原理,本篇要介紹的是這些windows系統是如何通過以上名稱註冊和解析原理來實現在「網路上的芳鄰」上的瀏覽的。這就是要涉及到windows系統中的乙個非常重要的服務——computer browser service(計算機瀏覽器服務)。
計算機瀏覽服務
是一系列分布式的含有可用的網路資源列表,這些列表分布在一些計算機上,提出瀏覽請求的計算機充當瀏覽工作站,而提供瀏覽列表的計算機充當瀏覽伺服器。
一、瀏覽服務概述
每個子網上基於windows系統的計算機操作均使用計算機瀏覽器服務。用作瀏覽器的計算機維護瀏覽列表,其中包含網路上使用的所有共享資源。windows早期版本提供的某些網路應用程式如「網路上的芳鄰」、netview命令及windowsnt資源管理器均需要進行瀏覽。
例如,當使用者在執行windows95的計算機上開啟「網路上的芳鄰」時,將生成域和計算機的顯示列表。該操作通過計算機從同一子網中的瀏覽器計算機獲得瀏覽列表副本完成。網路上的大部分計算機均按非瀏覽器操作,但執行計算機瀏覽器服務的計算機可作為每個子網潛在的瀏覽器,對於在網路上作為瀏覽器並維護瀏覽列表副本的計算機,windows nt為其分派特殊的職能。理論上來講,網路上的每台計算機都可以作為瀏覽伺服器提供瀏覽列表(
browsing list
) ,但這樣一來會造成瀏覽工作站提出查詢請求時,眾多計算機同時向瀏覽工作站提供瀏覽列表,產生過多的網路流量,降低了網路的效能,同時也會增加cpu的負擔。為了減輕網路和計算機cpu的負擔,同時為了方便對資源列表進行管理,就需要對提供資源瀏覽服務的瀏覽器(並非用於網頁瀏覽的ie之類的軟體瀏覽器,而是指計算機實體)定義各種角色,以便明確分工,各負其責,儘量減少重複無益的流量產生。表1描述了瀏覽器的種類及執行該服務的計算機為實現網路瀏覽目的而執行的各種職能:
瀏覽器類別
說明域主瀏覽器
僅用於域環境。在預設情況下,域的主域控制器(pdc) 完成該任務。
收集和維護域中可用伺服器的主瀏覽列表,以及網路中其他域和工作組的名稱。
分配和同步其他子網中主瀏覽器的主瀏覽列表,該子網有屬於相同域的計算機。
主瀏覽器
收集和維護子網中可用網路伺服器的主瀏覽列表。
完全複製列出的包括主瀏覽列表的資訊以獲得網路的完整瀏覽列表。
向同一子網上的備份瀏覽器分發完整列表。
備份瀏覽器
從主瀏覽器接收本子網的瀏覽列表副本。
根據請求向其他計算機分發瀏覽列表。
潛在瀏覽器
在正常情況下,按非瀏覽器執行。
在接到子網主瀏覽器指令後才會成為備份瀏覽器。
非瀏覽器
不維護瀏覽列表。
可作為瀏覽客戶端操作,從同一子網中從作為瀏覽器的計算機上請求瀏覽列表。
如此配置不能成為瀏覽器。
在某些條件下,如果擔任指定瀏覽器職能的計算機失效或關閉,瀏覽器(或潛在瀏覽器)可能改作其他職能。這通常通過稱作「瀏覽器選舉」的過程來執行。在windows作業系統的早期版本中瀏覽服務可理解為三個關鍵過程:
(1). 瀏覽資訊的收集
當子網上的主瀏覽器收到主機宣告後,將傳送計算機的名稱合併到當前的瀏覽列表中。如果名稱已經存在,則重新整理列表。如果名稱不存在,則新增到列表。
(2). 瀏覽資訊的分發
瀏覽列表由子網主瀏覽器分發給備份瀏覽器。主瀏覽器必須周期性地向本地子網廣播包含配置的域或工作組名稱的宣告訊息。該訊息確認主瀏覽器在網路上的存在。如果主瀏覽器在一段時間不能宣告自己,則將發生瀏覽器選舉。一旦主瀏覽器存在或(因失敗事件而)被替換,其他備份瀏覽器周期性地與其聯絡以獲得其所維護子網瀏覽列表的更新副本。
(3). 向來自客戶的瀏覽請求提供服務
對於接下來的瀏覽列表請求,客戶端繼續使用在啟動時主瀏覽器提供的備份瀏覽器列表並不再廣播。該過程的成功首先取決於客戶端從主瀏覽器收到響應,其次是解析從列表中選擇的備份瀏覽器名稱的能力。
二、瀏覽器選舉
在nt域環境下或工作組環境下,瀏覽服務維護著乙個瀏覽列表,它包含所有可使用的域、工作組和計算機名等,是共享資源的目錄。當我們使用「網路上的芳鄰」時,就在使用這個瀏覽服務。這些系統的瀏覽服務系統同樣包含了主瀏覽器、備份瀏覽器和瀏覽器客戶等角色。
作為主瀏覽器的計算機起到了維護瀏覽列表的作用並且周期性地把拷貝傳送到作為備份瀏覽器的計算機上。當瀏覽器客戶需要知道網上有哪些可利用的資源時,向作為備份瀏覽器的計算機發出api呼叫以得到當前的列表。 主域控制器(pdc)有主瀏覽器的優先權,這樣它就承擔了維護它所在的這個工作組的瀏覽列表的工作。但是它也有關機或重啟的時候,這時便產生了主瀏覽器的選舉過程。也就是說,選舉發生在當乙個計算機不能定位主瀏覽器時,或具備更優先條件的計算機上線時,或nt主域控制器啟動時。按照各自的選舉條件,當作為主瀏覽器的計算機推舉出來後,網路瀏覽才能正常。選舉過程可以簡化為如下幾步:
(1). 選舉是通過發廣播來實現的,如果哪個計算機的選舉條件比它收到的報文要好,則它將廣播自己的選舉條件
, 收到別人的選舉條件後每個計算機根據自己在域中的角色延遲不等的時間後再做反應,這樣能減少選舉條件較差的計算機傳送選舉報文。
(2). 當乙個計算機選舉成為主瀏覽器並且它的瀏覽列表是空時,它將廣播乙個請求通知的報文,強迫所有的計算機必須在30秒內給予答覆,這個30秒的時間是為了防止伺服器過載或報文丟失。
( 3) .
除了承擔主瀏覽器和備份瀏覽器任務的計算機外,其他
計算 機將向主瀏覽器周期性地發布通知,告知自己是可利用的資源。這個時間開始是1分鐘、2分鐘、4分鐘、8分鐘,以後就是每12分鐘一次了。
(4). 如果某個計算機關機了,主瀏覽器連續3個週期也就是36分鐘沒有收到它的訊息,將認定它不可用,並從瀏覽列表中刪掉它。但是它還留在備份瀏覽器的計算機裡,備份瀏覽器每隔15分鐘呼叫主瀏覽器一次以獲得更新的網路資源列表,也就是說不可用的資源最多要等到36+15=51分鐘後才會從網上徹底消失。這就是為什麼有的計算機改了名,但舊名字依舊留在網上一段時間的原因。
在乙個工作組裡有乙個主瀏覽器,那麼在多個工作組、多個域甚至多個子網裡中又將如何呢?這就需要乙個域主瀏覽器,每個工作組或域的主瀏覽器要周期性地向這個域主瀏覽器傳送自已所管轄的列表,這個週期開始是1分鐘,5次後是15分鐘。如果3個週期內沒有收到這個報文,域主瀏覽器也將它從自己的列表中去除。也就是說,當乙個工作組失效後,它還將在主列表中保留45分鐘。域主瀏覽器預設為主域控制器,windows xp professional版本的計算機不能擔此重任。當收到瀏覽列表後,計算機必須能解析裡面的netbios名,這就要求網路的wins服務或dns服務必須正常,瀏覽才能正常,因為瀏覽的選舉過程是通過udp廣播實現的。
作為網路管理員,當網路上的芳鄰出現問題時,要一步步分析,看是暫時的還是選舉過程出了問題。目前沒有辦法證明瀏覽列表是否完整,但有辦法發現某可用資源是否在列表裡,甚至可以強迫開始一次選舉。一般是沿著通訊鏈的路徑從第乙個應該具有該資源的主瀏覽器查起,看它是否收到某計算機的通知報文。瀏覽服務使用的是cifs/e(common internet file system)協議組裡的計算機瀏覽協議,在windows 2000的計算機環境裡使用活動目錄來代替它,但為了向下相容,windows 2000也支援這個瀏覽服務。
為了便於說清楚整個瀏覽服務的工作原理,現舉例如下。如
圖 1顯示了稱作
mis的示例域的三個過程的示例。 圖 1
在本例中,
mis域有三個主瀏覽器計算機(
pdc-mis
、 a-mb1
和 c-mb1
),分別位於子網
a 、b 和
c 上。另外,
pdc-mis
具有特殊重要性,除了作為子網
b 的主瀏覽器外還承擔域的域主瀏覽器。
作為各個子網上的主瀏覽器,這三颱計算機執行下列任務以在所有三個子網建立並管理
mis域瀏覽列表的更新和分發:
·處理來自各自本地子網伺服器的廣播瀏覽宣告。
·相互複製各自本地子網瀏覽列表。這將最終建立並複製乙個完整的域瀏覽列表,可在三個包含組成域的計算機的子網分配並使用。
·將當前瀏覽列表複製到各自子網的備份瀏覽器以提高可靠性和負載平衡。
未完,待續
玩轉「網路上的芳鄰」之瀏覽服務原理 一
在前兩篇中,我們分別介紹了微軟的 windows 2000 以前版本和以後版本中計算機名稱註冊和解析原理,本篇要介紹的是這些 windows 系統是如何通過以上名稱註冊和解析原理來實現在 網路上的芳鄰 上的瀏覽的。這就是要涉及到 windows 系統中的乙個非常重要的服務 computer brow...
玩轉「網路上的芳鄰」之瀏覽服務原理 一
在前兩篇中,我們分別介紹了微軟的 windows 2000 以前版本和以後版本中計算機名稱註冊和解析原理,本篇要介紹的是這些 windows 系統是如何通過以上名稱註冊和解析原理來實現在 網路上的芳鄰 上的瀏覽的。這就是要涉及到 windows 系統中的乙個非常重要的服務 computer brow...
玩轉「網路上的芳鄰」之瀏覽服務原理 二
接上篇 三 瀏覽器服務的配置 上面介紹了微軟的瀏覽器服務基礎知識及工作原理,下面介紹微軟的主要 windows 系統中是如何來配置瀏覽器服務的。首先在windows 95 98 系統中,計算機瀏覽器 computer browser service 是隨系統一起啟動而啟動的,在這些系統中沒有直接提供...