posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Netbois(網(wǎng)絡(luò)基本輸入/輸出系統(tǒng))

          Posted on 2007-10-06 11:42 semovy 閱讀(320) 評論(0)  編輯  收藏 所屬分類: 其它
          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)。

          Netbios原來是作為THE網(wǎng)絡(luò)控制器為IBM局域網(wǎng)設(shè)計(jì)的,是通過特定硬件用來和網(wǎng)絡(luò)操作系統(tǒng)

          連接的軟件層。Netbios經(jīng)擴(kuò)展,允許程序使用Netbios接口來操作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ì)話。

          它的目的是把程序和任何類型的硬件屬性分開。它也使軟件開發(fā)員



          可以免除以下負(fù)擔(dān):開發(fā)網(wǎng)絡(luò)錯(cuò)誤修復(fù),低層信息尋址和路由。使用Netbios接口,可以為軟

          件開發(fā)員做許多工作。



          Netbios使程序和局域網(wǎng)操作能力之間的接口標(biāo)準(zhǔn)化。有它們,可以將程序細(xì)化到為osi模型

          的哪一層所寫,使程序能移植到其他網(wǎng)絡(luò)上。在Netbios局域網(wǎng)環(huán)境下,計(jì)算機(jī)通過名字被系

          統(tǒng)知道。網(wǎng)絡(luò)中每臺計(jì)算機(jī)都有通過不同方法編的永久性名稱。這些名稱將在下面做進(jìn)一步

          討論。



          通過使用Netbios的數(shù)據(jù)報(bào)或廣播方式,在Netbios局域網(wǎng)上的pc機(jī)建立會(huì)話彼此聯(lián)絡(luò)。會(huì)話

          允許更多的信息被傳送,探測錯(cuò)誤,和糾正。通信是在一對一的基礎(chǔ)上的。數(shù)據(jù)報(bào)或廣播方式

          允許一臺計(jì)算機(jī)和多臺其他的計(jì)算機(jī)同時(shí)通信,但信息大小受限。使用數(shù)據(jù)報(bào)或廣播方式?jīng)]有

          探測錯(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)和無連接(udp)通信均支持。它支持廣播和復(fù)播,支持三個(gè)分開

          的服務(wù):命名,會(huì)話,數(shù)據(jù)報(bào)。





          [1.0.2] NetBIOS 名稱



          NetBIOS名稱用來在網(wǎng)絡(luò)上鑒別資源。程序用這些名稱開始和結(jié)束會(huì)話。你能用多個(gè)程序配置

          一臺單獨(dú)的機(jī)器,每個(gè)程序都有獨(dú)特的NetBIOS名稱。每臺支持應(yīng)用的pc機(jī)也有用戶定義或通

          過內(nèi)部方法獲得的NetBIOS站名。



          NetBIOS能包含至多16個(gè)阿爾法數(shù)字字母。在整個(gè)資源路由網(wǎng)絡(luò)里,字母的組合必須獨(dú)特。在

          一臺使用NetBIOS的pc機(jī)在網(wǎng)絡(luò)上能完全工作起來之前,pc必須先登記NetBIOS名稱。



          當(dāng)客戶端活躍時(shí),客戶端廣播它的名稱。當(dāng)它成功廣播自己,并沒有其他人和它重名,客戶端

          就登記成功。登記過程如下:



          1.在登陸上,客戶端在所有地方廣播它自己和它的NetBIOS信息6到10次,確保其他網(wǎng)絡(luò)成員收

          到信息。

          2.如果有客戶端A已用此名,客戶端A發(fā)布它自己的廣播,包括它正在使用的名字。請求登陸的

          客戶端停止所有登記的企圖。

          3.如無其他客戶端反對登記,請求登陸的客戶端完成登記過程。



          在NetBIOS環(huán)境中有兩類名稱:獨(dú)特的和集合的。獨(dú)特的名稱必須在網(wǎng)絡(luò)中獨(dú)特。集合的名稱不

          必在網(wǎng)絡(luò)中獨(dú)特,所有同名過程屬于同一集合。每個(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)看來會(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)的。



          為了快速瀏覽一臺服務(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)端程序的名稱。如果聆聽者不在聆

          聽,call命令將不會(huì)成功。如果call成功,各程序?qū)⒔拥綍?huì)話id,以作為會(huì)話建立的確認(rèn)。



          send和receive命令操作傳輸數(shù)據(jù)。在會(huì)話最后,各程序?qū)?zhí)行掛起命令。沒有為會(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)是無連接,非可靠的。Send_Datagram 命令需要調(diào)用者設(shè)定目的名。如果目的名是組名,組中每

          個(gè)成員都收到數(shù)據(jù)。Receive_Datagram 命令的調(diào)用者必須確定它接收數(shù)據(jù)的本地名。除了實(shí)際數(shù)據(jù)外,

          Receive_Datagram也返回發(fā)送者的名稱。如果NetBIOS收到數(shù)據(jù),但卻沒有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í),沒有這些

          命令在運(yùn)行,數(shù)據(jù)將被丟棄。



          NetBIOS使應(yīng)用程序能和另一個(gè)設(shè)備建立會(huì)話,使網(wǎng)絡(luò)轉(zhuǎn)發(fā)器和處理協(xié)議處理收到、發(fā)送到另一臺機(jī)器的

          請求。NetBIOS實(shí)際上不操作數(shù)據(jù)。NetBIOS定義規(guī)定了用來到達(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為LanManger(局域網(wǎng)操作器)服務(wù)器設(shè)計(jì)的接口。本協(xié)

          議稍后被微軟采用作為它們的網(wǎng)絡(luò)產(chǎn)品的標(biāo)準(zhǔn)。它規(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ī)無法通信。NetBIOS范圍ID允許

          計(jì)算機(jī)使用相同的計(jì)算機(jī)名,不同的范圍ID。范圍ID是NetBIOS名稱的一部分,使名稱唯一。
          主站蜘蛛池模板: 堆龙德庆县| 邵阳市| 横山县| 旌德县| 巨鹿县| 将乐县| 广州市| 眉山市| 温泉县| 镇巴县| 绥江县| 武穴市| 鄄城县| 淮安市| 沽源县| 临泽县| 桂阳县| 都安| 安龙县| 开原市| 金塔县| 镇赉县| 许昌县| 根河市| 靖江市| 汝城县| 隆昌县| 黄大仙区| 繁昌县| 武宁县| 鹰潭市| 平果县| 左贡县| 津市市| 茂名市| 濉溪县| 昌图县| 奎屯市| 兰州市| 武汉市| 嵊泗县|