FreeBSD SMB/CIFS協議(轉)

gugu99發表於2007-08-11
FreeBSD SMB/CIFS協議(轉)[@more@]

  在NetBIOS出現之後,Microsoft就使用NetBIOS實現了一個網路檔案/列印服務系統,這個系統基於NetBIOS設定了一套檔案共享協議,Microsoft稱之為SMB(Server Message Block)協議。這個協議被Microsoft用於它們Lan Manager和Windows NT伺服器系統中,而Windows系統均包括這個協議的客戶軟體,因而這個協議在區域網系統中影響很大。

  隨著Internet的流行,Microsoft希望將這個協議擴充套件到Internet上去,成為Inter net上計算機之間相互共享資料的一種標準。因此它將原有的幾乎沒有多少技術文件的SMB協議進行整理,重新命名為 CIFS(Common Internet File System),並打算將它與NetBIOS相脫離,試圖使它成為Internet上的一個標準協議。

  因此,為了讓Windows和Unix計算機相整合,最好的辦法即是在Unix中安裝支援SMB/CIFS協議的軟體,這樣Windows客戶就不需要更改設定,就能如同使用Windows NT伺服器一樣,使用Unix計算機上的資源了。

  與其他標準的TCP/IP協議不同,SMB協議是一種複雜的協議,因為隨著Windows計算機的開發,越來越多的功能被加入到協議中去了,很難區分哪些概念和功能應該屬於Windows作業系統本身,哪些概念應該屬於SMB 協議。其他網路協議由於是先有協議,實現相關的軟體,因此結構上就清晰簡潔一些,而SMB協議一直是與Microsoft 的作業系統混在一起進行開發的,因此協議中就包含了大量的Windows系統中的概念。

  • 瀏覽

  在SMB協議中,計算機為了訪問網路資源,就需要了解網路上存在的資源列表(例如在Windows下使用網路鄰居檢視可以訪問的計算機),這個機制就被稱為瀏覽(Browsing)。雖然SMB協議中經常使用廣播的方式,但如果每次都使用廣播的方式瞭解當前的網路資源(包括提供服務的計算機和各個計算機上的服務資源),就需要消耗大量的網路資源和浪費較長的查詢時間,因此最好在網路中維護一個網路資源的列表,以方便查詢網路資源。只有必要的時候,才重新查詢資源,例如使用Windows下的查詢計算機功能。

  但沒有必要每個計算機都維護整個資源列表,維護網路中當前資源列表的任務由網路上的幾個特殊計算機完成的,這些計算機被稱為Browser,這些Browser透過記錄廣播資料或查詢名字伺服器來記錄網路上的各種資源。

  Browser並不是事先指定的計算機,而是在普通計算機之間透過自動進行的推舉產生的。不同的計算機可以按照其提供服務的能力,設定在推舉時具備的不同權重。為了保證一個Browser停機時網路瀏覽仍然正常,網路中常常存在多個Browser,一個為主Browser(Master Browser),其他的為備份Browser。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944642/,如需轉載,請註明出處,否則將追究法律責任。

相關文章