NFS 和 CIFS 有什么区别?

网络文件系统 (NFS) 和通用互联网文件系统 (CIFS) 是文件访问存储协议,或者是通过网络进行高效文件共享的规则。对于任何组织的日常运营而言,有效沟通、协作和共享文件都至关重要。使用 NFS,用户(或客户端设备)可以连接到网络服务器并访问服务器上的文件。该系统具有允许多个用户共享同一个文件而不会发生数据冲突的规则。CIFS 基于服务器消息块(SMB)协议。CIFS 允许设备与服务器和其他外围设备(如打印机)共享文件。

工作原理:NFS 与CIFS

您可以跨各种网络部署网络文件系统(NFS)和通用互联网文件系统(CIFS)等文件访问存储协议:

  • 物理网络,例如局域网(LAN)和广域网(WAN)
  • 虚拟网络
  • 云存储网络

在网络环境中,NFS 和 CIFS 使用 IP 和 TCP 协议在服务器和客户端之间共享文件。多台客户端可以访问一台服务器上的文件,还可以创建、读取、编辑和删除(CRUD)文件,就像处理客户端计算机的本地文件一样。文件锁定机制可防止试图更改同一个文件或目录的多个客户端之间发生冲突。

NFS 的工作原理

NFS 最初由 Sun Microsystems 于 1984 年开发,但现在由互联网工程任务组维护。NFS 专为 Unix 系统(包括 Linux 操作系统和 macOS)而设计。 

在 NFS 中,客户端使用远程过程调用(RPC)向远程 NFS 服务器请求文件或目录。如果文件或目录可用,并且客户端具有正确的访问权限,则服务器会将其装载到客户端上。客户端通过虚拟连接执行文件操作。自 NFS 版本 4 起,用于解决文件冲突的 NFS 锁定管理器不再作为单独的服务提供,而是作为协议的一部分。

CIFS 的工作原理

CIFS 最初由微软于 1990 年代中期发布,是服务器消息块(SMB)文件访问协议的扩展。CIFS 在 Windows 操作系统的网络环境中被广泛使用,但在现代系统实施中,更新版本的 SMB 已经取代了 CIFS。

在 CIFS 中,发布时并未广泛记录实施和协议细节。这使得复杂的网络管理具有挑战性,尤其是在混合操作系统环境中。 

主要区别:NFS 与CIFS

尽管网络文件系统(NFS)和通用互联网文件系统(CIFS)都是文件访问协议,但二者有一些区别。NFS 共享资源的能力仅限于文件和目录。相比之下,CIFS 还可以提供与其他网络设备(例如打印机)的共享资源通信。NFS 仍在积极开发中,您可以向互联网工程任务组提交 RFC。CIFS 尚未积极开发。

以下是两种协议的一些其他主要区别。

初始目标操作系统

NFS 和 CIFS 最初是针对不同的操作系统设计的。CIFS 针对的是 Windows 操作系统,NFS 则针对 Unix。这意味着这两种协议是为了利用各自的操作系统内核来实施最佳操作而构建的。虽然可以在基于 Linux 的操作系统中使用 CIFS(通过 Samba),在 Windows 操作系统上使用 NFS(通过第三方软件包),但这些不是原生支持的做法。

身份验证

NFS 传统上依赖于基于主机的身份验证,在这种身份验证中,对共享文件的访问是根据客户端计算机的 IP 地址或主机名来控制的。它的内置安全机制有限,这在开放网络中可能是一个问题。

另一方面,CIFS 提供了更高级的身份验证和安全功能。它支持基于用户的身份验证,因此个人用户可以使用其凭证访问共享资源。CIFS 还支持加密和其他安全机制,这使其更适合安全环境。

文件锁定

NFS 采用无状态设计,这意味着它不会跟踪服务器上打开的文件。因此,文件锁定由客户端处理,当多个客户端尝试同时写入同一个文件时,就会发生冲突。

另一方面,CIFS 支持服务器端的文件锁定。当多个客户端访问同一个文件时,它可以更好地进行协调并避免冲突。

性能

NFS 使用开销更少的轻量级协议,从而加快文件访问和传输速度。

相反,CIFS 支持各种特定于 Windows 的功能,因此协议开销更大。这可能会影响性能,尤其是在高延迟网络中。

何时选择 NFS 与CIFS

网络环境可以同时使用多个文件访问存储协议,因此可以并行使用网络文件系统(NFS)和服务器消息块(SMB)或通用互联网文件系统(CIFS)。但是,NFS 基本上总是优于 CIFS。然而,在其他协议中,它并不总是最佳选择,具体取决于应用场景。 

尽管 CIFS 仍在某些传统应用程序和网络服务中使用,但已不再在更广泛的系统社区中使用。SMB 版本 2.0 取代了 CIFS,SMB 版本 3.1.1 目前是最新 SMB 版本。对于基于 Windows 的文件和设备共享网络服务,当前版本的 SMB 现在是标准协议。

只有在 CIFS 是与现有系统兼容的唯一选项时,用户才应使用 CIFS。网络管理员应考虑将这些系统升级到当前版本的 SMB,以增强性能、安全功能、跨系统兼容性和扩展功能集。

另一方面,NFS 仍然是 Linux 环境的首选网络文件共享协议。由于其稳定性、可靠性、灵活性和成本效益,Linux 通常是远程服务器工作负载的首选操作系统。NFS 在云环境和现场企业数据中心仍然很受欢迎。

关于云文件访问存储协议的说明

NFS 和 SMB 都是热门的协议。但是,在云环境中,云提供商通常使用专有协议,其实施和配置已经抽象化。这样,用户无需手动配置即可集成不同的设备和操作系统。

实际上,这意味着管理员使用简单的 UI 即可将现场 CIFS、SMB 和 NFS 文件共享连接到任何类型的云服务器。这种连接方式也适用于任何类型的现场或远程客户端。这些混合云环境简化了以前在远程网络配置中所需的复杂网络管理任务。

 

差异摘要:NFS 与CIFS

 

NFS

CIFS

它是什么?

网络文件系统。

通用互联网文件系统。

当前版本

NFS 版本 4。

已被 SMB 版本 3.1.1 所取代。

最适合

基于 Linux 的网络架构。

需要时可用于基于 Windows 的传统架构。

共享资源

文件和目录。

文件、目录和网络资源,如打印机。

身份验证

基于 IP。

基于用户。

文件锁定

由客户处理。

由服务器处理。

性能

协议开销低,性能较快。

协议开销高,性能较低。

AWS 如何帮助满足您的文件系统需求?

Amazon Web Services(AWS)提供各种现代化且易于使用的网络管理、文件共享和存储服务。无论文件和用户位于何处,这些服务都能简化协作工作。

如果您想使用基于云的存储来增强本地文件存储系统,AWS Storage Gateway 提供创建混合云解决方案或帮助迁移到云的桥梁。借助 Amazon Simple Storage Service(Amazon S3),您可以将本地存储迁移到云端,而无需重新设计现有应用程序和流程。

Amazon FSx for Windows File Server 是将现有通用互联网文件系统(CIFS)服务器迁移到基于云的托管环境的另一种选择。它可以实现与现有 Windows 环境的完全集成,并具有高级安全功能。 

Amazon Elastic File System(Amazon EFS)是一项类似的 AWS 服务,针对网络文件系统(NFS)设置进行了优化。它具有完全弹性的存储功能,因此您无需进行集群和客户端状态端口管理。

立即创建账户,开始在 AWS 上使用文件共享和存储解决方案。

使用 AWS 的后续步骤

开始使用 NFS 进行构建

了解如何在 AWS 上开始使用 NFS

了解更多 
开始使用 CIFS 进行构建

了解如何在 AWS 上开始使用 CIFS

了解更多