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 协议功能包括:
- 方言协商
- 确定网络上的其他 Microsoft SMB 协议服务器或网络浏览
- 通过网络打印
- 文件、目录和共享访问身份验证
- 文件和记录锁定
- 文件和目录更改通知
- 扩展文件属性处理
- Unicode 支持
- 机会锁
在 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 协议数据包交换示例。 |