1. 程式人生 > >NFS CIFS SAMBA 的聯系和區別

NFS CIFS SAMBA 的聯系和區別

更改 width 申請 下載 找到 能夠 network 忘記 nfs 服務

Common Internet File System, CIFS

Server Message Block, SMB

Network File System, NFS

在早期網絡世界當中,檔案數據在不同主機之間的傳輸大多是使用 FTP 這個好用的服務器軟件來進行傳送。不過,使用FTP 傳輸檔案卻有個小小的問題,那就您無法直接修改主機上面的檔案數據!也就是說您想要更改Linux 主機上的某個檔案時,必需要由 Server 端將該檔案下載到 Client端後才能修改,也因此該檔案在 Server 與 Client 端都會存在。這個時候,萬一如果有一天您修改了某個檔案,卻忘記將數據上傳回主機,那麽等過了一陣子之後,如何知道那個檔案才是最新的?!

既然有這樣的問題,可不可以在 Client 端的機器上面直接取用Server 上面的檔案,如果可以在 Client 端直接進行 Server 端檔案的存取,那麽在Client 端就不需要存在該檔案數據,也就是說,只要有 Server 上面的檔案資料存在就可以!有沒有這樣的檔案系統( File System )?很高興的是, NetworkFile System, NFS 就是這樣的檔案系統之一!我只要在 Client 端將 Server所提供分享的目錄掛載進來,那麽在 Client 的機器上面就可以直接取用 Server上的檔案數據,而且,該數據就像 Client 端上面的partition 一般!而除了可以讓 Unix Like 的機器互相分享檔案的NFS 服務器之外,在微軟 ( Microsoft ) 上面也有類似的檔案系統,那就是 CommonInternet File System, CIFS 這個咚咚啦!CIFS 最簡單的想法就是目前常見的『網上鄰居』。Windows 系統的計算機可以透過桌面上『網上鄰居』來分享別人所提供的檔案數據。不過,NFS僅能讓 Unix 機器溝通, CIFS 只能讓 Windows 機器溝通。傷腦筋,那麽有沒有讓Windows 與 Unix-Like 這兩個不同的平臺相互分享檔案數據的檔案系統?

1991 年一個名叫Andrew Tridgwell 的大學生就有這樣的困擾,他手上有三部機器,分別是跑DOS 的個人計算機、DEC公司的 Digital Unix 系統以及 Sun 的 Unix 系統。在當時,DEC 公司有發展出一套稱為 PATHWORKS 的軟件,這套軟件可以用來分享 DEC 的Unix 與個人計算機的 DOS 這兩個操作系統的檔案數據,可惜讓 Tridgwell 覺得較困擾的是,Sun的 Unix 無法藉由這個軟件來達到數據分享的目的。這個時候 Tridgwell 就想說:『咦!既然這兩部系統可以相互溝通,沒道理Sun 就必需這麽苦命吧?可不可以將這兩部系統的運作原理找出來,然後讓 Sun這部機器也能夠分享檔案數據呢?』,為了解決這樣的的問題,這老兄就自行寫了個program 去偵測當 DOS 與 DEC 的 Unix 系統在進行數據分享傳送時所使用到的通訊協議信息,然後將這些重要的信息擷取下來,並且基於上述所找到的通訊協議而開發出ServerMessage Block (SMB) 這個檔案系統,而就是這套 SMB軟件能夠讓 Unix 與 DOS 互相的分享數據!( 註:再次的給他強調一次,在Unix Like 上面可以分享檔案數據的 file system 是 NFS,那麽在 Windows 上面使用的『網絡鄰居』所使用的檔案系統則稱為Common Internet File System, CIFS

)

因此 Tridgwell就去申請了 SMBServer ( Server Message Block 的簡寫 ) 這個名字來做為他撰寫的這個軟件的商標,可惜的是,因為SMB 是沒有意義的文字,因此沒有辦法達成註冊。既然如此的話,那麽能不能在字典裏面找到相關的字詞可以做為商標來註冊呢?翻了老半天,呵呵!這個SAMBA剛好含有 SMB ,又是熱情有勁的拉丁舞蹈的名稱,不如就用這個名字來做為商標好了。如此,這成為我們今天所使用的SAMBA 的名稱由來。

總結:

1)CIFS是微軟的,提供windows間的文件共享

2) NFS是sun的,提供類unix間的文件共享,雖然windows與類unix間也可以用nfs,但是看來不好用。

3)samba可以提供windows與類unix間的文件共享。

這三個概念在EMC的VNS存儲中會用到,需要開啟cifs與nfs服務功能。

NFS CIFS SAMBA 的聯系和區別