NFS CIFS(轉載)

NFS簡介

NFS由SUN公司開發,目前已經成爲文件服務的一種標準(RFC1904,RFC1813)。其最大功能是可以通過網絡讓不同操作系統的計算機可以共享數據,所以也可以將其看做是一臺文件服務器,如圖1-1所示。NFS提供了除Samba之外,Windows與Linux及UNIX與Linux之間通信的方法。

圖1-1  NFS可作爲文件服務器

客戶端PC可以掛載NFS服務器所提供的目錄並且掛載之後這個目錄看起來如同本地的磁盤分區一樣,可以使用cp、cd、mv、rm及df等與磁盤相關的命令。NFS有屬於自己的協議與使用的端口號,但是在傳送資料或者其他相關信息時候,NFS服務器使用一個稱爲"遠程過程調用"(Remote Procedure Call,RPC)的協議來協NFS服務器本身的運行。

1.1.2  爲何使用NFS

NFS的目標是使計算機共享資源,在其發展過程中(即20世紀80年代),計算機工業飛速發展,廉價CPU及客戶端/服務器技術促進了分佈式計算環境的發展。然而當處理器價格下降時,大容量的存儲系統相對而言價格仍居高不下。因此必須採用某種機制在充分發揮單個處理器性能的同時使計算機可共享存儲資源和數據,於是NFS應運而生。

1.1.3  NFS協議

使用NFS,客戶端可以透明地訪問服務器中的文件系統,這不同於提供文件傳輸的FTP協議。FTP會產生文件一個完整的副本;NFS只訪問一個進程引用文件部分,並且一個目的就是使得這種訪問透明。這就意味着任何能夠訪問一個本地文件的客戶端程序不需要做任何修改,就應該能夠訪問一個NFS文件。

NFS是一個使用SunRPC構造的客戶端/服務器應用程序,其客戶端通過向一臺NFS服務器發送RPC請求來訪問其中的文件。儘管這一工作可以使用一般的用戶進程來實現,即NFS客戶端可以是一個用戶進程,對服務器進行顯式調用,而服務器也可以是一個用戶進程。因爲兩個理由,NFS一般不這樣實現。首先訪問一個NFS文件必須對客戶端透明,因此NFS的客戶端調用是由客戶端操作系統代表用戶進程來完成的;其次,出於效率的考慮,NFS服務器在服務器操作系統中實現。如果NFS服務器是一個用戶進程,每個客戶端請求和服務器應答(包括讀和寫的數據)將不得不在內核和用戶進程之間進行切換,這個代價太大。第3版的NFS協議在1993年發佈,圖1-2所示爲一個NFS客戶端和一臺NFS服務器的典型結構。
 

圖1-2  NFS客戶端和NFS服務器的典型結構

(1)訪問一個本地文件還是一個NFS文件對於客戶端來說是透明的,當文件被打開時,由內核決定這一點。文件被打開之後,內核將本地文件的所有引用傳遞給名爲"本地文件訪問"的框中,而將一個NFS文件的所有引用傳遞給名爲"NFS客戶端"的框中。

(2)NFS客戶端通過其TCP/IP模塊向NFS服務器發送RPC請求,NFS主要使用UDP,最新的實現也可以使用TCP。

(3)NFS服務器在端口2049接收作爲UDP數據包的客戶端請求,儘管NFS可以被實現爲使用端口映射器,允許服務器使用一個臨時端口,但是大多數實現都是直接指定UDP端口2049。

(4)當NFS服務器收到一個客戶端請求時,它將這個請求傳遞給本地文件訪問例程,然後訪問服務器主機上的一個本地的磁盤文件。

(5)NFS服務器需要花一定的時間來處理一個客戶端的請求,訪問本地文件系統一般也需要一部分時間。在這段時間間隔內,服務器不應該阻止其他客戶端請求。爲了實現這一功能,大多數的NFS服務器都是多線程的--服務器的內核中實際上有多個NFS服務器在NFS本身的加鎖管理程序中運行,具體實現依賴於不同的操作系統。既然大多數UNIX內核不是多線程的,一個共同的技術就是啓動一個用戶進程(常被稱爲"nfsd")的多個實例。這個實例執行一個系統調用,使其作爲一個內核進程保留在操作系統的內核中。

(6)在客戶端主機上,NFS客戶端需要花一定的時間來處理一個用戶進程的請求。NFS客戶端向服務器主機發出一個RPC調用,然後等待服務器的應答。爲了給使用NFS的客戶端主機上的用戶進程提供更多的併發性,在客戶端內核中一般運行着多個NFS客戶端,同樣具體實現也依賴於操作系統。
 
 
 

cifs簡介
  CIFS (Common Internet File System)

  通用Internet文件系統

  在windows主機之間進行網絡文件共享是通過使用微軟公司自己的CIFS服務實現的。 

  CIFS 是一個新提出的協議,它使程序可以訪問遠程Internet計算機上的文件並要求此計算機的服務。CIFS 使用客戶/服務器模式。客戶程序請求遠在服務器上的服務器程序爲它提供服務。服務器獲得請求並返回響應。CIFS是公共的或開放的SMB協議版本,並由Microsoft使用。SMB協議現在是局域網上用於服務器文件訪問和打印的協議。象SMB協議一樣,CIFS在高層運行,而不象TCP/IP協議那樣運行在底層。CIFS可以看做是應用程序協議如文件傳輸協議和超文本傳輸協議的一個實現。

  CIFS 可以使您達到以下功能:

  1.訪問服務器本地文件並讀寫這些文件

  2.與其它用戶一起共享一些文件塊

  3.在斷線時自動恢復與網絡的連接

  4.使用西歐字符文件名

  一般來說,CIFS使用戶得到比FTP更好的對文件的控制。它提供潛在的更直接地服務器程序接口,這比使用HTTP協議的瀏覽器更好。CIFS最典型的應用是windows用戶能夠從“網上鄰居”中找到網絡中的其他主機並訪問其中的共享文件夾.

  CIFS 是開放的標準而且已經被作爲Internet應用程序標準被提交到IETF。
 
 
 
當爲你的存儲環境選擇用哪種網絡附加存儲(NAS)解決方案時,考慮你怎樣應用是非常重要的。例如,一般說來如果你的應用服務器或者用戶都是基於Windows的,CIFS可能是最好的選擇。如果你的客戶都是基於UNIX或Linux,那麼NFS可能是更好的選擇。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章