Posted on 2007-10-06 11:42
semovy 閱讀(317)
評(píng)論(0) 編輯 收藏 所屬分類:
其它
Netbois(網(wǎng)絡(luò)基本輸入/輸出系統(tǒng))最初由IBM,Sytek作為API開(kāi)發(fā),使用戶軟件能使用局域
網(wǎng)的資源。自從誕生,Netbois成為許多其他網(wǎng)絡(luò)應(yīng)用程序的基礎(chǔ)。嚴(yán)格意義上,Netbios是
接入網(wǎng)絡(luò)服務(wù)的接口標(biāo)準(zhǔn)。
Netbios原來(lái)是作為THE網(wǎng)絡(luò)控制器為IBM局域網(wǎng)設(shè)計(jì)的,是通過(guò)特定硬件用來(lái)和網(wǎng)絡(luò)操作系統(tǒng)
連接的軟件層。Netbios經(jīng)擴(kuò)展,允許程序使用Netbios接口來(lái)操作IBM令牌環(huán)結(jié)構(gòu)。Netbios
已被公認(rèn)為工業(yè)標(biāo)準(zhǔn),通常參照Netbios-compatible LANs.
它提供給網(wǎng)絡(luò)程序一套方法,相互通訊及傳輸數(shù)據(jù)。基本上,Netbios允許程序和網(wǎng)絡(luò)會(huì)話。
它的目的是把程序和任何類型的硬件屬性分開(kāi)。它也使軟件開(kāi)發(fā)員
可以免除以下負(fù)擔(dān):開(kāi)發(fā)網(wǎng)絡(luò)錯(cuò)誤修復(fù),低層信息尋址和路由。使用Netbios接口,可以為軟
件開(kāi)發(fā)員做許多工作。
Netbios使程序和局域網(wǎng)操作能力之間的接口標(biāo)準(zhǔn)化。有它們,可以將程序細(xì)化到為osi模型
的哪一層所寫,使程序能移植到其他網(wǎng)絡(luò)上。在Netbios局域網(wǎng)環(huán)境下,計(jì)算機(jī)通過(guò)名字被系
統(tǒng)知道。網(wǎng)絡(luò)中每臺(tái)計(jì)算機(jī)都有通過(guò)不同方法編的永久性名稱。這些名稱將在下面做進(jìn)一步
討論。
通過(guò)使用Netbios的數(shù)據(jù)報(bào)或廣播方式,在Netbios局域網(wǎng)上的pc機(jī)建立會(huì)話彼此聯(lián)絡(luò)。會(huì)話
允許更多的信息被傳送,探測(cè)錯(cuò)誤,和糾正。通信是在一對(duì)一的基礎(chǔ)上的。數(shù)據(jù)報(bào)或廣播方式
允許一臺(tái)計(jì)算機(jī)和多臺(tái)其他的計(jì)算機(jī)同時(shí)通信,但信息大小受限。使用數(shù)據(jù)報(bào)或廣播方式?jīng)]有
探測(cè)錯(cuò)誤和糾正。然而,數(shù)據(jù)報(bào)通信可以不必建立一個(gè)會(huì)話。
在這種環(huán)境下所有的通信以一種稱為“網(wǎng)絡(luò)控制塊“的格式提交給NetBIOS。內(nèi)存中這些塊的
分配依賴于用戶程序。這些“網(wǎng)絡(luò)控制塊“分配到域中,分別為輸入/輸出保留。
在當(dāng)今的環(huán)境中,NetBIOS是使用很普遍的協(xié)議。以太網(wǎng),令牌環(huán),IBM PC網(wǎng)都支持NetBIOS。
在它原始版本中,它僅作為程序和網(wǎng)絡(luò)適配器的接口。從那以后,傳輸類功能加入NetBIOS,
使它功能日益增多。
在NetBIOS里,面向連接(tcp)和無(wú)連接(udp)通信均支持。它支持廣播和復(fù)播,支持三個(gè)分開(kāi)
的服務(wù):命名,會(huì)話,數(shù)據(jù)報(bào)。
[1.0.2] NetBIOS 名稱
NetBIOS名稱用來(lái)在網(wǎng)絡(luò)上鑒別資源。程序用這些名稱開(kāi)始和結(jié)束會(huì)話。你能用多個(gè)程序配置
一臺(tái)單獨(dú)的機(jī)器,每個(gè)程序都有獨(dú)特的NetBIOS名稱。每臺(tái)支持應(yīng)用的pc機(jī)也有用戶定義或通
過(guò)內(nèi)部方法獲得的NetBIOS站名。
NetBIOS能包含至多16個(gè)阿爾法數(shù)字字母。在整個(gè)資源路由網(wǎng)絡(luò)里,字母的組合必須獨(dú)特。在
一臺(tái)使用NetBIOS的pc機(jī)在網(wǎng)絡(luò)上能完全工作起來(lái)之前,pc必須先登記NetBIOS名稱。
當(dāng)客戶端活躍時(shí),客戶端廣播它的名稱。當(dāng)它成功廣播自己,并沒(méi)有其他人和它重名,客戶端
就登記成功。登記過(guò)程如下:
1.在登陸上,客戶端在所有地方廣播它自己和它的NetBIOS信息6到10次,確保其他網(wǎng)絡(luò)成員收
到信息。
2.如果有客戶端A已用此名,客戶端A發(fā)布它自己的廣播,包括它正在使用的名字。請(qǐng)求登陸的
客戶端停止所有登記的企圖。
3.如無(wú)其他客戶端反對(duì)登記,請(qǐng)求登陸的客戶端完成登記過(guò)程。
在NetBIOS環(huán)境中有兩類名稱:獨(dú)特的和集合的。獨(dú)特的名稱必須在網(wǎng)絡(luò)中獨(dú)特。集合的名稱不
必在網(wǎng)絡(luò)中獨(dú)特,所有同名過(guò)程屬于同一集合。每個(gè)NetBIOS節(jié)點(diǎn)包含一張?jiān)摴?jié)點(diǎn)當(dāng)前使用名稱
的表。
NetBIOS命名允許16個(gè)字母用在NetBIOS名稱中。而微軟只允許15個(gè)字母用在NetBIOS名稱中,第
十六個(gè)為NetBIOS后綴。NetBIOS后綴用在Microsoft Networking 軟件中,區(qū)別安裝的功能,
登記的設(shè)備和服務(wù)。
[注意:smb 和nbt(在tcp/ip上的NetBIOS)緊密的工作在一起,且都使用137,138,139端口。
137端口是NetBIOS名稱UDP,138端口是NetBIOS數(shù)據(jù)報(bào)UDP,139端口是NetBIOS會(huì)話tcp,進(jìn)一
步的NetBIOS信息,看rhino9網(wǎng)站上所列文章]
以下是Microsoft WindowsNT目前使用的NetBIOS后綴表。后綴是16進(jìn)制。
名稱 數(shù)字 類型 用途
=========================================================================
=
00 U Workstation Service
01 U Messenger Service
<\\_MSBROWSE_> 01 G Master Browser
03 U Messenger Service
06 U RAS Server Service
1F U NetDDE Service
20 U File Server Service
21 U RAS Client Service
22 U Exchange Interchange
23 U Exchange Store
24 U Exchange Directory
30 U Modem Sharing Server Service
31 U Modem Sharing Client Service
43 U SMS Client Remote Control
44 U SMS Admin Remote Control Tool
45 U SMS Client Remote Chat
46 U SMS Client Remote Transfer
4C U DEC Pathworks TCPIP Service
52 U DEC Pathworks TCPIP Service
87 U Exchange MTA
6A U Exchange IMC
BE U Network Monitor Agent
BF U Network Monitor Apps
03 U Messenger Service
00 G Domain Name
1B U Domain Master Browser
1C G Domain Controllers
1D U Master Browser
1E G Browser Service Elections
1C G Internet Information Server
00 U Internet Information Server
[2B] U Lotus Notes Server
IRISMULTICAST [2F] G Lotus Notes
IRISNAMESERVER [33] G Lotus Notes
Forte_$ND800ZA [20] U DCA Irmalan Gateway Service
獨(dú)特的(u):該名僅有一個(gè)IP地址分給它。在網(wǎng)絡(luò)設(shè)備中,一個(gè)名稱的多次出現(xiàn)看來(lái)會(huì)被登記,
但后綴是唯一的,使整個(gè)名稱唯一。
集合的(g):普通集合,一個(gè)名稱可有多個(gè)IP地址。
多址的(M):名稱是唯一的,但由于在同一計(jì)算機(jī)上有多個(gè)網(wǎng)絡(luò)接口,這種配置應(yīng)該被允許登記。
地址的最大數(shù)目是25。
Internet集合(I):這是組名的特殊配置,用在操作WINDOSNT的域名。
域名(D):在NT4.0中新引進(jìn)的。
為了快速瀏覽一臺(tái)服務(wù)器上登記的NETBIOS名稱和服務(wù),用以下命令:
nbstat -a [ipaddress]
nbstat -a [host]
[1.0.3] NetBIOS 會(huì)話
NetBIOS 會(huì)話服務(wù)提供給用戶程序一種面向連接,可靠的,完全雙重的信息服務(wù)。NetBIOS要求一
個(gè)是客戶端程序,一個(gè)是服務(wù)器端程序。NetBIOS會(huì)話的建立需要雙方預(yù)定的合作。一個(gè)程序必須
先發(fā)出listen命令,其他程序才可以發(fā)出call命令。listen命令參考在它的NetBIOS名稱表中的名
稱(或windows服務(wù)器中的),也參考用于作為會(huì)話另一端的遠(yuǎn)端程序的名稱。如果聆聽(tīng)者不在聆
聽(tīng),call命令將不會(huì)成功。如果call成功,各程序?qū)⒔拥綍?huì)話id,以作為會(huì)話建立的確認(rèn)。
send和receive命令操作傳輸數(shù)據(jù)。在會(huì)話最后,各程序?qū)?zhí)行掛起命令。沒(méi)有為會(huì)話服務(wù)的實(shí)際流
控制,因?yàn)榧俣ň钟蚓W(wǎng)足夠快,能夠傳輸需要的數(shù)據(jù)。
[1.0.4] NetBIOS 數(shù)據(jù)報(bào)
數(shù)據(jù)報(bào)可以發(fā)送到特定的地點(diǎn),或組中所有成員,或廣播到整個(gè)局域網(wǎng)。與其它數(shù)據(jù)服務(wù)相比,NetBIOS
數(shù)據(jù)報(bào)是無(wú)連接,非可靠的。Send_Datagram 命令需要調(diào)用者設(shè)定目的名。如果目的名是組名,組中每
個(gè)成員都收到數(shù)據(jù)。Receive_Datagram 命令的調(diào)用者必須確定它接收數(shù)據(jù)的本地名。除了實(shí)際數(shù)據(jù)外,
Receive_Datagram也返回發(fā)送者的名稱。如果NetBIOS收到數(shù)據(jù),但卻沒(méi)有Receive_Datagram 命令在
等待,數(shù)據(jù)將被丟棄。
Send_Broadcast_Datagram 命令發(fā)送信息給本地網(wǎng)上每個(gè)NetBIOS系統(tǒng)。當(dāng)NetBIOS節(jié)點(diǎn)收到廣播數(shù)據(jù),
發(fā)布Receive_Broadcast_Datagram 命令的每個(gè)進(jìn)程都收到數(shù)據(jù)。如果當(dāng)廣播數(shù)據(jù)被收到時(shí),沒(méi)有這些
命令在運(yùn)行,數(shù)據(jù)將被丟棄。
NetBIOS使應(yīng)用程序能和另一個(gè)設(shè)備建立會(huì)話,使網(wǎng)絡(luò)轉(zhuǎn)發(fā)器和處理協(xié)議處理收到、發(fā)送到另一臺(tái)機(jī)器的
請(qǐng)求。NetBIOS實(shí)際上不操作數(shù)據(jù)。NetBIOS定義規(guī)定了用來(lái)到達(dá)這些服務(wù)的協(xié)議的網(wǎng)絡(luò)接口,而非協(xié)議
本身。歷史上,NetBIOS曾與叫做NetBEUI的協(xié)議(網(wǎng)絡(luò)擴(kuò)展用戶接口)捆綁。接口和協(xié)議的結(jié)合有時(shí)引
起混淆,但它們是不同的。
網(wǎng)絡(luò)協(xié)議為定位、連接到網(wǎng)絡(luò)上特定的服務(wù)提供至少一種方法。這通常由將節(jié)點(diǎn)和服務(wù)名轉(zhuǎn)化為網(wǎng)絡(luò)地址
(名稱解析)完成。在連接用TCP/IP建立前,NetBIOS服務(wù)名必須解析成IP地址。大多數(shù)NetBIOS的TCP/IP
實(shí)現(xiàn),用廣播或LMHOSTS文件完成名稱地址的解析。在Microsoft環(huán)境中,你最可能使用叫做WINS的NetBIOS
名稱服務(wù)器。
[1.0.5] NetBEUI 解釋
NetBEUI是網(wǎng)絡(luò)操作系統(tǒng)使用的NetBIOS協(xié)議的加強(qiáng)版本。它規(guī)范了在NetBIOS 中未標(biāo)準(zhǔn)化的傳輸幀,還加
了額外的功能。傳輸層驅(qū)動(dòng)器經(jīng)常被Microsofts LAN Manager(微軟局域網(wǎng)操作器)使用。NetBEUI執(zhí)行
OSI LLC2 協(xié)議。NetBEUI是原始的PC網(wǎng)絡(luò)協(xié)議和IBM為L(zhǎng)anManger(局域網(wǎng)操作器)服務(wù)器設(shè)計(jì)的接口。本協(xié)
議稍后被微軟采用作為它們的網(wǎng)絡(luò)產(chǎn)品的標(biāo)準(zhǔn)。它規(guī)定了高層軟件通過(guò)NetBIOS幀協(xié)議發(fā)送、接收信息的
方法。本協(xié)議運(yùn)行在標(biāo)準(zhǔn)802.2數(shù)據(jù)鏈協(xié)議層上。
[1.0.6] NetBIOS 范圍
NetBIOS范圍ID為建立在TCP/IP(叫做NBT)模塊上的NetBIOS提供額外的命名服務(wù)。NetBIOS范圍ID的主要
目的是隔離單個(gè)網(wǎng)絡(luò)上的NetBIOS通信和那些有相同NetBIOS范圍ID的節(jié)點(diǎn)。NetBIOS范圍ID是附加在NetBIOS
名稱上的字符串。兩個(gè)主機(jī)上的NetBIOS范圍ID必須匹配,否則兩主機(jī)無(wú)法通信。NetBIOS范圍ID允許
計(jì)算機(jī)使用相同的計(jì)算機(jī)名,不同的范圍ID。范圍ID是NetBIOS名稱的一部分,使名稱唯一。