什么是通用互联网文件系统 (CIFS)?


大约在2000年左右,随着公司试图创建一个基于互联网系统的文件共享协议,CIFS(通用互联网文件系统)协议开始崭露头角。

通用互联网文件系统建立了一个标准,使数百万台计算机能够同时查看远程文件。它为客户端计算机提供了一种访问服务器系统网络上提供的文件和打印服务的方式。也就是说,无需安装任何新软件,使用各种计算机和操作系统的用户就可以通过CIFS交换数据。

在其鼎盛时期,Windows、Linux和Unix等操作系统都支持CIFS。CIFS采用客户端-服务器编程模型,通过向通常运行在不同计算机上的服务器程序请求检索文件或向运行在服务器机器上的客户端程序传递消息。服务器执行请求的操作,然后做出响应。

由于大多数现代数据存储系统都使用更可靠的服务器消息块 (SMB) 2.0和3.0文件共享协议(这是对CIFS的重大改进),因此CIFS现在被认为已经过时。

网络附加存储 (NAS) 系统主要使用CIFS/SMB和网络文件系统 (NFS)。

CIFS是如何工作的?

CIFS协议的工作原理基于客户端-服务器架构。以下是CIFS客户端-服务器模型的工作方式:

  • 客户端向服务器发送请求。

  • 服务器处理请求。

  • 服务器响应客户端的请求。

CIFS协议的特性

根据微软的文档,CIFS协议具有一些特性。这些特性包括:

  • 传输智能 - CIFS协议可以在无连接协议上使用,尽管它通常在面向连接的协议之上使用。

  • 灵活的连接性 - 关于客户端/服务器通信,CIFS协议非常灵活。单个客户端可以与多个服务器建立连接,如果需要,甚至可以与同一服务器建立多个连接。

  • 特性协商 - 协议的方言及其可用特性在逐连接的基础上协商。

  • 访问资源 - CIFS协议不限制客户端可以连接的资源。共享文件、命名管道、打印队列和其他资源都可以同时有多个CIFS客户端连接。

  • 安全状况 - CIFS协议不限制客户端使用单个安全上下文。如果需要,可以在一个连接上使用多个安全上下文。支持长文件名以及设置和Unicode传统8.3文件名。

  • 文件访问 - CIFS客户端能够同时处理多个文件。此外,CIFS不强制执行文件锁定,文件共享是服务器操作系统的特性。这意味着多个客户端可以同时访问一个文件。

  • 扩展子协议 - CIFS协议支持子协议,可以用来增强功能。

  • 命名管道进程间通信 - CIFS可以使用命名管道作为服务器到客户端的通信通道。

  • 文件和记录锁定以及安全缓存 - 即使CIFS允许多个客户端同时访问一个文件,它也支持文件和记录锁定以及文件缓存。

  • 文件、目录和卷属性 - CIFS协议识别并尊重在文件、文件夹和卷级别分配的属性。该协议也与Windows访问控制列表 (ACL) 兼容。

  • 文件和目录更改通知 - 由于CIFS协议中包含的一个特性,当共享资源发生更改时,可以通知客户端。例如,此功能通常会为使用文件资源管理器查看共享文件夹的Windows客户端显示共享文件夹内容的当前视图。

  • 批量命令 - CIFS协议允许链接和顺序处理通信。

  • 对分布式文件系统的支持 - Windows Server操作系统支持分布式文件系统 (DFS),它生成一个全局命名空间,可以包含多个服务器上的资源。CIFS协议完全支持DFS功能。

  • 远程过程调用传输 - CIFS协议支持MS-RPCE和MS-RAP等RPC协议。

  • 消息验证 - CIFS协议和消息签名可以一起使用,以确保通信在传输过程中未被篡改。

  • Unicode文件名支持 - CIFS协议支持ASCII字符。

CIFS的用途

当前一代的SMB协议(用于Windows计算机上的文件共享)受到了CIFS协议的启发。SMB通常用于访问Windows网络上的文件和文件夹。

尽管微软可能是CIFS最常与之相关的公司,但也有CIFS协议的开源版本可用。例如,CIFSD是Linux的开源CIFS/SMB协议。Samba(Linux和Unix的Windows互操作性套件)也包含一个SMB/CIFS客户端。此外,CIFS/SMB协议有时用于将容器连接到共享资源。

更新于:2022年8月5日

314 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告