SMB 與 NFS 協定:深度比較

在電腦與使用者之間共享檔案,有助於更有效率且便利地進行溝通與資料交換。您可以透過多種方式在網路上共享檔案,例如在伺服器和電腦上使用 SMB 或 NFS 協定。NAS設備亦常用於透過 SMB 和 NFS 共享檔案。

請閱讀 NFS 與 SMB 的比較文章,以了解您的使用情境下該使用哪種方式,以及該選擇哪種協定。

NAKIVO 用於 NAS 資料備份

NAKIVO 用於 NAS 資料備份

可快速備份及還原 NAS設備、Windows 及 Linux 檔案分享中的數 GB 資料。無論您需要什麼,無論何時需要,皆可在數秒內完成還原。

什麼是 SMB 協定?

SMB(伺服器訊息區塊)是一種檔案分享協定,可透過網路存取共用資料。此協定廣泛應用於 Windows 環境中,用於透過區域網路(LAN)存取檔案。 該協定由 IBM 於 1983 年開發,其後由 Microsoft 接手,目前 Windows 已內建 SMB 支援功能。此協定持續演進,最新版本為 SMB v.3.1.1。

有時 CIFS 一詞會與 SMB 混淆。CIFS 實為 SMB 的變體,即 Microsoft 對 SMB v1 的實作版本。請閱讀此文 CIFS 與 SMB 比較以了解更多。

什麼是 NFS 協定?

NFS(網路檔案系統)是一種適用於 UNIX 及 Linux 作業系統的檔案分享協定。儘管名稱如此,NFS 並非檔案系統。NFS 協定最初由 Sun Microsystems 於 1984 年開發。

  • Sun 公司僅將 NFS 第 1 版本用於內部用途,從未對外發布。
  • NFS v2 提供了基本的檔案分享功能性。
  • NFS v3 支援可變大小處理功能,並改進了錯誤回報機制,但不與 NFS v2 客戶端相容。
  • NFS v4 是與網際網路工程任務組(IETF)共同開發的最新 NFS 版本。此版本支援並行檔案存取,並強化了安全性。它與 NFS v2 及 NFS v3 具備向下相容性。NFS v4 支援 Kerberos 驗證。

NFS 與 Samba – 主要差異

Samba 是一款用於在 Linux 上安裝 SMB 伺服器的自由軟體實作。請注意,Samba 並不包含 SMB 客戶端。您應安裝 cifs-utils 在 Linux 中安裝 SMB 客戶端所需的套件。

NFS 是一種網路協定,不應與軟體套件(如 Samba)相提並論。然而,若我們談論的是 Windows 上的 NFS 實作,則需在 Windows 中安裝適當的 NFS 伺服器及/或 NFS 客戶端角色(視任務需求而定),才能使用 NFS。

NFS 與 SMB – 特點概覽

在本節中,我們將針對 7 個不同類別,比較 SMB 與 NFS 的特點。

1. 網路連線/已使用的埠

  • SMB 和 NFS 共享協定均運作於 OSI 模型的應用層(第 7 層),並採用客戶端-伺服器架構。
  • SMB 需要建立連線(NFS 則無此需求)。
  • SMB 亦可利用傳輸層進行運作(第 6 層)。
  • 這兩種協定是針對區域網路(LAN)環境所進行的優化,而非用於網際網路。SMB 和 NFS 共用協定並不適合透過網際網路進行網路位址轉換和路由。
  • NFS 使用 2049 號埠(TCP 和 UDP)以及 111 號埠(TCP 和 UDP)。TCP 111 號埠由埠映射器使用。TCP 1110 號埠和 UDP 1110 號埠用於叢集和客戶端狀態。NFS 鎖定管理員使用 TCP 4045 號埠和 UDP 4045 號埠。
  • SMB 在不使用 NetBIOS 傳輸層的情況下,直接透過 TCP/IP 協定使用 TCP 445 埠(這是自 Windows 2000 起 SMB 的運作方式,包含當今使用的最新 SMB 版本)。 SMB 會使用 TCP 139、UDP 137 及 UDP 138 埠,以在 NetBIOS over TCP/IP 之上運作。NetBIOS 是一種會話層協定(運作於 OSI 模型的第 5 層),在 Windows 2000 之前,較舊的 SMB 實作皆採用此協定。

2. 共用印表機

SMB 支援印表機共用特點,讓遠端使用者能夠透過網路,使用連接至特定電腦的印表機來列印檔案。NFS 協定並未提供印表機共用特點——Linux 具備其他網路列印機制。

3. 驗證

NFS 與 SMB 協定之間的一大差異在於其驗證方式。

  • SMB 採用 ACL(存取控制清單)的概念來管理使用者與群組。SMB 允許指定使用者和群組存取共用檔案(基於使用者的驗證)。您可以靈活地設定權限。若要設定允許主機的存取權限,您可以使用防火牆。
  • NFS 傳統上允許特定 IP 位址存取。NFS 採用基於主機的驗證系統——您可以啟用允許存取 NFS 共用資料夾的主機 IP 位址。在此情況下,該主機上的每位使用者皆可存取該 NFS 共用資料夾。

所有權與 Linux 風格的權限是 NFS 協定的特點之一。Linux 使用 UID(使用者識別碼)和 GID(群組識別碼),而 Windows 則使用 SID(安全性識別碼)。

NFS v4 對 Kerberos 的支援強化了驗證系統(以提升為特定使用者提供存取權限的功能性)。

4. 存取檔案分享

檔案鎖定對於 SMB 而言是強制性的,而對於 NFS 則屬建議性質。檔案鎖定機制用於確保使用者開啟的檔案保持一致性。透過鎖定機制,其他使用者在檔案關閉之前無法對已開啟的檔案寫入資料。

您可以在 Windows 中使用 UNC 路徑

存取 SMB 檔案分享:

\serversharedirectory1directory2

在 Linux 中:

smb://server/share/directory1/directory2

您可以透過"匯出檔案系統 (EFS)"路徑,並採用以下格式來存取 NFS 共用資料夾:

server:/directory1/directory2

5. 作業系統的支援與整合

NFS 協定是針對 Linux 進行優化的。SMB 則是針對 Windows 進行優化的,且是 Windows 內建的檔案分享協定,具備出色的整合性。

不過,這兩種協定皆可在 Windows 和 Linux 上使用。若要在 Linux 上使用 SMB 協定,您需要安裝 SMB 客戶端(cifs-utils)或 SMB 伺服器(Samba)。 若要在 Windows 上使用 NFS 配置,您需要將 NFS 客戶端和/或伺服器作為附加元件(角色)進行安裝。

存取檔案時,NFS 會區分大小寫,而 SMB 則不區分大小寫。這會影響您搜尋檔案的方式以及輸入檔案名稱的方式。

NFS 協定是一種開放標準,任何人都可以實作。

6. 安全性/加密

  • 若未配備防火牆,基於請求-回應協定(RPC)的 NFS 通訊便存在風險。當 NFS 採用底層的 UDP 協定運作時(該協定並不安全),整體安全性便會降低。NFS 支援透過 TLS(基於 SSL 的傳輸層安全性協定)進行加密。
  • SMB 支援採用 AES-256 加密標準的端對端加密,其安全性高於 NFS 的 Kerberos 加密。雖然 SMB 1 被視為存在安全漏洞的協定,但最新的 SMB 3 版本相當安全,因此 SMB 的安全性水準優於 NFS。

7. NFS 與 SMB 的效能比較

若要在網路上傳輸中小型檔案(例如大小約 1 MB 或更小的檔案),NFS 是較佳的選擇。 在傳輸大型檔案(例如 500 MB 的檔案)時,這兩種協定的效能表現相近。

在啟用加密功能時,NFS 的速度比 SMB 更快。在 4 MB 的傳輸速率下,SMB 的讀取交易速度較快。高流量負載可能會減緩資料傳輸程序。值得注意的是,NFS v.4.2 已提升了最大頻寬。

SMB 與 NFS:比較表

我們可以將 NFS 與 SMB 比較中的主要差異整理於下表中。

中小企業 NFS
環境 Windows 原生支援 主要用於 Linux 系統
驗證 便捷的基於使用者的驗證 基於主機的驗證是主要的方法
使用的埠 TCP 445;TCP 139、UDP 137、138 TCP 2049、UDP 2049、TCP 111 和 UDP 111;TCP 1110、UDP 1110、TCP 4045、UDP 4045。
加密與安全性 是的 – Kerberos、AES-256 是的——Kerberos 和 TLS
跨平台環境 已支援 已支援
檔案鎖定 必填 公告
印表機共用 是的
存取資源 伺服器目錄1目錄2 伺服器:/目錄1/目錄2

結論

選擇 NFS 或 SMB 作為檔案分享協定,主要取決於網路中電腦所使用的作業系統及其他因素。這兩種協定均相當可靠,且可應用於不同的作業系統和 NAS設備。無論您選擇哪種協定,在使用網路檔案分享時,務必備份您的資料。 NAKIVO Backup & Replication 這是一套全方位的資料保護解決方案,可用於保護 SMB 和 NFS 共用資料,以及虛擬機器、實體伺服器和 Microsoft 365 中的資料。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read