Microsoft SMB 协议和 CIFS 协议概述

服务器消息块 (SMB) 协议是一种网络文件共享协议,在 Microsoft Windows 中实现的称为 Microsoft SMB 协议。 定义特定版本的协议的消息数据包集称为方言。 通用 Internet 文件系统 (CIFS) 协议是 SMB 的方言。 VMS、Unix 的多个版本和其他操作系统上也提供 SMB 和 CIFS。

有关 CIFS 的技术参考可从 Microsoft Corporation 获取,地址为 Common Internet File System (CIFS) File Access Protocol

尽管其main用途是文件共享,但其他 Microsoft SMB 协议功能包括:

在 OSI 网络模型中,Microsoft SMB 协议最常用作应用程序层或表示层协议,并且依赖于较低级别的协议进行传输。 Microsoft SMB 协议最常使用的传输层协议是通过 TCP/IP 的 NetBIOS (NBT) 。 但是,Microsoft SMB 协议也可以在没有单独的传输协议的情况下使用,Microsoft SMB 协议/NBT 组合通常用于向后兼容。

Microsoft SMB 协议是客户端-服务器实现,由一组数据包组成,每个数据包包含客户端发送的请求或服务器发送的响应。 这些数据包可大致分类如下:

  • 会话控制数据包 建立并停止与共享服务器资源的连接。
  • 文件访问数据包 访问和操作远程服务器上的文件和目录。
  • 常规消息数据包 发送数据以打印队列、mailslot 和命名管道,并提供有关打印队列状态的数据。

某些消息数据包可以分组并在一次传输中发送,以减少响应延迟并增加网络带宽。 这称为“批处理”。 Microsoft SMB 协议数据包交换方案 部分介绍了使用数据包批处理的 Microsoft SMB 协议会话的示例。

在本节中

主题 说明
Microsoft SMB 协议方言
若要使用 Microsoft SMB 协议在客户端与服务器之间建立连接,必须先确定具有客户端和服务器都支持的最高功能级别的方言。
Microsoft SMB 协议身份验证
Microsoft SMB 协议中使用的安全模型与其他 SMB 变体使用的安全模型相同,由两个级别的安全用户和共享组成。 共享是可由 Microsoft SMB 协议客户端访问的文件、目录或打印机。
Microsoft SMB 协议数据包交换方案
客户端和服务器之间的 Microsoft SMB 协议数据包交换示例。