隨著智能化互聯(lián)時代的來臨,家中的智能設備越來越多:電視機、平板、游戲主機、電腦、手機等遍及家中各個角落,同時設備之間共享數(shù)據(jù)的需求變的越來越強烈。比如同步、備份手機上的照片和視頻,在電視機上觀看電腦中下載的影片、手機拍攝的視頻,存儲高清電影、音樂、VLOG 素材等。這時候在家中搭建一臺 NAS 儲存服務器是不錯的選擇,在備份保障數(shù)據(jù)安全的同時給家庭娛樂帶來更多方便。在企業(yè)中,NAS 也有著廣泛的應用,其部署簡單,擴展方便,在文件共享、容災備份領域發(fā)揮了重要作用。
NAS 存儲服務器有許多專業(yè)廠商,比如群暉( Synology)、鐵威馬(TerraMaster)等,動手能力強的用戶可以 DIY 硬件 開源系統(tǒng)自己搭建。不過這些不是今天討論的話題,今天我們來討論一下 NAS 常見的共享訪問協(xié)議:NFS、SMB、FTP、WebDav,哪些速度快,哪些兼容性好,如何選擇。
NFS
NFS(網(wǎng)絡文件系統(tǒng) Network File System)是一種分布式文件系統(tǒng)協(xié)議,力求客戶端主機可以訪問服務器端文件,并且其過程與訪問本地存儲時一樣,它由 Sun 公司(已被 Oracle 收購)開發(fā),于 1984 年發(fā)布,最新版本 NFSv4.2 于 2016 年發(fā)布。NFS 基于開放網(wǎng)絡運算遠程過程調用(ONC RPC)協(xié)議:一個開放、標準的 RFC 協(xié)議,任何人或組織都可以依據(jù)標準實現(xiàn)它。
NFS 通常使用在 Unix 操作系統(tǒng)上(比如 Solaris、AIX 及 HP-UX)和其他類 Unix 操作系統(tǒng)(例如 Linux 及 FreeBSD),同時在 macOS 和 Windows 系統(tǒng)也提供了 NFS 實現(xiàn)。不過在 Windows 系統(tǒng)上掛載 NFS 共享目錄時,由于 Windows 自帶的 NFS 客戶端長久以來不支持 UTF-8,會致中文文件和目錄顯示為亂碼。
NFS 的優(yōu)點是內(nèi)核直接支持,部署簡單、運行穩(wěn)定,協(xié)議簡單、傳輸效率高。
NFS 的缺點是沒有加密授權等功能,僅依靠 IP 地址或主機名來決定用戶能否掛載共享目錄,對具體目錄和文件無法進行 ACL 權限控制(NFSv4 以前)。通常的做法是通過 Kerberos 對 NFS 進行認證及加密,不過部署配置比較麻煩。
SMB / Samba
Samba 是 SMB/CIFS(Server Message Block / Common Internet File System)網(wǎng)絡協(xié)議的重新實現(xiàn),可以在局域網(wǎng)不同計算機之間進行文件、打印機等資源共享,和 NFS 功能類似。
SMB 最早是微軟為自己需求設計的專用協(xié)議,用來實現(xiàn)微軟主機之間的文件共享與打印共享,并不支持在 Linux 上運行。著名黑客、技術大牛 Andrew Tridgell 通過逆向工程,在 Linux 上實現(xiàn)的 SMB / CIFS 兼容協(xié)議,命名為 Samba,通過該程序實現(xiàn)了 Windows 和 Linux 之間的文件共享。
SMB 協(xié)議是 C/S 類型協(xié)議,客戶機通過該協(xié)議可以訪問服務器上的共享文件系統(tǒng)、打印機及其他資源。通過設置“NetBIOS over TCP/IP”,Samba 不但能與局域網(wǎng)絡主機分享資源,還能與全世界的電腦分享資源。
SMB 的優(yōu)點之一是兼容性好,在各平臺獲得了廣泛支持,包括 Windows、Linux、macOS 等各系統(tǒng)掛載訪問都很方便。另外 SMB 也是各種電視、電視盒子默認支持的協(xié)議,可以通過 SMB 遠程播放電影、音樂和圖片。
另外 SMB 提供端到端加密、安全性高,配置選項豐富,支持 ACL 并支持多種用戶認證模式。
SMB 的缺點是傳輸效率稍低,速度不太穩(wěn)定,會有波動。
FTP
FTP(File Transfer ProtocoL)是TCP/IP應用層中的一個基礎協(xié)議,通常使用 22 端口,負責將文件從一臺計算機傳輸?shù)搅碛嬎銠C,并保證文件傳輸?shù)目煽啃浴?FTP 協(xié)議的歷史源遠流長,第一版 FTP 協(xié)議于 1971 年發(fā)表為 RFC 114,此后經(jīng)過多年的發(fā)展和完善。通常所說的 FTP 既可指 FTP 協(xié)議,也可指 FTP 應用程序。
由于 FTP 是明文傳輸安全性不高,后來又出現(xiàn)了 SFTP 和 FTPS 等加密傳輸。FTP 的特點之一是獨立于系統(tǒng)用戶組,只要通訊端口開啟就能方便訪問,所以特別適合外網(wǎng)共享,一些老牌共享軟件就常常通過 FTP 發(fā)布下載鏈接。
FTP 主要用于客戶端和服務器之間的文件上傳和下載,并不適用于服務器上文件修改。因為 FTP 通常需要先獲取遠程文件的副本,然后對副本修改,最后再將修改后的文件副本上傳服務器。
雖然 FTP 的簡單方便、容易部署,但 FTP 的傳輸效率低、安全性不佳,目前并不推薦使用。
WebDAV
基于Web的分布式編寫和版本控制(WebDAV)是超文本傳輸協(xié)議(HTTP)的擴展,有利于用戶間協(xié)同編輯和管理存儲在萬維網(wǎng)服務器文檔。WebDAV 由互聯(lián)網(wǎng)工程任務組的工作組在 RFC 4918 中定義。許多現(xiàn)代操作系統(tǒng)為 WebDAV 提供了內(nèi)置支持。
WebDAV擴展了request方法所允許的標準HTTP謂詞和HTTP頭。增加的謂詞包括:
WebDAV 協(xié)議為用戶在服務器上創(chuàng)建、更改和移動文檔提供了一個框架。WebDAV 協(xié)議最重要的功能包括:
由于 WebDAV 是基于 HTTP 的,所以具有 HTTP 的所有優(yōu)點,包括容易穿越防火墻、 使用 HTTPS 來傳輸數(shù)據(jù),因此在很多方面可以替代 FTP。
WebDAV 可以通過 Nginx 或 Apache 等 Web 服務器部署。在客戶端 WebDAV 也獲得了許多軟件的支持,比如 Office 就可通過 WebDAV 編輯遠程文檔。