網路上的芳鄰共享知識
說到“網路上的芳鄰”,相信很多人都很熟悉。作業系統安裝完畢後,桌面上僅有的幾個圖示中就包含了“網路上的芳鄰”。
但是,要說起“網路上的芳鄰”的工作機制,可能大家就不太清楚了。
要說“網路上的芳鄰”的工作機制,需要聯絡一下生活中的例子:比如我,要拜訪一個遠方的朋友——A,我要去他的家裡,那麼應該怎麼樣做?答案是先找到A的家,然後再確定看看A讓不讓我進他的家裡。不要認為這是笑話,“網路上的芳鄰”的工作機制就是這樣的。
在一個區域網中,只要雙擊桌面的“網路上的芳鄰”,就能看到所在網路中的所有使用者,這一切似乎都順理成章。可你有否想過:Windows怎麼知道這些電腦叫什麼名字、在什麼地方?它是如何獲得它們的位置的?
從Windows 2000開始,通過“網路上的芳鄰”進行的訪問實際上是通過browser service瀏覽服務來進行的。
下面是小編整理的一些關於網路上的芳鄰共享的相關資料!
一、瀏覽列表
瀏覽列表是瀏覽服務的關鍵部分。通過這個列表,基於Windows的電腦才能發現處於網路上的電腦和服務資源,瀏覽列表像一個地址簿,它告訴你的電腦在哪裡有資源。你的電腦通過這個列表中的資訊將電腦名稱解析成IP地址,提供給使用者來進行訪問。
那麼,瀏覽列表是從哪裡來的呢?正確答案是――瀏覽列表是通過廣播查詢瀏覽伺服器,由瀏覽伺服器提供的。
很多時候網路中的計算機並不能正確更新瀏覽列表。當一臺計算機正常關機時,它會向網路發出廣播宣告,使瀏覽主控伺服器及時將它從瀏覽列表中刪除;而非正常關機後,瀏覽列表裡仍會把該條目保持很長一段時間,這可能造成我們仍能在網路鄰居里看到它而訪問不了。大家可能會奇怪,我們的網路中哪來的瀏覽伺服器?
二、瀏覽伺服器
瀏覽伺服器是通過選舉選出來的。選舉的主要條件是作業系統,實驗中發現windows 2000 professional 的優先順序是比windows xp高的。當XP先啟動時它自己是瀏覽伺服器,但當2000也啟動時,2000就會發出選舉請求,並最終在選舉中把瀏覽伺服器的身份搶過來。其他的條件我們就不再作探究了,反正結果就是選出主瀏覽伺服器和備份瀏覽伺服器。一個工作組中主瀏覽伺服器只有一個,備份瀏覽伺服器可以有多個,擔任主瀏覽伺服器的計算機可以同時擔任備份瀏覽伺服器。
當一個臺電腦啟動的時候,如果它的列印和檔案共享功能是開啟的,它就會在網路中發出廣播包登記它自己,主瀏覽伺服器收到廣播後會把相關資訊加入瀏覽列表中,並每隔一段週期進行驗證,於是我們就會看到這個新啟動的電腦了。
初次進行時,這個週期是1分鐘、2分鐘、4分鐘和8分鐘,最後到12分鐘,而之後每12分鐘客戶機都會發一個通知,通知主瀏覽伺服器器說“我還在呢”。如果經過三個週期36分鐘,主瀏覽器都沒有聽到“我還在呢”的通知,那麼它就會把這個客戶機的名字從瀏覽列表中刪除掉,“網路上的芳鄰”中就再也不會有這個使用者了。
如果網路較大,所有的事情都讓主瀏覽伺服器幹豈不是會較大影響這臺計算機效能,所以我們查詢的瀏覽列表並不是從主瀏覽伺服器那裡來的,而是從備份伺服器那裡來的。主瀏覽伺服器會把定期把瀏覽列表傳送到備份瀏覽伺服器以讓瀏覽列表得到更新。
總之,網路上的芳鄰訪問方法的過程是:客戶機先廣播UDP查詢備份瀏覽伺服器列表,主瀏覽伺服器告之,要注意告知的只是計算機名。客戶機用廣播UDP查詢對計算機名的IP地址,對同一個計算機名廣播三次然後等待回答,無回答再廣播下一個備份瀏覽伺服器的計算機名如果還有下一個的話。成功獲得IP後,客戶機將建立一條到備份瀏覽伺服器139埠的TCP連線,然後獲得這個工作組中的其他計算機的名字。當你開啟某臺計算機時,客戶機會廣播UDP查詢這臺計算機的IP,如果得不到回答,連線將是錯誤的;如果得到回答,那麼就進入連線的建立階段了。
上面的這些過程使用的是netbios協議。
三、NETBIOS協議
Netbois網路基本輸入/輸出系統最初由IBM,Sytek作為API開發,使使用者軟體能使用區域網的資源。自從誕生,Netbois成為許多其他網路應用程式的基礎。嚴格意義上,Netbios是接入網路服務的介面標準。
NBTnetbios over TCP/IP就是建立在TCP/IP傳送協議之上的NETBIOS介面,我們先將它與Nbf進行一番對比。Nbf指的是NETBIOS幀協議,以NetBEUI為基礎,這可是真正的架構在鏈路層之上的協議,不過也因為它是在LLC邏輯鏈路控制層層上,所以無法路由。只有藉助一些可路由協議如IP或IPX才能實現跨廣播域瀏覽。因為TCP/IP發展最為迅速,最為普及,NBT也才受到大家如此的關注,現在所有的windows系統都使用NBT。NBT提供的服務可以分成三類:名稱服務UDP-137埠、資料報服務UDP-138埠和會話服務TCP-139埠。現在所有的windows系統都是預設支援NBT協議,至於NetBEUI就沒有什麼用了好像XP系統預設已經不安裝了,網路上的芳鄰訪問不了也同它沒有關係,不要再混為一談。NBT才是網路上的芳鄰所用到的協議系統預設。
1、名稱服務UDP-137埠主要用於廣播解決本子網的NETBIOS名和IP地址轉換的關係。因為NBT是建立在TCP/IP之上,而建立TCP/IP通訊是必須知曉雙方IP地址的。但因為使用的是UDP廣播,所以名稱服務無法跨越路由器。
2、資料報服務UDP-138埠提供了無連線UDP和麵向廣播的通訊方式。它主要用於從主瀏覽伺服器那裡廣播查詢到備份瀏覽伺服器列表。因為它使用了UDP廣播,因而在跨越路由器時也會遇到與名稱服務相同的問題。
3、面向連線TCP協議的會話服務TCP-139埠用於向備份瀏覽伺服器查詢得到一個工作組的計算機列表,也可建立98系統下面網路上的芳鄰的資料傳送通道。
說完了原理,下面來說下常見的問題以及解決方法:
Windows網路上的芳鄰互訪的基本條件:
1 雙方計算機開啟,且設定了網路共享資源;
2 雙方的計算機添加了 "Microsoft 網路檔案和列印共享" 服務;
3 雙方都正確設定了網內IP地址,且必須在同一個網段中;
4 雙方的計算機中都關閉了防火牆,或者防火牆策略中沒有阻止網路上的芳鄰訪問的策略。
如果您的網路上的芳鄰有問題,請參看以下步驟:
1、網線。雙機互連不使用HUB或交換機,用交叉線連線兩機;如果使用HUB或者交換機,均用直連線連線至HUB或交換機,保證交換機、網絡卡狀態燈正常。
2、IP協議。WIN98及以後的機器在安裝時會預設安裝TCP/IP協議,WIN95需要另外安裝。在網路上的芳鄰->屬性 WIN9X/Me或者網路上的芳鄰->屬性->本地連線->屬性WIN2K/XP裡可以檢視是否安裝了TCP/IP協議。
3、IP地址。在TCP/IP屬性裡設定IP地址、子網掩碼和閘道器,如果有需要可以設定DNS和WINS伺服器地址。IP地址推薦設定:192.168.X.X,子網掩碼:255.255.255.0。如果你的區域網中有DHCP伺服器,選擇自動獲取地址即可。
驗證方法:在DOS提示符下使用ping x.x.x.x對方IP地址,如返回如下資訊,說明IP設定成功:
Reply from x.x.x.x對方IP地址:bytes=32 time<1ms TTL=128
4、NetBIOS over TCP/IP。網路上的芳鄰的瀏覽和通訊要使用NetBIOS協議,該協議是無法被路由器轉發的,因此WIN2K及以後的作業系統均提供將NetBIOS協議 封裝在TCP/IP中的功能。在Win9X/Me系統中,開啟網路上的芳鄰->屬性可以參看是否安裝了NetBIOS協議,在Win2K/XP中,開啟 TCP/IP屬性->高階->WINS->NetBIOS設定,選擇“啟用TCP/IP上的NetBIOS”。
驗證NetBIOS名稱解析:使用ping XXXX對方機器名,如果返回如1.3中的資訊,說明NetBIOS協議解析正常。
5、HOST檔案。如果在4中無法正確解析機器名,可以修改host檔案,在WINDOWS目錄中搜索HOST關鍵字,找到後,使用記事本開啟host有的系統為host.sam,在末尾加入如下內容:
x.x.x.x對方的IP地址使用Tab鍵跳到下一製表列XXXX對方的機器名存檔退出,注意,如果原檔案帶有.sam副檔名,要去掉副檔名,才能生效。使用與4中同樣的方法驗證。
6、.啟用列印與檔案共享。在網路上的芳鄰和本地連線屬性裡可以看到是否安裝了印表機與檔案共享。
驗證:如果在網路上的芳鄰中看不到自己的機器,說明你沒有安裝印表機與檔案共享。
7、啟用GUEST使用者:WIN2K/XP在工作組模式下要使用Guest使用者來允許網路訪問,因此要啟用Guest使用者。開啟控制 面板->使用者帳戶或者在管理工具->計算機管理->本地使用者和組中開啟Guest帳戶,如果使用域管理模式,可以忽略這一步。
8、啟用計算機瀏覽服務。WIN2K/XP要確保計算機瀏覽服務正常啟動。開啟計算機管理->服務和應用程式->服務,確保“Computer Browser”沒有被停止或禁用。
9、防火牆:確保WIN XP自帶的防火牆沒有開啟,開啟本地連線屬性->高階,關掉Internet連線防火牆。如果使用了第 三方的防火牆產品,參考其使用手冊,確保防火牆沒有禁止以下埠的通訊:UDP-137、UDP-138、TCP-139、TCP-445僅WIN2K 及以後的作業系統。
10、設定共享資料夾和印表機。