在TCP/IP網(wǎng)絡(luò)中,為解決計(jì)算機(jī)名稱于IP地址的對應(yīng)問題,用戶可以利用HOST文件、DNS等方式,但使用這些方法都存在著一個最大的問題,就是網(wǎng)絡(luò)管理員需要以手工方式將計(jì)算機(jī)名稱(NetBIOS名)及其IP地址一一輸入到計(jì)算機(jī)中,一旦某臺計(jì)算機(jī)的名稱或IP地址發(fā)生變化,管理員又需要修改相應(yīng)的設(shè)置。這對于管理員來說是一項(xiàng)繁重的工作。而微軟提供的網(wǎng)際名稱服務(wù)WINS解決了這個問題。利用它可以讓客戶機(jī)在啟動時主動的將它的計(jì)算機(jī)名稱(NetBIOS名)及IP地址注冊到WINS服務(wù)器的數(shù)據(jù)庫中,在WINS客戶機(jī)之間通信的時候它們可以通過WINS服務(wù)器的解析功能獲得對方的IP地址。由于以上工作全部由WINS客戶機(jī)與服務(wù)器自動完成的所以大大降低了管理員的工作負(fù)荷,同時也減少了網(wǎng)絡(luò)中的廣播。在理解及使用WINS之前用戶首先應(yīng)該了解計(jì)算機(jī)名稱(NetBIOS名)的一些知識。
1.1定義計(jì)算機(jī)名(NetBIOS名)
NetBIOS是80年代末為了利用IBMPc構(gòu)建局域網(wǎng)而出現(xiàn)的一種MS-DOS程序的高級語言接口。為了利用網(wǎng)絡(luò)硬件和軟件將這些計(jì)算機(jī)連接在一起組成局域網(wǎng),微軟和其它供應(yīng)商利用NetBIOS接口來設(shè)計(jì)它們的網(wǎng)絡(luò)組件和程序。NetBIOS接口利用最多為16個字符的名稱來標(biāo)識每一個網(wǎng)絡(luò)資源。
在一個網(wǎng)絡(luò)中NetBIOS名是唯一的。在計(jì)算機(jī)啟動、服務(wù)被激活、用戶登錄到網(wǎng)絡(luò)時,NetBIOS名將被動態(tài)的注冊到數(shù)據(jù)庫中。NetBIOS可以以獨(dú)立名稱的形式注冊,也可以以組名稱的形式注冊。以單機(jī)名注冊時要有一個IP地址與其相對應(yīng),如以組名稱注冊時會有多個IP地址與其對應(yīng)。
在Windows2000發(fā)布前的所有基于MS-DOS和Windows的操作系統(tǒng)都需要使用NetBIOS名稱接口以便網(wǎng)絡(luò)可以正常工作。伴隨著Windows2000的發(fā)布,網(wǎng)絡(luò)中的計(jì)算機(jī)不再需要NetBIOS名稱接口的支持。如在Windows2000和一些UNIX版本的網(wǎng)絡(luò)中它們只要求客戶機(jī)支持DNS使用就可以了,不再需要NetBIOS名。但為了與以前版本的網(wǎng)絡(luò)操作系統(tǒng)結(jié)合使用,微軟在Windows2000中仍然支持NetBIOS名,以便與以前版本的操作系統(tǒng)協(xié)同使用,微軟通過兩方面實(shí)現(xiàn)對NetBIOS名的支持:
所有使用Windows2000的客戶機(jī)在默認(rèn)情況下都支持利用客戶端的WINS服務(wù)注冊和解析NetBIOS名。
§Windows2000服務(wù)器繼續(xù)提供一個高效的WINS服務(wù)器,用它來管理網(wǎng)絡(luò)中的NetBIOS名。
定義NetBIOS名稱
NetBIOS名稱包含16字節(jié)。前15個字節(jié)是由用戶指定的,用它來表示:
§網(wǎng)絡(luò)上的單個用戶或計(jì)算機(jī)
§網(wǎng)絡(luò)上的一組用戶或計(jì)算機(jī)
在NetBIOS名中的第16個字符作為名稱的后綴,用于識別名稱及顯示注冊名稱的信息。NetBIOS名可以被設(shè)置為獨(dú)立名稱或組名稱。
在使用獨(dú)立名稱時,是將網(wǎng)絡(luò)信息發(fā)送給一臺計(jì)算機(jī),而使用組名稱是將網(wǎng)絡(luò)信息同時發(fā)送給多臺計(jì)算機(jī)。
在WindowsNT早期版本中,所有的網(wǎng)絡(luò)服務(wù)都是利用NetBIOS名注冊的。而在Windows2000中,登錄網(wǎng)絡(luò)及其它的網(wǎng)絡(luò)服務(wù)都是在DNS中進(jìn)行注冊的。
1.2NetBIOS名的解析
NetBIOS名的解析就是將計(jì)算機(jī)的NetBIOS名成功的與IP地址進(jìn)行映射的過程。從上面用戶已經(jīng)知道NetBIOS名是用來識別網(wǎng)絡(luò)上NetBIOS資源由16個字符組成的地址。讓用戶通過下面這個例子了解NetBIOS名是如何解析的。
一臺Windows2000的計(jì)算機(jī)(CORPSERVER)中運(yùn)行的文件與打印共享服務(wù)的NetBIOS名的解析過程。當(dāng)計(jì)算機(jī)啟動時文件與打印共享服務(wù)利用計(jì)算機(jī)名在網(wǎng)絡(luò)上注冊一個獨(dú)立NetBIOS名。這個NetBIOS名前15位字符是計(jì)算機(jī)名,第16位字符為0x20。如果計(jì)算機(jī)名不夠15個字符,那么利用空格補(bǔ)齊。(即:CORPSERVER[20])。當(dāng)用戶試圖與這臺計(jì)算機(jī)的共享文件夾建立通信時必須指明它的文件與打印共享的NetBIOS名。在建立文件與打印共享連接前,首先要建立TCP連接,為了建立TCP連接首先要將NetBIOS名(即:CORPSERVER[20])解析成IP地址。
WINS客戶機(jī)主要利用廣播、LMHOSTS文件、WINS服務(wù)器三種方式的組合解決NetBIOS名解析的問題,根據(jù)組合方式的不同分成了四種NetBIOSnode模式,見下表:
Node模式
描述
B-node(broadcast)
B-node用戶利用廣播NetBIOS名查詢的方法實(shí)現(xiàn)名稱的注冊和解析;在廣播失敗后,查詢Lmhosts文件,尋找相應(yīng)的地址
P-node(peer-peer)
利用點(diǎn)對點(diǎn)的方式直接向WINS服務(wù)器查詢相應(yīng)NetBIOS名的IP地址。
M-node(mixed)
M-node是把B-node和P-node組合在一起。默認(rèn)情況下使用廣播的方式,如果失敗,再向WINS服務(wù)器進(jìn)行查詢。
H-node(hybrid)
H-node是把B-node和P-node組合在一起。默認(rèn)情況下向WINS服務(wù)器進(jìn)行查詢,如果失敗,再使用廣播的方式。如果兩種方法都失敗,則查詢Lmhosts文件,尋找相應(yīng)的地址。
運(yùn)行Windows2000的計(jì)算機(jī)默認(rèn)使用B-node模式,當(dāng)為它們設(shè)置了WINS服務(wù)器后,改用H-node模式。Windows2000也能使用本地?cái)?shù)據(jù)庫文件Lmhosts解析NetBIOS名。此文件存放在:SystemRootSystem32DriversEtc文件夾中。
用戶一定要為基于活動目錄的Windows2000計(jì)算機(jī)設(shè)置一個WINS服務(wù)器的IP地址,以便它們可以與無法使用活動目錄的WindowsNT、Windows2000,Windows95、Windows98計(jì)算機(jī)進(jìn)行通信。