Netbios詳談
發表于:2007-07-02來源:作者:點擊數:
標簽:
Netbois(網絡基本輸入/輸出系統)最初由IBM,Sytek作為API 開發 ,使用戶軟件能使用局域網的資源。自從誕生,Netbois成為許多其他網絡應用程序的基
Netbois(網絡基本輸入/輸出系統)最初由IBM,Sytek作為API
開發,使用戶軟件能使用局域網的資源。自從誕生,Netbois成為許多其他網絡應用程序的基礎。嚴格意義上,Netb
ios是接入網絡服務的接口標準。
Netbios原來是作為THE網絡控制器為IBM局域網設計的,是通過特定硬件用來和網絡操作系統連接的軟件層。Netbios經擴展,允許程序使用Netbios接口來操作IBM令牌環結構。Netbios已被公認為工業標準,通常參照Netbios-compatible
LANs.
它提供給網絡程序一套方法,相互通訊及傳輸數據?;旧?,Netbios允許程序和網絡會話。
它的目的是把程序和任何類型的硬件屬性分開。它也使軟件開發員
可以免除以下負擔:開發網絡錯誤修復,低層信息尋址和路由。使用Netbios接口,可以為軟件開發員做許多工作。
Netbios使程序和局域網操作能力之間的接口標準化。有它們,可以將程序細化到為osi模型的哪一層所寫,使程序能移植到其他網絡上。在Netbios局域網環境下,計算機通過名字被系統知道。網絡中每臺計算機都有通過不同方法編的永久性名稱。這些名稱將在下面做進一步討論。
通過使用Netbios的數據報或廣播方式,在Netbios局域網上的pc機建立會話彼此聯絡。會話允許更多的信息被傳送,探測錯誤,和糾正。通信是在一對一的基礎上的。數據報或廣播方式
允許一臺計算機和多臺其他的計算機同時通信,但信息大小受限。使用數據報或廣播方式沒有探測錯誤和糾正。然而,數據報通信可以不必建立一個會話。
在這種環境下所有的通信以一種稱為“網絡控制塊“的格式提交給NetBIOS。內存中這些塊的分配依賴于用戶程序。這些“網絡控制塊“分配到域中,分別為輸入/輸出保留。
在當今的環境中,NetBIOS是使用很普遍的協議。以太網,令牌環,IBM
PC網都支持NetBIOS。
在它原始版本中,它僅作為程序和網絡適配器的接口。從那以后,傳輸類功能加入NetBIOS,使它功能日益增多。
在NetBIOS里,面向連接(tcp)和無連接(udp)通信均支持。它支持廣播和復播,支持三個分開的服務:命名,會話,數據報。
[1.0.2]
NetBIOS
名稱
NetBIOS名稱用來在網絡上鑒別資源。程序用這些名稱開始和結束會話。你能用多個程序配置一臺單獨的機器,每個程序都有獨特的NetBIOS名稱。每臺支持應用的pc機也有用戶定義或通過內部方法獲得的NetBIOS站名。
NetBIOS能包含至多16個阿爾法數字字母。在整個資源路由網絡里,字母的組合必須獨特。在一臺使用NetBIOS的pc機在網絡上能完全工作起來之前,pc必須先登記NetBIOS名稱。
當客戶端活躍時,客戶端廣播它的名稱。當它成功廣播自己,并沒有其他人和它重名,客戶端就登記成功。登記過程如下:
1.在登陸上,客戶端在所有地方廣播它自己和它的NetBIOS信息6到10次,確保其他網絡成員收到信息。
2.如果有客戶端A已用此名,客戶端A發布它自己的廣播,包括它正在使用的名字。請求登陸的客戶端停止所有登記的企圖。
3.如無其他客戶端反對登記,請求登陸的客戶端完成登記過程。
在NetBIOS環境中有兩類名稱:獨特的和集合的。獨特的名稱必須在網絡中獨特。集合的名稱不必在網絡中獨特,所有同名過程屬于同一集合。每個NetBIOS節點包含一張該節點當前使用名稱的表。
NetBIOS命名允許16個字母用在NetBIOS名稱中。而微軟只允許15個字母用在NetBIOS名稱中,第十六個為NetBIOS后綴。NetBIOS后綴用在Microsoft
Networking
軟件中,區別安裝的功能,登記的設備和服務。
[注意:smb
和nbt(在tcp/ip上的NetBIOS)緊密的工作在一起,且都使用137,138,139端口。
137端口是NetBIOS名稱UDP,138端口是NetBIOS數據報UDP,139端口是NetBIOS會話tcp,進一步的NetBIOS信息,看rhino9網站上所列文章]
以下是Microsoft
WindowsNT目前使用的NetBIOS后綴表。后綴是16進制。
名稱
數字
類型
用途
=========================================================================
=
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
Inte
.net 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
獨特的(u):該名僅有一個IP地址分給它。在網絡設備中,一個名稱的多次出現看來會被登記,但后綴是唯一的,使整個名稱唯一。
集合的(g):普通集合,一個名稱可有多個IP地址。
多址的(M):名稱是唯一的,但由于在同一計算機上有多個網絡接口,這種配置應該被允許登記。
地址的最大數目是25。
Internet集合(I):這是組名的特殊配置,用在操作WINDOSNT的域名。
域名(D):在NT4.0中新引進的。
為了快速瀏覽一臺
服務器上登記的NETBIOS名稱和服務,用以下命令:
nbstat
-a
[ipaddress]
nbstat
-a
[host]
[1.0.3]
NetBIOS
會話
NetBIOS
會話服務提供給用戶程序一種面向連接,可靠的,完全雙重的信息服務。NetBIOS要求一個是客戶端程序,一個是服務器端程序。NetBIOS會話的建立需要雙方預定的合作。一個程序必須先發出listen命令,其他程序才可以發出call命令。listen命令參考在它的NetBIOS名稱表中的名稱(或
windows服務器中的),也參考用于作為會話另一端的遠端程序的名稱。如果聆聽者不在聆聽,call命令將不會成功。如果call成功,各程序將接到會話id,以作為會話建立的確認。
send和receive命令操作傳輸數據。在會話最后,各程序將執行掛起命令。沒有為會話服務的實際流控制,因為假定局域網足夠快,能夠傳輸需要的數據。
[1.0.4]
NetBIOS
數據報
數據報可以發送到特定的地點,或組中所有成員,或廣播到整個局域網。與其它數據服務相比,NetBIOS
數據報是無連接,非可靠的。Send_Datagram
命令需要調用者設定目的名。如果目的名是組名,組中每個成員都收到數據。Receive_Datagram
命令的調用者必須確定它接收數據的本地名。除了實際數據外,Receive_Datagram也返回發送者的名稱。如果NetBIOS收到數據,但卻沒有Receive_Datagram
命令在等待,數據將被丟棄。
Send_Broadcast_Datagram
命令發送信息給本地網上每個NetBIOS系統。當NetBIOS節點收到廣播數據,
發Receive_Broadcast_Datagram
命令的每個進程都收到數據。如果當廣播數據被收到時,沒有這些命令在運行,數據將被丟棄。
NetBIOS使應用程序能和另一個設備建立會話,使網絡轉發器和處理協議處理收到、發送到另一臺機器的
請求。NetBIOS實際上不操作數據。NetBIOS定義規定了用來到達這些服務的協議的網絡接口,而非協議
本身。歷史上,NetBIOS曾與叫做NetBEUI的協議(網絡擴展用戶接口)捆綁。接口和協議的結合有時引
起混淆,但它們是不同的。
網絡協議為定位、連接到網絡上特定的服務提供至少一種方法。這通常由將節點和服務名轉化為網絡地址
(名稱解析)完成。在連接用TCP/IP建立前,NetBIOS服務名必須解析成IP地址。大多數NetBIOS的TCP/IP實現,用廣播或LMHOSTS文件完成名稱地址的解析。在Microsoft環境中,你最可能使用叫做WINS的NetBIOS名稱服務器。
[1.0.5]
NetBEUI
解釋
NetBEUI是網絡操作系統使用的NetBIOS協議的加強版本。它規范了在NetBIOS
中未標準化的傳輸幀,還加了額外的功能。傳輸層驅動器經常被Microsofts
LAN
Manager(微軟局域網操作器)使用。NetBEUI執行OSI
LLC2
協議。NetBEUI是原始的PC網絡協議和IBM為LanManger(局域網操作器)服務器設計的接口。本協議稍后被微軟采用作為它們的網絡產品的標準。它規定了高層軟件通過NetBIOS幀協議發送、接收信息的方法。本協議運行在標準802.2數據鏈協議層上。
[1.0.6]
NetBIOS
范圍
NetBIOS范圍ID為建立在TCP/IP(叫做NBT)模塊上的NetBIOS提供額外的命名服務。NetBIOS范圍ID的主要
目的是隔離單個網絡上的NetBIOS通信和那些有相同NetBIOS范圍ID的節點。NetBIOS范圍ID是附加在NetBIOS名稱上的字符串。兩個主機上的NetBIOS范圍ID必須匹配,否則兩主機無法通信。NetBIOS范圍ID允許計算機使用相同的計算機名,不同的范圍ID。范圍ID是NetBIOS名稱的一部分,使名稱唯一。
原文轉自:http://www.kjueaiud.com