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