SMB

Server Message Block - SMB,即服務(器)消息塊,是 IBM 公司在 80 年代中期發明的一種文件共享協議。它只是系統之間通信的一種方式(協議),並不是一款特殊的軟件。

SMB 協議被設計成為允許計算機通過本地局域網(LAN)在遠程主機上讀寫文件。遠程主機上通過 SMB 協議開放訪問的目錄稱為 共享文件夾

CIFS

Common Internet File System - CIFS,即通用因特網文件系統。CIFS 是 SMB 協議的衍生品,即 CIFS 是 SMB 協議的一種特殊實現,由美國微軟公司開發。

CIFS 與 SMB

由於 CIFS 是 SMB 的另一中實現,那么 CIFS 和 SMB 的客戶端之間可以互訪就不足為奇。

二者都是協議級別的概念,名字不同自然存在實現方式和性能優化方面的差別,如文件鎖、LAN/WAN 網絡性能和文件批量修改等。

CIFS 與 SMB:該用哪個?

時至今日,你仍舊應該使用 SMB 這個名稱。

你可能會想:“既然它們幾乎是相同的,為什么一定要叫 SMB?”

這里有兩個原因:

  1. CIFS 實現的協議至今仍很少被使用。大多數現代存儲系統不再使用 CIFS,而是使用 SMB2 或 SMB3。在 Windows 系統環境中,SMB2 和 SMB3 是事實使用的標准。

  2. 在學術上 CIFS 有消極的含義。SMB2 和 SMB3 是對 CIFS 協議的重大升級,存儲架構工程師大多不喜歡這種命名。

Samba 和 NFS

CIFS 和 SMB 遠不是文件共享協議的全部,如果要與舊版系統相互操作,很可能還需要其他的協議。Samba 和 NFS 就是你應該了解的另外兩種優秀的文件共享協議。

SAMBA

Samba 是一組不同功能程序組成的應用集合,它能讓 Linux 服務器實現文件服務器、身份授權和認證、名稱解析和打印服務等功能。

與 CIFS 類似,Samba 也是 SMB 協議的實現,它允許 Windows 客戶訪問 Linux 系統上的目錄、打印機和文件(就像訪問 Windows 服務器時一樣)。

重要的是,Samba 可以將 Linux 服務器構建成一個域控制器。這樣一來,就可以直接使用 Windows 域中的用戶憑據,免去手動在 Linux 服務器上重新創建的麻煩。

NFS

Network File System - NFS,即網絡文件系統。由 Sun 公司面向 SMB 相同的功能(通過本地網絡訪問文件系統)而開發,但它與 CIFS/SMB 完全不兼容。也就是說 NFS 客戶端是無法直接與 SMB 服務器交互的。

NFS 用於 Linux 系統和客戶端之間的連接。而 Windows 和 Linux 客戶端混合使用時,就應該使用 Samba。