CIFS NFS

CIFS   NFSlinux

  1. CIFS:windows

    CIFS (Common Internet File System)瀏覽器

  通用Internet文件系統服務器

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

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

  CIFS 可使您達到如下功能:併發

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

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

  3.在斷線時自動恢復與網絡的鏈接性能

  4.使用西歐字符文件名

  通常來講,CIFS使用戶獲得比FTP更好的對文件的控制。它提供潛在的更直接地服務器程序接口,這比使用HTTP協議的瀏覽器更好。CIFS最典型的應用是windows用戶可以從「網上鄰居」中找到網絡中的其餘主機並訪問其中的共享文件夾.

  CIFS 是開放的標準並且已經被做爲Internet應用程序標準被提交到IETF。

 2.NFS:

2.1NFS由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服務器自己的運行。

2.2  爲什麼使用NFS

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

2.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客戶端,一樣具體實現也依賴於操做系統。
 

注:

           NFS   CIFS 都是經過網絡實現數據文件共享。  文件共享 是核心。!!!!

相關文章
相關標籤/搜索