在5分钟或更短的时间内解释通用互联网文件系统(CIFS)
Common Internet File System (CIFS)是一种协议,它在特定网络上的各种机器之间提供对文件、打印机和串口的访问。
通过这种访问,客户端可以打开、读取和编辑共享文档,并自动保存在本地计算机上。
用户还可以访问进程间通信服务和打印队列。
CIFS在1980年代初期由IBM开发。
CIFS的工作原理
CIFS遵循客户端-服务器模型。涉及三个实体:客户端、应用程序和服务器。
- 客户端实现协议,大多数消息都源自客户端。
- 服务器实现协议并提供大部分功能(服务)。
- 应用程序可以是执行图形用户界面、文件管理或文字处理等功能的软件。
CIFS的工作原理如下:
- 客户端与服务器之间建立NetBIOS会话来访问共享资源。
- 协商过程是客户端和服务器确定要使用的方言。
- 客户端通过唯一标识符向服务器提交认证凭据,通常是用户名和密码。
- Active Directory主要处理认证过程。然而,CIFS不直接处理身份验证。
- 如果认证成功,服务器将返回唯一标识符。
- 服务器检查客户端是否具有所需权限以及共享名称是否有效。如果所有这些细节都有效,则授予客户端访问共享资源(如文件和文件夹)的权限。
CIFS协议功能
传输独立性
CIFS协议对发送服务器和客户端之间的SMB消息的传输协议没有任何要求。CIFS只是在面向连接的协议上进行传输。
文件访问
客户端/用户可以在目标服务器上打开、读取、修改和关闭多个文件。服务器负责文件共享,这意味着多个客户端可以同时在不同设备上打开和读取同一个文件。
具有文件、目录和卷属性
CIFS协议可以查询并且在有限的能力下设置目录、文件和卷属性。CIFS还支持访问控制列表(ACL)。
扩展子协议
CIFS协议支持各种子协议,可直接访问其他服务器功能。
支持命名管道进程间通信
客户端可以在特定服务器上打开、写入、读取和关闭命名管道。命名管道为服务器和客户端服务之间提供通信路径。
灵活的连接
一个客户端可以连接到多个服务器。这样的客户端还可以与一个或多个服务器建立一种以上的连接。
支持功能协商
协议的支持功能集和方言是在每个连接的基础上进行协商的。
文件和记录锁定和安全缓存
CIFS协议支持记录和文件锁定。同样的协议还允许机会式文件锁定,为客户端提供缓存数据以获得更好的性能。
目录和文件更改通知
CIFS协议上的客户端可以发布请求,以便在资源(如目录中的文件或特定服务器上的目录)发生更改时得到通知。
支持分布式文件系统(DFS)
DFS创建了一个包含多个服务器上资源的全局命名空间。
支持多个安全上下文
客户端可以在某个连接上使用和创建一个或多个安全上下文。
使用CIFS的前提条件
CIFS需要底层网络传输(通常是面向连接的)。然而,在某些情况下,通过无连接传输可以传输CIFS消息,只需进行一些小的修改。
在通过面向连接的传输交换CIFS消息之前,必须建立连接。
要在这样的网络上交换消息,CIFS将假定以下一个或多个资源可用:
- 本地打印队列将打印作业发送到打印机以提供打印服务。
- 本地文件系统或数据库被呈现为文件系统以实现文件共享。在这种情况下,资源被称为对象存储。
- 需要CIFS服务器内置的适当仿真或支持命名管道的文件系统,以便使用命名管道抽象进行进程间通信。
服务器还应该具备或提供访问密码数据库以进行身份验证。
密码数据库存储NT LAN Manager(NTLM)和LAN Manager(LM)密码哈希,以支持挑战或响应身份验证。
在Windows上配置CIFS
大多数用户不会使用CIFS,这就是为什么Windows 10和11默认禁用该功能的原因。
按照以下步骤进行配置:
- 转到控制面板,点击程序和功能。在左侧,点击打开或关闭Windows功能。
- 向下滚动,直到看到SMB 1.0/CIFS文件共享支持,选中该框。点击“+”图标以查看所有选中的选项。
上述步骤将启用CIFS。但是,您需要为连接到的网络配置CIFS。下面是该过程:
- 转到控制面板主页,点击网络和Internet。
2. 点击网络和共享中心。在左侧,点击更改高级共享设置。
3. 点击更改高级共享设置。现在,您可以继续打开网络发现和打开文件和打印机共享。点击“保存更改”。
在文件夹上设置CIFS
为了演示,我们将在E盘上设置一个名为“示例文件夹”的文件夹。
- 右键点击示例文件夹,点击属性,然后选择共享。
2. 点击“共享”。
但是,您必须注意列出的用户仅限于当前在Windows机器上设置的用户。
接收者还必须在他们的一侧进行所有配置,以便访问发送的文件。
CIFS与SMB的区别
在检查区别之前,值得了解一下服务器消息块(SMB)是什么。
服务器消息块被设计用于允许客户端在服务器上读取、写入和编辑文件。在这种情况下,服务器是一个局域网(LAN)。
多年来的SMB
- SMB 1.0。SMB的第一个版本等同于CIFS。这个最初的变种是为Windows NT 4.0创建的,通信是通过NetBIOS接口进行的。
- SMB 2.0。这个版本是由Microsoft在2006年通过其Windows Vista操作系统引入的。引入的一些功能包括更好的可扩展性,符号链接的支持以及改进的消息签名。
- SMB 2.1。这个版本是在2007年与Windows 7同时引入的。2.1版本提供了改进的性能优化和新的锁定机制。
- SMB 3.0。这个版本是在2012年与Windows 8同时引入的。SMB 3.0最初被命名为SMB 2.2,但后来改名。这个版本通过远程直接内存访问(RDMA)创建了通过远程存储访问的可能性。
- SMB 3.1.1。这是截至目前为止的最新版本。SMB 3.1.1是为Windows 10于2015年创建的,并在身份验证之前引入了完整性检查。此版本还使用了Galois/Counter Mode(GCM)进行加密。
许多人将CIFS和SMB混淆。值得注意的是,SMB比CIFS更早引入。
微软在20世纪90年代改进了SMB,创建了CIFS,使CIFS成为SMB的一个方言。然而,微软继续改进CIFS,当前版本是SMB 3.1.1。
这些是CIFS和SMB 3.1.1之间的主要区别。
SMB 3.1.1 | CIFS | |
创建年份 | IBM在20世纪80年代初创建 | Microsoft在20世纪90年代初创建作为SMB的增强版本 |
性能 | SMB 3.1.1被创建来解决CIFS和早期SMB版本的大部分问题。存在预身份验证检查,有助于保护服务器上的文件。 | CIFS创建时,文件传输、安全等方面存在许多问题。 |
身份验证 | SMB 3.1.1使用AES身份验证来提供对在服务器上共享的文件的安全性。用户必须提供用户名和密码才能访问文件。 | CIFS缺乏身份验证。因此,文件在网络上不安全。 |
数据存储 | SMB 3.1.1使用32位或64位的数据存储字段,为大文件存储打开了可能性。 | 使用与HTTP和FTP协议类似的IP/TCP协议。 |
工作方式 | 客户端-服务器通信协议,用于共享对网络资源的访问。 | 客户端/用户请求位于同一网络上的另一台计算机系统上的服务器上的文件。 |
CIFS的缺点是什么?
- 缺乏身份验证。CIFS最大的缺点之一是缺乏身份验证,而不像较新版本的SMB。
- 处理的文件大小有限。CIFS可能不适用于超大文件,会导致延迟甚至在传输过程中导致中断。
结论
尽管云文件共享和访问服务似乎占据主导地位,但像CIFS这样的传统协议仍然有其空间。通过TCP端口445支持直接连接是CIFS的最大卖点之一。尽管微软现在专注于推进SMB,但CIFS不能被遗忘,因为它是SMB的一种方言。
您还可以了解如何在Windows 11/10中。