淺談netbios及其相關內容

Netbios想必大家都有接觸。對於netbios的理解,我以前有很多困惑,不知道如何掌握這些知識點,這幾天通過了一段時間的實驗和學習,有了一些體會,和大家一起分享。

 
閱讀本文,你可以瞭解到以下內容
 
◆netbios的來龍去脈
◆netbios名和計算機名的關係
◆netbios名的存在依據
◆netbios名和IP地址解析的4種方式
◆如何查看本機netbios緩存
◆netbios和netbeui的關係
 
一、來歷
       用幾句簡單的話來概括netbios的來由,畢竟瞭解一個事物,我們不能擯棄它的歷史,儘管可能很久遠。跳過這步,即使明白了,我想這也是不完整的。
       Netbios,到底是協議還是接口?不同的出處可能因側重點不懂而不盡相同。我們一起來刨根問底,NetBIOS是什麼?是一種協議。什麼協議?是一種在局域網上的協議。誰來用呢?是局域網的一些應用程序(軟件)。這些應用程序需要通過某種手段或者途徑協同合作才能實現或完成某種操作或目的,他們運行的基礎平臺是什麼??  是小型的局域網內的網絡,也就是小型局域網。基礎平臺有了,如何去區分或者標記他們呢? 那就需要給每個應用程序打上標籤,命名,否則就會混亂不堪。
好,重點來了,這個工作誰來完成,netbios應運而生。它就是這樣一種東西。
簡而言之,NetBIOS是一種在局域網上的應用程序可以使用的應用程序編程接口,
       最早由Sytec Inc在1983年爲IBM開發。微軟把netbios作爲一種高級程序接口來標識網絡上的每個資源,它的長度是有限的,僅僅16個字符位。現在的2000/2003系統中依然存在,只是集成到Tcp/IP協議中,稱之爲NetBT。因爲win2000後就不對netbios這個命令接口支持了。可能有朋友要問了,現在的電腦我們一般用計算機名進行標示,那這個和netbios名稱有什麼關係呢?恩,好問題! 之前已經提到過,netbios名的字符長度爲16位,前15位由用戶指定,第16個字符用來標識名稱後綴。其實,前15位和我們現在用的計算機名是一模一樣的,沒有什麼區別,只是計算機名的最大長度是63個字節而已。
 
二、Netbios的存在形式
      前面也說了,在win2000就不再受支持了,但依然存在於windows系統中。我們來找找看。爲了保證最大的系統兼容性(主要是爲了照顧98/NT系統),netbios以兩種形式存在。
1、第一種
我們可以打開網卡的TCP/IP屬性,
點擊右下方的【高級】,如下圖:
下方的紅框內就是netbios的一種體現形式,我們可以手動開啓或關閉。
主要運用於2000、xp 等客戶端系統上,當然2000adv ser、2003 ser也有。
2、第二種
爲了實現netbios名稱解析和提高解析效率,微軟開發了WINS,它是專門來負責netbios名稱解析的一種網絡服務。這也就是netbios的第二種體現方式,我們把netbios的名稱解析服務簡稱爲NBNS,即NetBIOS Name Server。
 
三、Netbios名和IP地址解析的4種查詢方式
      我們再來談一談netbios的解析。解析,我們可以理解是一種對應關係,就是netbios名和計算機ip的對應關係。 有一點要先說明,當我們的網絡上的各類資源通過netbios進行通信時,那我們就說這種通信是基於NetBIOS名的,而不能基於IP地址。netbios既是一種接口,也是一種協議,而TCP/IP是一類協議簇,在此之上通信的基礎就是IP地址。netbios名和ip地址混合存在,必定會涉及到相互解析的問題。
那由誰來完成這項任務呢?通常有幾種不同的查找方式:
1、netbios廣播
在本地網絡上發送廣播信息,查找某個netbios名對應的IP地址。這種方式也可以用來註冊自己的NetBIOS名字,因爲當netbios主機啓動的時候就會向整個網絡通告自己當前的NetBIOS名,如果已經有其他計算機使用了這個名字,這個計算機就會收到錯誤信息。
2、本機緩存
支持NetBIOS的計算機都維護一張NetBIOS名和相應IP地址的列表。當有解析請求時,通過對應自己的緩存表來查找IP地址。
我們還可以通過nbtstat -c 這個命令查詢本機的netbios緩存表。
下面是一個查詢的實例,
3、NetBIOS名字服務器
也就是NBNS,NetBIOS Name Server(s))。在windows中,NBNS的具體體現就是WINS。通過WINS服務來實現netbios到ip地址的解析。
4、lmhosts文件
這個文件位於C:\WINDOWS\system32\drivers\etc下,與hosts文件在同一路徑。windows可以通過查詢lmhos ts來判斷NetBIOS名字和IP的對應關係。
 
四、Netbios和Netbeui協議
 
        什麼是Netbeui呢?即NetBIOS Extend User Interface,由IBM於1985年提出的一種傳輸協議,而NetBIOS僅僅是通過一組命令來讓系統或程序使用網絡而已。所以嚴格意義上將,Netbeui纔算得上是一種真正早期的小型局域網協議。以前的不少程序都需要運行在netbeui的基礎只上,當然自動TCP/IP大規模應用起來以後,這類協議就很少被使用,只是作爲一種補充協議存在,新裝的XP沒有默認被安裝,關於安裝netbeui協議,網上有很多教程可以參考,所以這裏就不作討論了。
         歡迎指正,謝謝大家。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章