Posted on 2007-10-06 11:42
semovy 閱讀(317)
評論(0) 編輯 收藏 所屬分類:
其它
Netbois(網絡基本輸入/輸出系統)最初由IBM,Sytek作為API開發,使用戶軟件能使用局域
網的資源。自從誕生,Netbois成為許多其他網絡應用程序的基礎。嚴格意義上,Netbios是
接入網絡服務的接口標準。
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 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
獨特的(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名稱的一部分,使名稱唯一。