說到“網路上的芳鄰”,相信很多人都很熟悉。但是說起“網路上的芳鄰”的工作機制,可能大家就不太清楚了。
要說“網路上的芳鄰”的工作機制,不妨聯系一下生活中的例子:比如我(A),要拜訪一個遠方的朋友(B),我要去他的家裡,那麼應該怎麼樣做?首先要找到B的家,然後确定B讓不讓我進他的家裡。不要認為這是笑話,“網路上的芳鄰”的工作機制就是這樣的。
“網路上的芳鄰”也是浏覽器?
在一個區域網路中,隻要輕按兩下桌面的“網路上的芳鄰”,就能看到所在網絡中的所有使用者,可你有否想過Windows怎麼知道這些電腦叫什麼名字、在什麼地方?它是如何獲得它們的位置的?
在闡述這個問題之前,先來舉一個例子:新生入學時,所有學生來到教室,坐在自己的位置上,這時每個同學之間互不相識,怎樣才能互相熟悉呢?大家一定會想到自我介紹,沒錯,如果所有人都在座位上,依次自我介紹就可以了。
但如果現在有人缺席,或今後有人轉學,過幾天又有新生入學怎麼辦?是以,需要班長來做一件工作——建立花名冊,登記所有同學的名字,并及時修改,用于其他同學查詢。
這樣還不夠,如果所有人都找班長問問題,班長一定會忙不過來,是以其他班幹部也要影印一份花名冊,分擔班長的工作壓力。
Windows中“網路上的芳鄰”的工作機制和這個例子十分相似,我們一起來看看下面這部大片吧。
【片 名】 “網路上的芳鄰”在行動
【出品公司】 Microsoft
【出品年代】 Windows 95流行時期
【适合觀衆】 電腦愛好者
【導 演】 比爾·蓋茨
【主 演】 主浏覽器——班長
備份浏覽器——班幹部
浏覽清單——花名冊
客戶機——班級成員
從Windows 2000開始,通過“網路上的芳鄰”進行的通路實際上是通過browser service(浏覽服務)來進行的,下面就浏覽服務的幾個關鍵地方向大家講解一下。
1.花名冊——浏覽清單(browser list)
浏覽清單就像是班級的花名冊,是浏覽服務的關鍵部分。通過這個清單,基于Windows的電腦才能發現處于網絡上面的電腦和服務資源,浏覽清單像一個位址簿,它告訴你的電腦在哪裡有資源。你的電腦通過這個清單中的資訊将電腦名稱解析成IP位址,提供給使用者來進行通路。
2.班長與副班長——不同類型的浏覽器
Windows的浏覽服務體系由一個主浏覽器(master browser)、多個備份浏覽器(backup browsers)和浏覽用戶端(browser clients)組成,這有點像上面例子中的班長、副班長和班級成員。主浏覽器負責維護目前網絡中的浏覽清單,并将這個浏覽清單發送到備份浏覽器,而浏覽服務的客戶機通過查詢備份浏覽器來獲得目前環境中的浏覽清單。
3.班級成員——客戶機
使用“網路上的芳鄰”進行浏覽的客戶機,就好像班級的普通成員,他們需要通過班長或是副班長來獲得花名冊,進而得知其他同學的位置和名字。
“民主”的查詢過程
下面我們來描述一下完整的浏覽查詢過程。
1.一個客戶機的查詢過程
當一台電腦需要浏覽網絡時,它需要知道網絡中的資源清單(也就是浏覽清單),那麼它需要發送資料報u到備份浏覽器(Backup Browser)那裡去查詢。這就好像新來的同學不知誰是副班長一樣,首次浏覽網絡的電腦并不知道誰是備份浏覽器。這時,它會執行一個“廣播”操作。
這個操作和真正廣播有點類似,它的作用像是對全班大聲宣布:“誰是班長?我是A,我來了!”這個聲音隻有班長(主浏覽器)會回應。主流浏覽器取得這個通告後,将它放入自己維護的花名冊(浏覽清單)中,用來給其他人查詢。
小提示
為什麼有的電腦在“網路上的芳鄰”中看不到?
大家都知道,要在“網路上的芳鄰”中看到自己和别人,必須在TCP/IP協定上選中“檔案及列印機共享”這個選項。因為如果沒有標明這個選項,該計算機即使連入區域網路,也不會發出通告,“班長”不知道,其他電腦自然也就不會在“網路上的芳鄰”裡看到它了。
客戶機向目前網絡中的主浏覽器(Master Browser)發送一個叫“GetBackupList”的資料報,當主浏覽器收到這個資料報之後,它就會提供目前網絡中的可用備份浏覽器的清單(也就是“副班長”的名單和位置),客戶機從這個清單中選擇三個備份浏覽器的資訊,并緩存起來。從此以後,浏覽服務就從這三個資訊中選擇一個進行查詢工作。
u 資料報
一種獨立的資料實體,它包含從源電腦傳送到目标電腦的完整資訊,而源電腦和目标電腦及傳輸網絡之間先前無需進行資料交換。 簡而言之,資料報是TCP/IP在通過網絡傳送檔案之前,将其預先打包劃分的形式。
小提示
如果一個客戶機三次無法聯絡到主浏覽器(這就是網絡中可能存在的丢包情況),那麼它就會發起一個新的主浏覽器的選舉(關于選舉,将在下文中闡述),并且向調用浏覽服務的應用軟體發一個叫“ERROR_BAD_NETPATH”的通知,“網路上的芳鄰”就會報告“無法找到網絡路徑”之類的錯誤資訊。
執行個體:把我的電腦在“網路上的芳鄰”上隐藏
要完成這個目的,可以通過一個指令來實作:
在“運作”視窗輸入NET CONFIG SERVER /HIDDEN:YES
回車後,别人會發現你從“網路上的芳鄰”中消失了。
注意這個/HIDDEN參數,YES代表隐藏,NO代表不隐藏。
2.主浏覽器要“選舉”産生
主浏覽器是工作組中的一台最為重要的電腦,它負責維護本工作組中的浏覽清單及指定其他工作組的主要伺服器清單,為本工作組的其他計算機和來訪本工作組的計算機提供浏覽服務。
每個工作組都會為每個傳輸協定選擇一個主浏覽器,而我們經常遇到的無法浏覽網絡的錯誤大多是因為所處的工作組沒有主浏覽器造成的。
有時,我們會碰到如圖1所示的情況,點選“啟動”按鈕也無法啟動Computer Browser服務。
主浏覽器是怎麼産生的呢?預設情況下,工作組中的主浏覽器是該工作組中第一台啟用檔案及列印機共享功能的電腦,也允許手工将一台電腦組態為主浏覽器。如果一個工作組中有多台電腦組態了這個選項,或是目前的主浏覽器關閉了系統,又沒有其他電腦啟用主要設定時,就要進行主要浏覽器的選舉。
執行個體1:選舉主浏覽器過程
如果網絡中沒有了主浏覽器,要怎樣選舉呢?首先,由一台電腦發送一個資料報,該資料報包含了來自發送電腦的資訊(作業系統、版本及計算機名等),資料報向網絡中廣播,工作組中的每一台電腦都會用自身資訊與它進行優先級比較,作業系統的版本起主要作用。最後,系統版本最高的電腦成為新的主浏覽器。
系統将按照以下優先級順序從電腦中選擇主浏覽器和備份浏覽器:
Windows Server 2003 > Windows XP > Windows 2000 Advanced Server > Windows 2000 Server > Windows 2000 Professional
同時如果一台電腦的運作時間相對較長,在同等條件下它會赢得選舉。如果所有因素都相同,那麼選舉會采用字元标準(包含數字和符号),比如一台電腦名字為“A”,和名字為“X”的電腦比較,那麼“A”就會赢得選舉。
執行個體2:指定某台電腦為主浏覽器
那麼主浏覽器能否指定呢?可以!在希望成為主浏覽器的機器上打開系統資料庫編輯器,在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters]一項中,将系統資料庫鍵“IsDomainMaster”的值改為“True”即可。這樣,這台電腦就會成為一個主浏覽器。
這台電腦啟動時,如果網絡中已經有了主浏覽器,那麼它就會發起一個新的選舉,預設它赢得選舉。如果其他電腦也配置了這個選項,那麼它們之間的競争就要看選舉規則。
讓某台機器永遠不成為浏覽器
如果希望某台電腦永遠不成為浏覽器,可以在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters]一項中修改“MaintainServerList”的值為“No”就可以了,代表這台電腦将不會成為浏覽提供者,同時Computer Browser服務也将無法啟動,強行啟動就會出現故障。
3.一個客戶機的通知過程
通知,作為維護浏覽清單的主要手段,其種類很多,這裡隻介紹一個客戶機的通知。一個新來的客戶機,要告訴主浏覽器“我來了”,一台新聯入網絡的電腦會發送一個直接的資料報給主浏覽器告知這台計算機的存在,而主浏覽器,會将這個資訊加入Browser List,并每隔一段周期進行驗證。
初次進行時,這個周期是1分鐘、2分鐘、4分鐘和8分鐘,最後到12分鐘,而之後每12分鐘客戶機都會發一個通知,通知主浏覽器“我還在呢”。如果經過三個周期(36分鐘),主浏覽器都沒有聽到“我還在呢”的通知,那麼它就會把這個客戶機的名字從Browser List中删除掉,“網路上的芳鄰”中就再也不會有這個使用者了。
執行個體:解讀“機去樓不空”的常見現象
問題:一台連入網絡的電腦非正常關機,比如當機了斷電了,為什麼在“網路上的芳鄰”中還可以看到它呢?
原因:因為主浏覽器會在三個周期之後才會把它從Browser List中删除(每周期36分鐘),而備份浏覽器從主浏覽器那裡同步資料還要12分鐘,一個客戶機會緩存三個備份浏覽器的資訊,是以這個删除操作在整個網絡中通知到常常要花費72分鐘的時間,也就是說要72分鐘整個網絡中的電腦才會知道某某電腦沒有了。
解決方法1:靜靜地等待一段時間,如果隻是簡單網絡,往往一台電腦既是主浏覽器又是備份浏覽器,是以等待一段時間,最長36分鐘之後,這個問題就會解決。
解決方法2:修改通知周期。如果修改通知周期,那麼這個36分鐘的累計時間就會減少,修改方法:
在系統資料庫中修改[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]項,建立一個“Announce”的鍵值,類型為REG_DWORD,數值預設為720,對應12分鐘。
小提示
修改通知周期,要在所有的聯入網絡的計算機上修改才會有效,增加通知周期會減少網絡中資料報的數量,但是會花費更長的時間來維護浏覽清單;如果減少通知周期,浏覽清單會更快地完成更新,但網絡中的資料報流量會增加。是以,是否修改,要根據自己網絡的實際情況具體決定。
“網路上的芳鄰”強力技巧 + 故障解決
1.強力技巧
(1)讓“網路上的芳鄰”實作多點下載下傳和斷點續傳
很多人喜歡直接通過通路“網路上的芳鄰”來共享檔案,但使用“網路上的芳鄰”則有諸多不便:既不能多點下載下傳,又無法斷點續傳。其實隻要在本地機器架設FTP伺服器,就可以讓“網路上的芳鄰”實作多點下載下傳和斷點續傳。具體做法如下。
在本地電腦上利用SERV-U架設FTP伺服器,然後設定站點和使用者權限,在這裡按照預設選項設定就行了。有關SERV-U架設的基本操作不再贅述。
在SERV-U中添加虛拟目錄。在第一步“Physical path”的地方直接填入共享名,如\\192.168.0.1\xxx之類。後續步驟與添加本地目錄方法相同。
通過Flashget的站點資源探索器進入ftp://192.168.0.1(也就是下載下傳檔案所在計算機的IP位址)。進入相應目錄後,在右邊視窗檔案清單中選擇要下載下傳的檔案或目錄,單擊右鍵,選擇“下載下傳”。
由于利用了Flashget的多點下載下傳屬性,在區域網路條件下可以極大提高速度,網絡狀況良好情況下是原速度的若幹倍,同時可以完美支援斷點續傳。
(2)不将最新打開的共享文檔添加到“網路上的芳鄰”中
Windows會在“網路上的芳鄰”中自動記憶下最近打開過的共享文檔,如果不喜歡這項設定,可以在[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
\Explorer]下建立一個名為“NoRecentDocsNetHood”的DWORD,然後将它指派為1即可。
(3)讓“鄰居”更容易找到自己
一般情況下,一塊網卡隻能配置一個IP位址,但實際上可以為它添加更多IP位址。這樣,你的電腦将會更頻繁地向網絡發送廣播資訊,對于新安裝的作業系統,此方法可以幫助别人盡快找到你。在本地網卡上依次點選“屬性→TCP/IP屬性→進階”,然後按下“添加”按鈕即可輸入新的IP位址和子網路遮罩。
小提示
雖然一塊網卡可以配置多個IP位址,但在網絡鄰居中連接配接的IP位址隻有一個—網卡所配置的第一個IP位址。
(4)删除“網路上的芳鄰”儲存的密碼
通路網路上的芳鄰時提示輸入密碼,我為了友善,點了儲存密碼,但現在不想要這台電腦儲存這個密碼了,該如何清除呢?Windows XP的方法是依次進入“設定→控制台→使用者帳戶”,然後點選你的賬号,再點選左上角的“管理我的網絡密碼”。
如果是Windows 9x使用者,隻要删除該使用者的PWL檔案即可。
(5)加速“網路上的芳鄰”的啟動速度
進入Windows XP的“網路上的芳鄰”後,它會搜尋自己的共享目錄、共享列印機以及和網絡相關的計劃任務,然後才顯示出來,這樣速度會慢很多。這些功能對我們沒多大用的話,可以将其删除。在系統資料庫編輯器中找到[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Explore\RemoteComputer\NameSpace],删除其下的{2227A280-3AEA-1069-A2DE08002B30309D}(列印機)和{D6277990-4C6A-11CF87- 00AA0060F5BF}(計劃任務),重新開機即可。
2.故障解決方案
故障現象1:一個小型網絡,電腦之間實體連接配接沒有任何問題,每台電腦都沒有安裝任何防火牆軟體,但其中一台電腦出現“網路上的芳鄰”沒有任何資訊,輸入“NET VIEW”指令結果是“清單是空的”,但是,網絡中的其他電腦“網路上的芳鄰”中卻有這台電腦的資訊,并能正常通路。
原因:由于“Microsoft 網絡用戶端”協定沒有綁定,或Workstation服務不正常造成的(見圖3)。
解決方法:将“Microsoft網絡用戶端”協定勾選,這一點對于Windows 98系統同樣重要,隻是設定的位置有所差別。
你知道嗎?
細心的讀者可能已經發現了,上面的例子是在沒有防火牆的條件下進行的,為什麼要強調這一點呢?因為Browser服務是通過網絡廣播方式進行,很多防火牆會對廣播的幾個端口進行封堵(因為微軟的NetBIOS協定有漏洞,會随機洩漏記憶體中的資料)。同樣,Windows XP中的ICF(Internet連接配接防火牆)也會有這種作用。
故障現象2:初次通過“網路上的芳鄰”連接配接一台基于Windows XP的電腦時,我們都會遇到這個現象(見圖4)。
這時,不管在對話框中輸入任何密碼,都沒有作用,而此時也不能修改登入使用的賬戶。
原因:預設情況下,處于工作組狀态的Windows XP Professional版本和Windows XP home版本電腦都會使用GUEST賬戶作為網絡通路的預設賬戶。而在預設情況下WindowsXP中的GUEST賬戶為禁用狀态,是以會出現這個現象。
解決方法:啟用GUEST賬戶,然後參照本刊2004年第9期《Windows XP和平共享之終極報告》介紹的方法處理即可。
小提示
Windows XP中有一個很有意思的小“BUG”,就是在“使用者賬戶”中的來賓GUEST賬戶的啟用和停用狀态和實際的情況可能不一緻。
但是,通過本地使用者群組進行設定時,始終和實際情況保持相同狀态。
故障現象3:有些電腦連入網絡後,發現“網路上的芳鄰”無法看到其他使用者,而設定和實體連接配接都沒有異常。
原因:在“我的電腦”上選擇“屬性→計算機名”,檢查“計算機描述”内容,看看是否過長。
解決方法:在“運作”視窗輸入“net config server /srvcomment:"text"”(不包括外側引号),回車後即可把“計算機描述”改為“text”。重新開機電腦,檢查“網路上的芳鄰”是否恢複正常。
故障現象4:“網路上的芳鄰”中“鄰近的計算機”圖示丢失。
原因:誤删除造成。
解決方法:在Windows 2000中,如果不小心删除了“網路上的芳鄰”中的這個圖示,可以通過修改系統資料庫的方法找回來,其實有一個更加簡單的方法:就是在“我的電腦→屬性→網絡辨別→屬性”菜單中,将目前計算機加入另外一個工作組,這樣,“鄰近的計算機”圖示就會重建,再把工作組改回來就可以了。
轉載于:https://www.cnblogs.com/mahocon/p/9299679.html