SMB 1.0 2.0 3.0 3.1.1 SMB OVER QUIC协议 传输速度 对比
如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3 | Microsoft Learn
[MS-SMB]: Server Message Block (SMB) Protocol | Microsoft Learn
RFC 1001 - Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods
RFC 9000 - QUIC: A UDP-Based Multiplexed and Secure Transport
QUIC, a multiplexed transport over UDP
SMB Client Shares(客户端共享计数器集)
这些计数器从SMB客户端角度度量对服务器共享的访问。
重要计数器:
- Attempted Compressed Requests/sec:客户端尝试压缩的请求数/秒。
- Avg. Bytes/Read:每次读取操作的平均字节数。
- Avg. Bytes/Write:每次写入操作的平均字节数。
- Avg. Data Bytes/Request:每个数据请求的平均数据字节数。
- Avg. Data Queue Length:数据队列的平均长度(排队的数据请求数)。
- Avg. Read Queue Length:读取队列的平均长度。
- Avg. Write Queue Length:写入队列的平均长度。
- Avg. sec/Data Request:每个数据请求的平均时间(秒)。
- Avg. sec/Read:每次读取的平均时间(秒)。
- Avg. sec/Write:每次写入的平均时间(秒)。
- Compressed Bytes Sent/sec:压缩字节发送速率。
- Compressed Responses/sec:压缩响应数/秒。
- Credit Stalls/sec:由于信用机制导致的延迟数/秒(SMB2+使用信用机制控制流量)。
- Current Data Queue Length:当前数据队列长度(当前排队的数据请求数)。
- Data Bytes/sec:数据字节传输速率。
- Data Requests/sec:数据请求数/秒。
- Metadata Requests/sec:元数据请求数/秒(例如,打开、关闭、获取属性等)。
- Read Bytes/sec:读取字节速率。
- Read Requests/sec:读取请求数/秒。
- Write Bytes/sec:写入字节速率。
- Write Requests/sec:写入请求数/秒。
- 与SMB Direct相关的计数器(如Read Bytes transmitted via SMBDirect/sec)表示通过SMB Direct(RDMA)传输的字节数。
二、SMB Direct(SMB直接计数器集)
SMB Direct使用RDMA(远程直接内存访问)技术,提供高性能、低延迟的数据传输。这些计数器度量SMB Direct的活动。
重要计数器:
- Bytes RDMA Read/sec:通过RDMA读取的字节数/秒。
- Bytes RDMA Written/sec:通过RDMA写入的字节数/秒。
- Bytes Received/sec:接收的字节数/秒。
- Bytes Sent/sec:发送的字节数/秒。
- RDMA Reads/sec:RDMA读取操作数/秒。
- RDMA Writes/sec:RDMA写入操作数/秒。
- Total Connections:总连接数。
- Total Connections (Max):最大连接数。
- 其他计数器涉及资源分配失败和延迟(如Allocation Failures, Stalls等),这些可以帮助诊断RDMA资源问题。
三、SMB Server(服务器计数器集)
这些计数器度量SMB服务器(文件服务器)的活动,包括读写请求和字节数。
重要计数器:
- Read Bytes/sec:服务器读取字节速率。
- Read Requests/sec:服务器读取请求数/秒。
- Write Bytes/sec:服务器写入字节速率。
- Write Requests/sec:服务器写入请求数/秒。
- Receive Bytes/sec:服务器接收字节速率(从客户端接收的字节数)。
- Send Bytes/sec:服务器发送字节速率(发送给客户端的字节数)。
四、SMB Server Shares(服务器共享计数器集)
这些计数器针对每个SMB共享进行度量,提供更详细的共享级别统计。
重要计数器:
- % Persistent Handles:持久句柄的百分比。
- % Resilient Handles:弹性句柄的百分比。
- Avg. Bytes/Read:每次读取的平均字节数。
- Avg. Bytes/Write:每次写入的平均字节数。
- Avg. Data Bytes/Request:每个数据请求的平均数据字节数。
- Avg. Data Queue Length:平均数据队列长度。
- Avg. Read Queue Length:平均读取队列长度。
- Avg. Write Queue Length:平均写入队列长度。
- Avg. sec/Data Request:每个数据请求的平均时间(秒)。
- Avg. sec/Read:每次读取的平均时间(秒)。
- Avg. sec/Write:每次写入的平均时间(秒)。
- Current Data Queue Length:当前数据队列长度。
- Current Open File Count:当前打开的文件数。
- Current Pending Requests:当前挂起的请求数。
- Data Bytes/sec:数据字节传输速率。
- Data Requests/sec:数据请求数/秒。
- Files Opened/sec:文件打开数/秒。
- Read Bytes/sec:读取字节速率。
- Read Requests/sec:读取请求数/秒。
- Write Bytes/sec:写入字节速率。
- Write Requests/sec:写入请求数/秒。
- Transferred Bytes/sec:传输字节速率(总和)。
- Tree Connect Count:树连接数(即连接到该共享的客户端数)。
- 与持久句柄、弹性句柄相关的计数器:这些与SMB3.0的故障转移和连续可用性功能相关。
- 与BypassCSV(集群共享卷)和SMB Direct相关的计数器:表示通过这些高级功能传输的数据。
由于计数器非常多,以上只列出了部分关键计数器。在实际监控中,可以根据需要选择相应的计数器。
注意:在Windows性能监视器中,这些计数器位于不同的对象下,例如:
-
SMB Client Shares: 位于“SMB Client Shares”对象下。
-
SMB Direct: 位于“SMB Direct”对象下。
-
SMB Server: 位于“SMB Server”对象下。
-
SMB Server Shares: 位于“SMB Server Shares”对象下。
涵盖了 Windows SMB(Server Message Block)协议 的三类关键性能计数器集,分别对应:
- SMB Client Shares(客户端共享访问)
- SMB Direct(基于 RDMA 的高性能传输)
- SMB Server / SMB Server Shares(服务器端共享与会话)
这些计数器用于监控 SMB 2.x/3.x 协议在文件共享、远程 I/O、压缩、RDMA(SMB Direct)、持久句柄等高级功能方面的性能和健康状况。以下是对这三类计数器的系统性解释与使用建议。
一、SMB Client Shares(客户端视角)
监控 本机作为 SMB 客户端 访问远程 SMB 共享时的行为。
关键指标分类:
1. 吞吐与效率
Avg. Bytes/Read/Avg. Bytes/Write:每次读/写操作的平均数据量。值过低可能表示“小包风暴”,影响效率。Avg. Data Bytes/Request:每个请求携带的平均有效数据字节数。Data Bytes/sec:实际传输的数据速率(不含协议开销)。Read Bytes/sec/Write Bytes/sec:读写吞吐量。
2. 延迟
Avg. sec/Read/Avg. sec/Write/Avg. sec/Data Request:关键延迟指标。若 > 10ms,可能网络或服务器存在瓶颈。- 队列长度(如
Avg. Read Queue Length)高 + 延迟高 = 后端处理能力不足。
3. SMB 压缩(SMB 3.1.1+)
Attempted Compressed Requests/sec:尝试压缩的请求数。Successful Compressed Requests/sec:成功压缩的请求数。Compressed Bytes Sent/sec:节省的带宽。
若压缩成功率低,可能数据不可压缩(如已加密/压缩文件)。
4. Turbo I/O(SMB 3.0+ 的多通道/大缓冲优化)
Turbo I/O Reads/sec/Turbo I/O Writes/sec:使用优化路径的 I/O 操作频率。
高值表示高效利用 SMB 3.x 特性。
5. SMB Direct(RDMA)路径
Read/Write Bytes transmitted via SMB Direct/sec:通过 RDMA 传输的数据量。
若为 0,但配置了 RDMA,需检查网络适配器、驱动、防火墙。
6. 信用流控(Credit-based Flow Control)
Credit Stalls/sec:因信用耗尽导致的请求阻塞。
非零值表示客户端等待服务器信用,可能服务器响应慢或网络延迟高。
二、SMB Direct(RDMA 层性能)
监控 基于 RDMA(如 RoCE、iWARP、InfiniBand)的 SMB Direct 通信。
核心关注点:
1. RDMA 数据传输
Bytes RDMA Read/sec/Bytes RDMA Written/sec:真正的零拷贝 RDMA 流量。RDMA Reads/sec/RDMA Writes/sec:RDMA 操作频率。
2. 资源分配与内存注册
Allocation Failures (QP, MR, PD, CQ, FRMR...):各类 RDMA 资源分配失败。
任何非零值都严重! 表示系统内存、HCA(网卡)资源不足。
FRMR Pages/FRMRs:Fast Registration Memory Regions 使用情况。Fast registrations/sec:高频内存注册可能影响 CPU。
3. 连接管理
Inbound/Outbound Connections及其 Max/Pending/Failures:- 高
Pending:连接建立慢。 Failures或Refusals:防火墙、认证、端口(通常 5445/TCP + 445)问题。
- 高
4. 队列与通知
SCQ/RCQ Notifications/sec:发送/接收完成队列事件。Stalls (Send Credit)/Stalls (SQ):发送队列或信用不足导致停顿。
5. 错误
Protocol Errors:SMB over RDMA 协议解析错误。Invalidations/sec:内存区域失效事件(正常会有,但突增需警惕)。
✅ 健康标志:
Allocation Failures = 0,Bytes RDMA Read/Written > 0,Connections stable。
三、SMB Server / SMB Server Shares(服务端视角)
监控 本机作为 SMB 服务器 提供共享服务的性能。
1. 基础吞吐
Read/Write Bytes/sec、Requests/sec:整体负载。Received/Sent Bytes/sec:包含协议头的总流量。
2. 高级功能使用情况
-
持久句柄(Persistent Handles):
% Persistent Handles:支持透明故障转移(如故障集群)。Total Persistent Handle Reopen Count:客户端重连后恢复句柄的成功/失败次数。
失败多 → 网络中断时间过长或服务器未启用持久句柄。
-
弹性句柄(Resilient Handles)(SMB 2.1):
- 类似持久句柄,但无集群要求。
-
绕过 CSV(BypassCSV):
- 在故障转移集群中,直接访问 CSV 卷,避免重定向。
Read/Write Bytes transmitted ByPassCSV/sec高 = 高效路径。
3. 压缩(服务端响应压缩)
Attempted/Successful Compressed Responses/secBytes Compressed/sec
与客户端压缩对称,节省出站带宽。
4. 并发与队列
Current Open File Count:当前打开的文件数。Current Pending Requests:排队中的请求。Avg. Data Queue Length:高值 + 高延迟 = 服务器过载。
5. SMB Direct(服务端)
Read/Write Bytes transmitted via SMB Direct/sec:确认 RDMA 是否被服务端使用。
🛠️ 实用建议
监控场景:
| 场景 | 关注计数器 |
|---|---|
| 高延迟 | Avg. sec/Read, Avg. sec/Write, Credit Stalls/sec |
| 低吞吐 | Avg. Bytes/Read, Turbo I/O Reads/sec, SMB Direct Bytes |
| RDMA 不生效 | Bytes RDMA Read/sec = 0, Allocation Failures > 0 |
| 句柄恢复失败 | Total Failed Persistent Handle Reopen Count |
| 压缩无效 | Attempted 高但 Successful 低 |
工具建议:
- 使用 Performance Monitor (perfmon.exe) 添加上述计数器。
- 结合 Resource Monitor → “Network” 页签查看 SMB 进程流量。
- 高级分析:Windows Performance Recorder (WPR) + Windows Performance Analyzer (WPA),启用
SMB和Microsoft-Windows-SMBClientETW 事件。
Windows 性能监视器 中 SMB(Server Message Block)协议 相关的完整计数器集。SMB 是 Windows 网络文件共享的核心协议。下面我将按照 客户端、服务器、SMB Direct(RDMA) 三个主要维度进行系统化分类和详细解释。
一、核心概念理解
-
SMB 客户端 (
SMB Client Shares):访问共享资源的 Windows 计算机 -
SMB 服务器 (
SMB Server,SMB Server Shares):提供文件共享的服务器(如 Windows Server) -
SMB Direct:基于 RDMA(远程直接内存访问) 的高性能传输技术,绕过内核和 CPU,用于数据中心和高速网络
-
BypassCSV:绕过集群共享卷(Cluster Shared Volumes)的锁机制,直接访问存储
-
句柄类型:
-
持久句柄 (Persistent Handles):连接中断后自动重建(SMB 3.0+)
-
弹性句柄 (Resilient Handles):短时中断后自动恢复(SMB 2.1+)
-
持久句柄 (Durable Handles):类似持久句柄的早期实现
-
二、SMB 客户端计数器 (SMB Client Shares)
2.1 基础吞吐量与性能
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Read Bytes/sec |
每秒从服务器读取的字节数 | 读取吞吐量,衡量客户端读取性能 |
Write Bytes/sec |
每秒写入服务器的字节数 | 写入吞吐量,衡量客户端写入性能 |
Data Bytes/sec |
所有数据操作的字节速率 | 总数据吞吐量(读写总和) |
Read Requests/sec |
每秒读取请求数 | 读取 I/O 频率 |
Write Requests/sec |
每秒写入请求数 | 写入 I/O 频率 |
Data Requests/sec |
每秒所有数据请求数 | 总请求频率 |
Metadata Requests/sec |
每秒元数据请求数 | 文件属性、目录枚举等非数据操作频率 |
2.2 延迟与队列深度
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Avg. sec/Read |
每次读取操作的平均时间(秒) | 读取延迟,直接影响用户体验 |
Avg. sec/Write |
每次写入操作的平均时间(秒) | 写入延迟 |
Avg. sec/Data Request |
每次数据请求的平均时间 | 总体数据操作延迟 |
Avg. Read Queue Length |
读取队列的平均深度 | 排队等待的读取请求数 |
Avg. Write Queue Length |
写入队列的平均深度 | 排队等待的写入请求数 |
Avg. Data Queue Length |
数据队列的平均深度 | 总体排队深度 |
Current Data Queue Length |
当前数据队列深度 | 瞬时排队情况 |
2.3 高级功能与错误
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Credit Stalls/sec |
因信用不足而暂停的次数/秒 | SMB 2.0+ 的流量控制机制,非零值表示客户端可能发送过快 |
Transfer Errors/sec |
传输错误率 | 任何非零值都表示网络或服务器问题 |
Turbo I/O Reads/sec |
Turbo I/O 读取次数/秒 | 大文件连续读取优化 |
Turbo I/O Writes/sec |
Turbo I/O 写入次数/秒 | 大文件连续写入优化 |
2.4 压缩性能
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Attempted Compressed Requests/sec |
尝试压缩的请求数/秒 | 客户端尝试压缩的频率 |
Successful Compressed Requests/sec |
成功压缩的请求数/秒 | 实际压缩成功的比率 |
Compressed Bytes Sent/sec |
压缩后发送的字节数/秒 | 压缩节省的带宽量 |
Compressed Responses/sec |
接收到的压缩响应数/秒 | 服务器返回压缩数据的频率 |
2.5 SMB Direct (RDMA) 客户端侧
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Read Bytes transmitted via SMB Direct/sec |
通过 SMB Direct 传输的读取字节数/秒 | RDMA 读取吞吐量 |
Write Bytes transmitted via SMB Direct/sec |
通过 SMB Direct 传输的写入字节数/秒 | RDMA 写入吞吐量 |
Read Requests transmitted via SMB Direct/sec |
通过 SMB Direct 的读取请求数/秒 | RDMA 读取请求频率 |
三、SMB 服务器计数器 (SMB Server 和 SMB Server Shares)
3.1 服务器基础性能
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Requests/sec |
服务器处理的请求总数/秒 | 服务器总负载 |
Received Bytes/sec |
服务器接收的字节数/秒 | 入站带宽使用 |
Sent Bytes/sec |
服务器发送的字节数/秒 | 出站带宽使用 |
Transferred Bytes/sec |
传输的总字节数/秒 | 总带宽使用 |
Current Pending Requests |
当前挂起的请求数 | 服务器待处理的请求队列 |
Tree Connect Count |
树连接数(共享连接数) | 当前访问共享的客户端连接数 |
3.2 文件操作统计
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Files Opened/sec |
每秒打开的文件数 | 文件访问频率 |
Current Open File Count |
当前打开的文件数 | 服务器内存中的文件句柄数 |
Total File Open Count |
文件打开总次数(累计) | 历史统计 |
Current Bypass Open File Count |
当前通过 BypassCSV 打开的文件数 | CSV 直接访问的活动文件 |
Current Durable Open File Count |
当前持久句柄打开的文件数 | 持久连接的文件数 |
3.3 句柄状态与恢复
| 计数器 | 解释 | 监控意义 |
|---|---|---|
% Persistent Handles |
持久句柄的百分比 | 高百分比表示客户端使用 SMB 3.0 持久性 |
% Resilient Handles |
弹性句柄的百分比 | SMB 2.1+ 弹性连接的比率 |
Total Persistent Handle Reopen Count |
持久句柄重新打开总次数 | 连接中断后恢复的次数 |
Total Failed Persistent Handle Reopen Count |
持久句柄重新打开失败次数 | 恢复失败可能表示存储问题 |
Total Resilient Handle Reopen Count |
弹性句柄重新打开次数 | 短时中断恢复统计 |
Total Durable Handle Reopen Count |
持久句柄重新打开次数(早期版本) | SMB 2.x 的持久性统计 |
3.4 服务器侧 SMB Direct 和 BypassCSV
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Read Bytes transmitted via SMB Direct/sec |
服务器通过 SMB Direct 发送的读取字节数 | 服务器 RDMA 出站流量 |
Write Bytes transmitted via SMB Direct/sec |
服务器通过 SMB Direct 接收的写入字节数 | 服务器 RDMA 入站流量 |
Read Bytes transmitted ByPassCSV/sec |
通过 BypassCSV 读取的字节数 | CSV 直接读取吞吐量 |
Write Bytes transmitted ByPassCSV/sec |
通过 BypassCSV 写入的字节数 | CSV 直接写入吞吐量 |
四、SMB Direct (RDMA) 专用计数器
4.1 连接管理
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Total Connections |
RDMA 连接总数 | 活动的 RDMA 连接数 |
Total Connections (Max) |
最大 RDMA 连接数 | 历史峰值 |
Inbound Connections |
入站 RDMA 连接数 | 客户端发起的连接 |
Outbound Connections |
出站 RDMA 连接数 | 服务器发起的连接 |
Inbound Connection Failures |
入站连接失败数 | RDMA 连接建立问题 |
Outbound Connection Failures |
出站连接失败数 | RDMA 连接建立问题 |
4.2 RDMA 数据传输
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Bytes RDMA Read/sec |
RDMA 读取字节数/秒 | RDMA 读取吞吐量 |
Bytes RDMA Written/sec |
RDMA 写入字节数/秒 | RDMA 写入吞吐量 |
RDMA Reads/sec |
RDMA 读取操作数/秒 | 读取操作频率 |
RDMA Writes/sec |
RDMA 写入操作数/秒 | 写入操作频率 |
Bytes Registered |
注册的字节总数 | RDMA 内存注册量 |
Fast registrations/sec |
快速注册次数/秒 | 内存注册频率 |
4.3 资源分配与错误
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Allocation Failures (xx) |
各种资源分配失败 | MR(内存区域)、QP(队列对)等分配失败 |
Allocation Stalls (xx) |
分配延迟 | 资源分配等待 |
Protocol Errors |
协议错误数 | RDMA 协议错误 |
FRMR Pages |
快速注册内存页数 | 内存使用情况 |
FRMRs |
快速注册内存区域数 | 内存区域数量 |
4.4 队列与信号
| 计数器 | 解释 | 监控意义 |
|---|---|---|
SQ Requests/sec |
发送队列请求数/秒 | RDMA 发送队列负载 |
RCQ Notifications/sec |
接收完成队列通知数/秒 | 接收完成事件频率 |
SCQ Notifications/sec |
发送完成队列通知数/秒 | 发送完成事件频率 |
Sends/sec |
发送操作数/秒 | 常规发送频率 |
Receives/sec |
接收操作数/秒 | 常规接收频率 |
4.5 延迟与瓶颈
| 计数器 | 解释 | 监控意义 |
|---|---|---|
Stalls (Send Credit)/sec |
发送信用不足导致的延迟 | 流控瓶颈 |
Stalls (RDMA Read)/sec |
RDMA 读取延迟 | 读取瓶颈 |
Stalls (SQ)/sec |
发送队列延迟 | 发送队列满 |
SQ Requests/sec (unsignaled) |
无信号发送请求数/秒 | 优化发送,无需确认 |
五、关键监控场景与排查思路
场景1:文件访问缓慢
-
查看延迟:
Avg. sec/Read,Avg. sec/Write -
检查队列:
Avg. Data Queue Length,Current Data Queue Length -
查看吞吐:
Read Bytes/sec,Write Bytes/sec -
检查错误:传输错误(如果有)
场景2:SMB Direct (RDMA) 性能问题
-
确认使用:
Bytes RDMA Read/sec> 0 表示在使用 -
检查瓶颈:
Stalls (Send Credit)/sec,Stalls (RDMA Read)/sec -
查看连接:
Total Connections,Inbound Connection Failures -
资源检查:
Allocation Failures系列计数器
场景3:高可用性和恢复能力
-
句柄状态:
% Persistent Handles,% Resilient Handles -
恢复统计:
Total Persistent Handle Reopen Count -
失败情况:
Total Failed Persistent Handle Reopen Count
场景4:压缩效率
-
压缩尝试:
Attempted Compressed Requests/sec -
压缩成功:
Successful Compressed Requests/sec -
节省带宽:比较
Compressed Bytes Sent/sec与原始带宽
场景5:服务器负载分析
-
总负载:
Requests/sec -
连接数:
Tree Connect Count -
打开文件:
Current Open File Count -
队列深度:
Current Pending Requests
六、最佳实践建议
-
基线建立:在正常运行时记录各计数器的基准值
-
阈值设置:
-
延迟 (
Avg. sec/Read) > 50ms 需要关注 -
队列深度 (
Current Data Queue Length) > 5 可能有瓶颈 -
错误计数器应始终为 0
-
-
关联分析:
-
网络计数器 + SMB 计数器
-
磁盘计数器 + SMB 计数器
-
CPU 使用率 + SMB 请求率
-
-
SMB Direct 专用监控:
-
监控
Allocation Failures防止资源耗尽 -
确保
Protocol Errors为 0 -
关注
Stalls计数器识别瓶颈
-
这些 SMB 计数器提供了从基础文件操作到高级 RDMA 传输的完整可观测性栈:
-
基础层:读写吞吐量、延迟、队列深度
-
协议层:信用控制、压缩、元数据操作
-
高可用层:持久/弹性句柄、恢复统计
-
高级传输层:SMB Direct (RDMA) 连接、内存注册、RDMA 操作
-
集群优化层:BypassCSV 计数器
在实际监控中,应根据具体场景(普通文件共享 vs. Hyper-V 实时迁移 vs. SQL Server over SMB)选择关键计数器。对于大多数文件服务器,关注 延迟、吞吐量 和 错误 三大类计数器即可;对于高性能计算或存储空间直通 (Storage Spaces Direct) 环境,则需要深入监控 SMB Direct 相关计数器。




SMB 3.1.1 是 SMB 协议的一个更新版本,主要用于提高文件共享和网络通信的安全性,广泛应用于 Windows 10 和 Windows Server 2016 及更高版本。尽管 SMB 3.1.1 提供了更强的加密功能和安全性,但它仍然受到某些漏洞的威胁。以下是一些与 SMB 3.1.1 相关的漏洞:
CVE-2025-33073|Windows SMB 权限提升漏洞
7. CVE-2022-30190 (Follina)
- 描述:这是一个影响 Microsoft Office 和相关组件的漏洞,但通过 SMB 协议的集成,攻击者能够利用它通过共享文件传播恶意代码。
- 影响范围:Windows 10、Windows 11、Windows Server 系列。
- 攻击方式:攻击者构造一个包含恶意代码的文件,用户通过 SMB 共享接收到该文件时,恶意代码可以自动执行,导致远程代码执行。
- 解决方法:立即更新 Office 或相关组件,并确保操作系统安装了最新的安全补丁。
8. CVE-2022-26925 (SMBv3 信息泄露漏洞)
- 描述:该漏洞允许攻击者通过 SMBv3 协议泄露内存中的敏感信息,可能导致敏感数据被窃取。
- 影响范围:Windows 10(版本 20H2 和 21H1),Windows Server 2016、2019 和 2022。
- 攻击方式:攻击者通过发起特定的 SMBv3 请求,获得目标计算机内存中的敏感信息。
- 解决方法:微软已发布补丁更新,用户应立即安装这些更新来防范此类攻击。
9. CVE-2022-22047 (SMBv3 DoS 漏洞)
- 描述:该漏洞使得攻击者能够通过发送特制的 SMB 请求,导致目标计算机崩溃或拒绝服务(DoS)。
- 影响范围:Windows 10 和 Windows Server 2016/2019/2022。
- 攻击方式:攻击者通过构造特定的 SMBv3 数据包,使目标系统资源耗尽或发生崩溃。
- 解决方法:安装微软发布的安全补丁,以防止攻击者利用此漏洞。
10. CVE-2023-28262 (SMBv3 加密漏洞)
- 描述:该漏洞影响了 SMBv3 的加密机制,攻击者可以通过此漏洞实现解密,获取传输中的敏感信息。
- 影响范围:Windows 11、Windows Server 2022 和之前版本。
- 攻击方式:通过特定的 SMB 请求,攻击者能够解密加密的文件或数据流,从而窃取敏感信息。
- 解决方法:安装相关的安全更新并增强文件传输加密的安全措施。
1. CVE-2017-0144 (EternalBlue) - 对 SMBv1 和 SMBv3 的影响
- 描述:这个漏洞最初影响 SMBv1,但也影响了 SMB 3.1.1 的早期版本。攻击者利用该漏洞可以通过远程执行代码来完全控制目标系统。
- 影响范围:Windows 7、Windows 8.1、Windows 10 和 Windows Server。
- 攻击方式:攻击者发送特制的 SMB 请求,触发远程代码执行,可能导致系统崩溃或被完全控制。
- 解决方法:安装 Microsoft 的安全更新,并禁用 SMBv1 协议。
2. CVE-2020-0796 (SMBGhost)
- 描述:SMBGhost 是一个影响 SMB 3.1.1 的严重漏洞,攻击者可以通过该漏洞在目标计算机上执行远程代码。该漏洞特别影响启用了 SMBv3 压缩功能的系统。
- 影响范围:Windows 10 和 Windows Server 2019。
- 攻击方式:攻击者通过精心构造的 SMB 请求触发远程代码执行,甚至可以完全控制目标计算机。
- 解决方法:微软发布了修复补丁,可以通过更新系统来解决这个问题。如果不打补丁,可以禁用 SMBv3 的压缩功能。
3. CVE-2019-0708 (BlueKeep)
- 描述:虽然这个漏洞主要影响 RDP(远程桌面协议),但它通过与 SMB 协议的集成影响了基于 SMB 3.1.1 的系统。攻击者通过利用该漏洞可以在没有身份验证的情况下执行远程代码。
- 影响范围:Windows 7、Windows Server 2008 R2 等老旧版本,以及一些支持 SMB 的现代系统。
- 攻击方式:攻击者通过构造特制的 RDP 请求,远程执行代码。
- 解决方法:微软发布了相应的安全补丁,强烈建议用户立即更新。
4. CVE-2021-1678 (SMBv3 DoS)
- 描述:该漏洞可能导致拒绝服务(DoS)攻击,攻击者利用这个漏洞可以通过发送恶意的 SMBv3 请求导致目标计算机崩溃。
- 影响范围:Windows 10 和 Windows Server 2016/2019。
- 攻击方式:攻击者通过精心设计的 SMBv3 请求使得目标计算机无法响应正常请求,导致服务中断。
- 解决方法:安装微软的补丁更新。
5. CVE-2020-1472 (Zerologon)
- 描述:虽然 Zerologon 漏洞主要影响 Netlogon 协议,但它也可以通过 SMB 协议进行攻击。攻击者可以利用该漏洞绕过身份验证,进一步影响网络中的其他系统。
- 影响范围:Windows Server 2008 R2、2012、2016 和 2019。
- 攻击方式:攻击者可以在不提供有效凭据的情况下,控制域控制器并进行进一步的攻击。
- 解决方法:更新操作系统和域控制器补丁,使用最新的网络安全防护机制。
6. CVE-2021-36942 (SMBv3 信息泄露漏洞)
- 描述:该漏洞允许攻击者通过利用 SMBv3 的一个设计缺陷,泄露某些信息。
- 影响范围:影响 Windows 10 和 Windows Server 系列。
- 攻击方式:攻击者能够在不完全认证的情况下,获取敏感信息。
- 解决方法:安装相应的微软安全补丁,确保系统的安全性。
对于SMB(Server Message Block)协议1.0的漏洞,主要存在一些安全问题,这些问题可能会导致安全性风险。以下是一些常见的SMB 1.0协议的安全漏洞或问题:
-
SMB 1.0的安全性问题:SMB 1.0协议存在多个安全性问题,包括但不限于缓冲区溢出、拒绝服务攻击、信息泄露等。
-
WannaCry勒索软件攻击:2017年的WannaCry勒索软件利用了Windows操作系统中SMB 1.0协议的一个漏洞(命名为EternalBlue),通过此漏洞可以实现远程执行代码,并传播勒索软件。
-
Badlock漏洞:2016年发布的Badlock漏洞(CVE-2016-2118)涉及到SMB协议的几个实现(包括Samba),影响了许多系统,允许攻击者进行中间人攻击或信息泄露。
-
NULL会话攻击:SMB 1.0中的NULL会话(空会话)漏洞可以被攻击者利用,通过未经授权的访问获取系统的敏感信息。
-
SMB1远程代码执行漏洞:还有其他一些与SMB 1.0相关的漏洞,例如远程代码执行漏洞,可能允许攻击者远程执行恶意代码。
-
中间人攻击和信息泄漏:SMB 1.0协议在某些情况下可能容易受到中间人攻击的影响,导致敏感信息泄漏。这种攻击可以通过劫持SMB会话来获取或篡改传输的数据。
-
不安全的认证机制:SMB 1.0的认证机制相对较弱,容易受到密码嗅探和暴力破解攻击的影响。这可能导致未经授权的用户获取对共享资源的访问权限。
-
传输加密缺失:SMB 1.0在默认配置下可能没有数据传输加密,这使得传输的数据包容易被窃听和篡改。特别是在公共网络中,这种情况增加了数据泄露的风险。
-
未经授权的访问:由于SMB 1.0协议的一些实现可能存在配置错误或默认设置不安全的问题,攻击者可以利用这些漏洞进行未经授权的访问,并获取系统内的敏感信息或执行未授权操作。
-
操作系统和服务的支持限制:随着时间的推移,越来越多的操作系统和服务提供商停止对SMB 1.0的支持。这意味着使用SMB 1.0可能会限制到更老旧的软件和系统版本,这些版本通常存在更多已知的安全漏洞和风险。
-
安全性配置建议:如果环境中仍然需要使用SMB 1.0协议,强烈建议对其进行严格的安全性配置,包括但不限于限制访问、实施强密码策略、启用加密传输以及定期审计和监控SMB流量。
-
遗留系统和应用支持:某些遗留系统或应用程序可能仍然依赖于SMB 1.0协议,因此在升级或禁用之前,需要确保这些系统或应用能够平稳地迁移到更安全的替代方案或协议。
-
行业合规性要求:在某些行业中,可能会有特定的合规性要求或标准,规定必须使用安全性较高的网络协议和措施。这些要求可能涉及禁用SMB 1.0以符合安全标准。
-
-
随着信息安全意识的提升和攻击手法的不断演变,SMB 1.0协议的安全性问题日益凸显。组织和管理员应该采取积极的措施,及时升级或禁用SMB 1.0,以降低因此带来的安全风险,并确保网络和数据的安全性和完整性。
关于SMB 2.0协议的漏洞,需要注意的几个重要问题包括:
-
SMB 2.0的安全性提升:相较于SMB 1.0,SMB 2.0和后续版本引入了许多安全改进,如消息签名、加密传输等,显著提升了协议的安全性。但是,即使有这些改进,SMB 2.0也并非完全没有漏洞。
-
漏洞类型和影响:过去SMB 2.0和SMB 3.x版本曾经发现过一些漏洞,例如中间人攻击、拒绝服务(DoS)攻击等。这些漏洞可能会影响到协议的安全性和稳定性,使得攻击者有机可乘。
-
漏洞修复和安全更新:Microsoft和其他供应商通常会定期发布更新来修复SMB协议的漏洞。因此,对于管理员来说,保持及时更新操作系统和相关安全补丁至关重要,以减少已知漏洞对系统的影响。
-
最佳实践和安全配置:即使协议本身可能存在漏洞,通过实施安全配置和最佳实践,如启用认证、加密传输、访问控制等措施,可以显著减少SMB协议被利用的风险。
-
监控和响应:在现代网络环境中,不仅仅要依赖于预防措施,还应该实施有效的监控和响应策略,及时检测并应对潜在的攻击行为和异常活动。
虽然SMB 2.0相对于SMB 1.0有了显著的安全改进,但管理员仍然需要注意并采取适当的安全措施来应对潜在的安全威胁和漏洞。
SMB 2.0协议的漏洞,一些已知的问题和安全漏洞包括:
-
中间人攻击:在传输过程中,未加密的SMB 2.0流量容易受到中间人攻击的威胁,攻击者可以截取和篡改通信数据。
-
拒绝服务攻击(DoS):攻击者可能利用特定的SMB 2.0请求或响应来导致服务拒绝,使服务器无法响应合法用户的请求。
-
缓冲区溢出:SMB 2.0实现中可能存在缓冲区溢出漏洞,攻击者通过精心构造的恶意请求可以触发这些漏洞,执行恶意代码或者导致服务崩溃。
-
信息泄露:某些情况下,SMB 2.0可能会泄露敏感信息,例如文件路径、用户名等,这可能会被攻击者利用来进一步攻击系统或者进行其他恶意活动。
-
未经身份验证的访问:在某些情况下,配置不当或者错误的权限设置可能导致未经授权的用户能够访问SMB 2.0共享的内容,这可能会导致信息泄露或者数据损坏。
这些问题强调了在配置和使用SMB 2.0时需要注意的安全问题。为了减少这些潜在的漏洞带来的风险,管理员应该始终保持系统更新,并且配置SMB 2.0以使用最佳的安全实践,如启用消息签名、加密传输、合适的访问控制等。
SMB 3.0(Server Message Block version 3.0)是一个用于文件共享、打印服务以及作为在应用程序间通信的协议。然而,SMB 3.0协议在处理某些操作时可能存在安全漏洞,这些漏洞可能被攻击者利用以执行未授权操作。其中,较为著名的SMB 3.0漏洞是CVE-2020-0796,以下是关于该漏洞的详细信息:
CVE-2020-0796漏洞
1. 漏洞概述
- 发布时间:2020年3月10日,微软官方发布了针对该漏洞的安全通告。
- 漏洞类型:远程代码执行漏洞。
- 影响范围:主要影响Windows 10的1903和1909版本,以及Windows Server的1903和1909版本(Server Core安装)。
- 漏洞原理:该漏洞允许未经身份验证的攻击者通过向受影响的SMBv3服务器发送特制的压缩数据包来执行任意代码。攻击者还可以通过配置恶意SMBv3服务器并诱导用户连接来攻击客户端。
2. 漏洞影响
- 该漏洞的严重程度被标记为Critical(关键),其后果与“永恒之蓝”类似,存在被蠕虫化利用的可能性,如制作类似于WannaCry的蠕虫病毒进行大规模传播和破坏。
- 由于受影响的Windows 10版本较为常见,因此潜在威胁较大。
3. 缓解措施
- 禁用SMBv3压缩功能:微软官方建议通过PowerShell命令禁用SMBv3的压缩功能,以阻止攻击者利用该漏洞。具体命令为:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force。 - 安装安全补丁:微软发布了针对该漏洞的安全补丁(如KB4551762),用户应及时更新系统以安装补丁。
- 封堵相关端口:若无业务必要,可在网络安全域边界防火墙封堵文件打印和共享端口(TCP 135/139/445)。
其他SMB 3.0漏洞
除了CVE-2020-0796之外,SMB 3.0协议还可能存在其他未公开的漏洞或已知但影响较小的漏洞。这些漏洞的具体信息和缓解措施可能会随着微软的安全更新而不断变化。
SMB 3.0漏洞,特别是CVE-2020-0796,对用户的信息安全构成了严重威胁。用户应密切关注微软的安全通告,及时更新系统以安装补丁,并采取必要的缓解措施来保护自己的网络安全。同时,也应注意防范其他可能存在的SMB 3.0漏洞。
SMB over QUIC(Server Message Block over QUIC)是Windows Server中的一个相对较新的功能,它使用QUIC(Quick UDP Internet Connections)协议作为SMB(Server Message Block)协议的传输层。SMB over QUIC旨在提供更安全、更可靠的文件共享和打印服务。然而,像其他任何技术一样,SMB over QUIC也可能存在安全漏洞。
SMB over QUIC 的已知漏洞
目前,关于SMB over QUIC的特定漏洞,最为显著的是CVE-2023-24898,该漏洞由Akamai的研究人员发现,并报告给了Microsoft。
CVE-2023-24898
1. 漏洞概述
- 发现时间:由Akamai的研究人员Ben Barnea在2023年发现。
- 影响版本:主要影响Windows Server 2022 Azure Edition中启用了SMB over QUIC功能的系统。
- 漏洞类型:远程服务拒绝(DoS)漏洞。
- 漏洞原理:该漏洞源于srvnet.sys驱动程序的缓冲区分配中缺少必要的检查。攻击者可以通过发送特制的SMB over QUIC数据包,绕过最大允许大小的验证,并请求异常大的内存分配,从而导致服务器内存耗尽,最终引发服务拒绝攻击。
2. 漏洞影响
- 仅有使用SMB over QUIC的服务器存在此漏洞。
- 攻击者无需身份验证即可通过互联网触发此漏洞。
- 漏洞的利用受到服务器可用内存量的限制,通常在内存不超过32GB的服务器上更容易被利用。
3. 缓解措施
- 安装补丁:Microsoft已在2023年5月的“Patch Tuesday”中发布了针对此漏洞的安全补丁。用户应尽快为受影响的系统安装补丁。
- 关闭SMB over QUIC功能:作为临时缓解措施,如果不需要SMB over QUIC功能,可以考虑关闭它。但请注意,这将影响使用SMB over QUIC的文件共享和打印服务。
其他潜在漏洞
虽然目前关于SMB over QUIC的已知漏洞主要集中在CVE-2023-24898上,但随着技术的不断发展和应用范围的扩大,未来可能会出现新的漏洞。因此,用户应密切关注Microsoft和其他安全机构发布的安全通告和更新。
SMB over QUIC作为一种新兴的技术,在提高文件共享和打印服务的性能和安全性方面具有重要意义。然而,与任何新技术一样,它也存在潜在的安全风险。用户应通过安装补丁、关闭不必要的功能以及密切关注安全通告等方式来降低安全风险。
在 Windows 中,SMB(Server Message Block) 协议经历了多个版本的演变,用于网络共享文件和打印服务。以下是 SMB1.0、SMB2.0、SMB3.0 和 SMB over QUIC 的发展时间线:
1. SMB 1.0 (Windows NT 4.0及以前的版本) - 初步的网络文件共享协议
- SMB 1.0 起源于上世纪 1980 年代,由 IBM 开发,并且被 Microsoft 集成到其 Windows 操作系统中。
- 最初版本的 SMB 1.0 主要用于文件共享、打印共享以及与其他设备之间的通信,但其效率和安全性在现代环境中较为落后。
- 在 Windows NT 4.0 和 Windows 95 中,SMB 1.0 被用作默认的文件共享协议,但此时的协议效率较低,且缺乏加密和现代安全功能。
- 缺点: SMB1 由于其安全性差(如无加密和弱身份验证),容易受到 勒索病毒 等攻击(例如 WannaCry)。因此,微软建议禁用 SMB1。
2. SMB 2.0 (Windows Vista 和 Windows Server 2008) - 大幅改进的协议
- SMB 2.0 于 Windows Vista 和 Windows Server 2008 中首次推出,旨在解决 SMB1.0 的性能问题和限制。
- 关键改进:
- 大幅降低了协议的开销和延迟,改进了文件共享的性能。
- 引入了管道、请求合并和更大的缓冲区,提高了并发文件操作的效率。
- 支持更强的文件锁定机制和持久连接,改进了连接的稳定性。
- 支持更高的带宽和更高效的通信方式: 支持更大的数据包、减少了协议头的大小。
- 在 Windows 7 和 Windows Server 2008 R2 中,SMB 2.0 的进一步优化增加了更多特性,但依旧存在一些安全问题,特别是在企业环境中。
3. SMB 3.0 (Windows 8 和 Windows Server 2012) - 进一步提升安全性和性能
- SMB 3.0 于 Windows 8 和 Windows Server 2012 中推出。该版本为 SMB 协议带来了重要的性能和安全增强,特别是在企业级应用中。
- 关键改进:
- 加密: 引入了端到端的加密机制,保护数据在传输过程中的机密性。
- 完整性验证: 加入了数据完整性验证,确保传输的数据没有被篡改。
- 多通道(Multichannel): 支持在多个网络接口上并行传输数据,提高了网络带宽和故障恢复能力。
- 持久句柄(Persistent Handles): 改进了文件共享的稳定性,允许在网络断开后恢复会话,适用于虚拟化环境。
- 虚拟化优化: 支持对虚拟机文件的优化访问,减少虚拟机在跨网络迁移时的性能损失。
- 在 Windows 10 和 Windows Server 2016 中,SMB 3.0 继续得到增强,尤其在存储、虚拟化和大规模文件共享方面。
4. SMB 3.1.1 (Windows 10 和 Windows Server 2016) - 强化的安全性和认证
- SMB 3.1.1 引入了更强的加密算法,进一步提升了协议的安全性。
- 关键改进:
- 更强的加密: 引入了 AES-128 加密算法,取代了之前的加密方式,提供更高的安全性。
- 安全认证: 加强了 NTLMv2 和 Kerberos 的身份验证,减少了协议的潜在安全漏洞。
- 预防中间人攻击(Man-in-the-Middle Attacks): 对 SMB 连接进行了加固,防止攻击者在传输过程中篡改数据。
- 在 Windows Server 2016 中,SMB 3.1.1 成为默认协议,尤其适用于需要高安全性和高性能的企业环境。
5. SMB over QUIC (Windows 11 和 Windows Server 2022) - 通过 QUIC 协议增强 SMB 的远程访问能力
- SMB over QUIC 是在 Windows Server 2022 和 Windows 11 中引入的新特性,旨在通过 QUIC 协议实现更加安全和灵活的远程文件共享。
- 关键改进:
- QUIC 协议: 使用 QUIC 代替传统的 TCP 连接,使 SMB 协议能够在不依赖 VPN 的情况下安全地通过互联网进行通信。QUIC 是一种基于 UDP 的传输协议,提供更低延迟、更快的连接建立和更强的抗干扰能力。
- 增强的远程访问: SMB over QUIC 使得远程用户可以在没有 VPN 的情况下,安全地访问企业内部的文件共享服务,尤其在云计算和混合云环境中大有帮助。
- 安全性: QUIC 本身具有强大的加密功能,可以进一步增强 SMB 协议的安全性,保护数据的完整性和机密性。
- SMB 1.0 最初推出时是一个基础的文件共享协议,但其安全性和性能问题使得它在现代操作系统中逐渐被淘汰。
- SMB 2.0 在 Windows Vista 和 Windows Server 2008 中引入了显著的性能和功能改进。
- SMB 3.0 在 Windows 8 和 Windows Server 2012 中进一步提升了安全性、性能和企业级功能,成为现代操作系统的主要文件共享协议。
- SMB 3.1.1 在 Windows 10 和 Windows Server 2016 中增强了加密和认证能力,提供更强的安全保障。
- SMB over QUIC 是最新的版本,它通过 QUIC 协议优化了远程访问能力,特别适合现代的云计算和混合环境。
这些版本的不断演化使得 SMB 协议能够满足不断变化的网络环境的需求,尤其是在企业、虚拟化和远程工作领域。
在SMB 1.0中,数据传输速度的上限受到多种因素的制约,例如网络带宽、硬件配置、文件大小和数量等等。通常情况下,SMB 1.0的最大传输速度约为100 Mbps(每秒传输1亿位),这主要取决于以太网硬件的限制。但需要注意的是,由于SMB 1.0已经过时,并存在安全漏洞,因此不建议使用它进行数据传输。如果你需要进行文件共享或数据传输,建议升级到更高版本的SMB协议。
SMB 2.0及以上的版本在吞吐量和性能方面都有了显著的改进。根据Microsoft的官方文档,SMB 2.0的理论最大速度约为2 Gbps(每秒传输2亿位),而SMB 3.0甚至可以达到10 Gbps的传输速度。当然,实际的速度还是会受到一些因素的影响,例如网络拥塞、负载均衡、硬盘IO、CPU使用率等等。
各版本的 SMB 协议最大传输速度的表格。请注意,最大传输速度不仅取决于协议本身,还与网络硬件(如网络适配器、带宽、延迟等)和系统配置等因素有关。以下数据基于协议标准和常见的实现方式:
| SMB 协议版本 | 最大传输速度 | 描述 |
|---|---|---|
| SMB 1.0 | 100 Mbps (理论) | 在 Windows NT 4.0 和 Windows 95 中使用。性能较低,速度受限。 |
| SMB 2.0 | 1 Gbps (理论) | 在 Windows Vista 和 Windows Server 2008 中推出,提升了性能,支持更大带宽。 |
| SMB 3.0 | 10 Gbps 以上 (理论) | 在 Windows 8 和 Windows Server 2012 中引入,支持多通道和更高带宽。 |
| SMB 3.1.1 | 10 Gbps 以上 (理论) | 在 Windows 10 和 Windows Server 2016 中引入,提供更强的加密和认证。 |
| SMB over QUIC | 1 Gbps - 10 Gbps (理论) | 在 Windows Server 2022 和 Windows 11 中引入,依赖 QUIC 协议的性能,适合远程访问。 |
解释:
- SMB 1.0:由于早期的协议设计和网络带宽的限制,其性能和最大传输速度较低。理论上,最大传输速度通常受限于 100 Mbps。
- SMB 2.0:引入了多项性能改进,如减少协议开销、优化数据传输机制,因此最大传输速度提升至 1 Gbps,并支持更高带宽的网络连接。
- SMB 3.0:通过引入多通道、加密、数据完整性等功能,能够支持更高的网络带宽,通常可达到 10 Gbps 及以上,并适应更现代的网络环境。
- SMB 3.1.1:进一步加强了加密和安全性,支持企业级环境中的高带宽和快速文件传输。
- SMB over QUIC:借助 QUIC 协议,理论上能达到 1 Gbps - 10 Gbps 的速度,适用于低延迟和跨越公共网络的远程访问,尤其适合需要高度安全性的远程工作环境。
请注意,实际的传输速度会受到网络硬件、延迟、加密级别等因素的影响。
SMB(Server Message Block)是一种用于在计算机之间共享文件、打印机和其他资源的网络协议。随着时间的推移,SMB协议也经历了多次更新和改进。以下是SMB 1.0、SMB 2.0和SMB 3.0之间的主要区别和更新:
-
SMB 1.0:是最早的SMB版本,最初由IBM开发。它使用广泛,但安全性较差,存在多个漏洞,这些漏洞可以被黑客用来进行攻击。因此,建议不要使用SMB 1.0。
-
SMB 2.0:是SMB协议的重大更新,增加了许多新特性和改进,包括更快的性能、更好的可扩展性、更好的容错性、加密支持等等。SMB 2.0还引入了一种新的状态量度方法,称为Compound TCP(CTCP),以自适应地调整网络速度,从而优化传输性能。
-
SMB 3.0:进一步扩展和改进了SMB 2.0的特性,提供了更高的性能和更好的安全性。其中最显著的变化是引入了SMB Direct协议,这是一种使用远程直接内存访问(RDMA)技术实现的高性能数据传输方式,可以直接在内存中传输数据,避免了网络协议和操作系统的开销。
SMB 2.0和SMB 3.0的主要改进在于性能、可靠性和安全性方面。这两个版本相比SMB 1.0有更好的支持大文件传输和高带宽网络的能力。同时,SMB 3.0提供了更强大的加密、认证和授权功能,以保护数据的安全性。如果可能,建议使用更新的SMB版本。
SMB 3.0(Server Message Block 3.0)是Microsoft在Windows 8和Windows Server 2012中引入的一个协议版本,相比之前的版本,它提供了许多性能提升和安全增强。下面是SMB 3.0的一些关键软件规格和特性:
1. 增强的安全性
- 加密:SMB 3.0支持端到端加密,这意味着所有通过SMB传输的文件和数据都会被加密,防止在网络上传输过程中数据被窃听或篡改。加密可以是透明的,且不需要修改应用程序。
- 签名:SMB 3.0加强了数据的完整性,提供了更强的数据签名机制,确保数据在传输过程中的完整性,防止恶意篡改。
- 多重身份验证:在SMB 3.0中引入了更强的身份验证机制,支持Kerberos认证和基于Windows安全模型的其他身份验证方式。
2. 性能提升
- 压缩:SMB 3.0支持传输前数据的压缩功能,尤其在传输大量小文件时,能够显著提高网络带宽的利用率和传输速度。
- 多通道(Multichannel):SMB 3.0支持多通道功能,允许在多个网络接口之间并行传输数据,利用多条网络路径来增加带宽和提高可靠性。这对于高带宽环境(如企业数据中心)非常有用。
- 异步写入:增强了对异步写入的支持,可以提高磁盘操作的效率,尤其是在高负载的情况下。
3. 高可用性和容错
- 故障转移(Failover):SMB 3.0增强了对高可用性集群的支持,能够在发生网络或服务器故障时自动切换到备份服务器,从而确保文件共享服务不间断。
- 多路径 I/O(Multipath I/O,MPIO):通过使用多个路径访问存储设备,SMB 3.0能够提供更高的可用性和容错性,避免单点故障。
4. 共享文件和文件夹的改进
- SMB Direct(RDMA):SMB 3.0支持远程直接内存访问(RDMA),使得在支持RDMA的硬件环境下,文件传输更加高效,减少CPU的负载,特别适用于大规模的数据中心环境。
- 透明故障转移:当网络或存储路径发生故障时,SMB 3.0能够透明地切换到备用路径,而无需中断客户端访问。
- 更高效的目录服务:SMB 3.0增强了目录服务和搜索功能,支持更加高效的文件和文件夹索引,提升了大规模文件共享环境中的搜索速度。
5. 支持虚拟化和云计算
- 虚拟机迁移:在虚拟化环境中,SMB 3.0提供了虚拟机迁移功能,使得虚拟机的存储可以在不同主机之间迁移,而不会中断服务。
- 云集成:SMB 3.0为云存储的集成提供了支持,企业可以通过SMB协议将本地存储与云存储连接起来,实现更灵活的混合云存储解决方案。
6. 其他功能
- 回写支持(Tiered Storage):SMB 3.0支持多级存储,可以自动将数据移动到更适合的存储介质上,优化存储成本和性能。
- 共享文件的高速缓存:SMB 3.0支持本地缓存文件的快速访问,即使网络连接不稳定,客户端也能快速访问缓存的数据。
- 支持多种操作系统:尽管SMB 3.0是由Windows操作系统开发并主要在Windows平台上使用,但它也支持Linux、macOS等操作系统,可以通过相应的SMB客户端进行跨平台访问。
SMB 3.0在Windows中的实现
- Windows 8及Windows Server 2012及以上版本:SMB 3.0作为Windows 8和Windows Server 2012的默认文件共享协议,支持大多数企业网络环境中的需求。
- Windows 7/Server 2008 R2兼容性:对于旧版本的Windows(如Windows 7/Server 2008 R2),微软提供了更新以支持SMB 3.0的基本功能,但不包括所有高级特性(如多通道和压缩等)。
SMB 3.0与后续版本
- SMB 3.0为SMB协议奠定了坚实的基础,后续版本(如SMB 3.1.1)在此基础上增加了更多的安全性和性能改进。例如,SMB 3.1.1进一步强化了加密和身份验证功能,提供了更高的安全性。
SMB 3.0是一个功能强大的协议版本,提供了增强的安全性、性能优化、以及更高的可靠性,适合用于大规模企业环境中,特别是需要高可用性、大带宽、高效文件共享的场景。通过多通道支持、压缩、加密、故障转移等功能,SMB 3.0能够显著提升文件共享和存储访问的效率和安全性。
SMB 1.0、2.0、3.0、3.1.1 以及 SMB over QUIC 的差异表格化:
| 特性 | SMB 1.0 | SMB 2.0 | SMB 3.0 | SMB 3.1.1 | SMB over QUIC |
|---|---|---|---|---|---|
| 首次发布 | 1992年 (Windows for Workgroups) | 2006年 (Windows Vista) | 2012年 (Windows 8) | 2015年 (Windows 10) | 2021年 (Windows Server 2022) |
| 协议版本 | 1.0 | 2.0 | 3.0 | 3.1.1 | 3.0 (基于 QUIC 协议) |
| 性能优化 | 无优化,速度较慢 | 支持大文件传输,减少延迟 | 支持多通道、高效的带宽利用 | 增强加密、提高安全性 | 使用 QUIC 协议增强性能 |
| 支持的加密 | 不支持 | 不支持 | 支持加密(AES-128) | 更强的加密(AES-128 GCM) | 支持 TLS 1.3 加密 |
| 多通道支持 | 不支持 | 不支持 | 支持多通道(更高带宽) | 支持多通道 | 支持多通道 |
| 数据完整性验证 | 不支持 | 不支持 | 支持数据完整性验证 | 强化的数据完整性验证 | 支持数据完整性验证 |
| 压缩支持 | 不支持 | 不支持 | 支持数据压缩 | 增强的压缩支持 | 支持文件压缩 |
| 适用环境 | 早期 Windows 系统 (Windows 95/98/NT) | Windows Vista 及以上系统 | Windows 8 及以上系统 | Windows 10 及以上系统 | 适合远程访问与跨网络连接 |
| 典型使用场景 | 本地网络共享、文件访问 | 本地网络共享、文件访问 | 本地网络共享、企业文件服务 | 安全的企业文件传输 | 远程文件传输、跨地域共享 |
| 最大理论带宽 | 100 Mbps | 1 Gbps | 10 Gbps 及以上 | 10 Gbps 及以上 | 1 Gbps - 10 Gbps |
| 安全性 | 较低,容易受到攻击 | 改善了安全性 | 高安全性(加密、身份验证) | 更强的安全性(强化加密) | 高安全性(TLS 1.3 加密) |
| 远程访问支持 | 不支持 | 不支持 | 支持 SMB Direct (RDMA) | 支持 SMB Direct, 加强加密 | 完全支持远程访问 (基于 QUIC) |
| 操作系统支持 | Windows NT 4.0、Windows 95等 | Windows Vista及以上 | Windows 8及以上 | Windows 10及以上 | Windows Server 2022及Windows 11 |
| 重要特点 | 最早的 SMB 协议,功能简陋 | 增加了效率和性能优化 | 引入多通道、加密等高级特性 | 提升加密、安全性增强 | 跨网络/远程访问的安全传输 |
关键差异:
- 性能与效率:SMB 2.0 引入了许多性能优化,较 SMB 1.0 提升了数据传输效率;SMB 3.0 进一步改进了带宽利用,支持多通道传输;SMB 3.1.1 则在安全性上做出了改进,提升了加密强度。
- 安全性:随着版本的迭代,SMB 协议逐步加强了对加密、数据完整性验证和认证的支持。SMB 3.1.1 提供了更强的加密方式和安全性。
- 远程访问:SMB over QUIC 通过 QUIC 协议支持高效的远程访问,并且能够提供比传统 SMB 更低的延迟和更好的安全性。
- 支持的操作系统:SMB 1.0 和 2.0 支持较老的 Windows 操作系统,而 SMB 3.x 版本主要用于较新的系统,SMB over QUIC 是为了现代远程访问需求而设计。
这些差异反映了 SMB 协议在性能、安全性、跨平台能力以及远程访问支持等方面的不断进步。
SMB 1.0、2.0和3.0的主要差异对比表格:
| 特性 | SMB 1.0 | SMB 2.0 | SMB 3.0 |
|---|---|---|---|
| 引入版本 | Windows 95 / Windows NT 4.0 | Windows Vista / Windows Server 2008 | Windows 8 / Windows Server 2012 |
| 发布年代 | 1996年 | 2006年 | 2012年 |
| 协议版本号 | 1.0 | 2.0 | 3.0 |
| 性能 | 性能较低,较慢 | 性能有显著提升,减少了协议开销 | 进一步提升,支持多通道和压缩功能 |
| 加密 | 不支持加密 | 不支持加密 | 支持端到端加密 |
| 数据签名 | 不支持自动签名 | 支持可选的数据签名 | 强制签名,增强数据完整性 |
| 连接稳定性 | 不稳定,容易受到网络延迟影响 | 提供了更稳定的连接 | 提供更高的稳定性,支持自动故障转移 |
| 支持的功能 | 基本文件共享功能,有限的网络性能优化 | 支持符号链接、目录监控、批量请求等新功能 | 支持多通道、压缩、透明故障转移等高级功能 |
| 网络带宽利用 | 低效,存在较大的协议开销 | 改进了协议,减少了网络带宽占用 | 更高效,支持多路径I/O与压缩提高带宽利用 |
| 多通道 | 不支持 | 不支持 | 支持多通道,利用多个网络路径提高带宽 |
| 虚拟化支持 | 无支持 | 基本支持虚拟化 | 强化支持,支持虚拟机迁移等功能 |
| 回写支持 | 不支持 | 不支持 | 支持多级存储回写功能 |
| 操作系统支持 | 支持较旧的操作系统,如Windows 95、XP等 | 支持Windows Vista及更高版本 | 支持Windows 8、Windows Server 2012及更高版本 |
| 兼容性 | 与早期Windows版本兼容 | 与SMB 1.0兼容,向下兼容性较好 | 向下兼容SMB 1.0和2.0,但不推荐使用 |
| 默认启用 | 默认启用 | 默认启用 | 默认不启用,需手动启用 |
| 适用场景 | 适用于老旧网络和系统 | 适用于现代网络环境,改善了文件共享性能 | 适用于大规模企业环境、需要高性能和高安全性的场景 |
:
- SMB 1.0(1996年发布):适用于老旧环境,但性能差且安全性低,现代环境中不推荐使用。
- SMB 2.0(2006年发布):引入了性能和稳定性改进,适用于大多数现代环境,但仍然缺少一些高级功能。
- SMB 3.0(2012年发布):增强了安全性和性能,支持多通道、压缩和加密等功能,是现代企业环境中推荐使用的版本。
SMB(Server Message Block)是一个早期的计算机网络协议,用于在计算机之间共享文件、打印机和其他资源。SMB 1.0最早出现在1984年,而SMB 2.0和SMB 3.0则分别于2006年和2012年推出。以下是它们的主要功能和版本信息:
SMB 1.0:
- 年代:1984年
- 功能:文件和打印机共享、消息传输、远程过程调用等。
- 版本:也称为CIFS(Common Internet File System),由微软开发。Windows操作系统中默认启用SMB 1.0,但其存在多个安全漏洞,不建议使用。
SMB 2.0:
- 年代:2006年
- 功能:更快的性能、更好的可扩展性、更好的容错性、加密支持等等。SMB 2.0还引入了一种新的状态量度方法,称为Compound TCP(CTCP),以自适应地调整网络速度,从而优化传输性能。
- 版本:Windows Vista及以上系统默认启用SMB 2.0,Mac OS X 10.7及以上版本也支持SMB 2.0。
SMB 3.0:
- 年代:2012年
- 功能:进一步扩展和改进了SMB 2.0的特性,提供了更高的性能和更好的安全性。其中最显著的变化是引入了SMB Direct协议,这是一种使用远程直接内存访问(RDMA)技术实现的高性能数据传输方式,可以直接在内存中传输数据,避免了网络协议和操作系统的开销。
- 版本:Windows 8及以上系统默认启用SMB 3.0,Mac OS X 10.9及以上版本也支持SMB 3.0。
随着SMB协议的不断更新和改进,每个版本都提供了更多的功能和改善,以确保更好的性能、可靠性和安全性。如果可能,建议使用更新的SMB版本。
SMB(Server Message Block)协议是一种用于在计算机之间共享文件、打印机和其他资源的网络通信协议。目前广泛使用的 SMB 协议有以下几个主要版本:
-
SMB 1.0:也称为 CIFS(Common Internet File System),是最早的 SMB 协议版本,最初由 IBM 开发。尽管在过去得到了广泛应用,但由于安全性和性能方面的局限性,现在已经逐渐被淘汰。
-
SMB 2.0:这是对 SMB 协议进行了全面重新设计的版本,引入了更好的性能、可靠性和安全性。SMB 2.0 首次出现在 Windows Vista 和 Windows Server 2008 中。
-
SMB 2.1:这是对 SMB 2.0 的轻微修改和扩展,主要用于改进性能和修复一些问题。SMB 2.1 首次出现在 Windows 7 和 Windows Server 2008 R2 中。
-
SMB 3.0:这是当前最新的版本,引入了许多新特性,包括加密传输、持久化句柄、远程 VSS 等,大大提高了性能和安全性。SMB 3.0 首次出现在 Windows 8 和 Windows Server 2012 中。
-
SMB 3.1.1:这是目前最新的SMB协议版本,引入了一些新的特性,包括预取、加密性能提升、安全性增强等。SMB 3.1.1 进一步改进了SMB 3.0版本的性能和安全性。
-
SMB Direct:也称为 SMB over RDMA(Remote Direct Memory Access),它允许SMB协议直接在RDMA网络上运行,从而提供了更高的性能和更低的CPU开销。
-
SMB Multichannel:这是一种SMB协议的特性,允许多个网络连接并行使用,以提高带宽和容错能力。
-
SMB Encryption:SMB 3.0及更新版本引入了对数据传输的加密支持,通过加密可以保护数据的机密性和完整性。
SMB over QUIC 是 Windows Server 2022 中的一个新特性,它支持通过基于 UDP 的 Quick UDP Internet Connections (QUIC) 协议来进行 SMB 流量传输。这项特性允许通过互联网加速访问文件共享,并可能替代 VPN。SMB over QUIC 利用 TLS 1.3 进行传输层安全性保护,并使用由 Google 开发的 SPDY 协议实现多路复用,允许通过单一连接传输不同的数据流,从而显著减少加载时间。此外,QUIC 还提供了诸如唯一序列号、前向纠错、拥塞控制和身份验证等功能 4 。
然而,SMB over QUIC 也存在一些限制。例如,它仅适用于 Windows Server 2022 Azure Edition,并且在 Microsoft 云中可用,或在 Azure Stack HCI 上的虚拟机中运行。普通的 Hyper-V 服务器则不支持。此外,QUIC 的数据包头部包含的明文信息少于 TCP 连接,这使得故障排除、流量控制或网络管理变得更加困难。还有关于拥塞控制的问题,可能会影响传输速率,尽管目前还在对此进行优化 4 。
SMB over QUIC 的配置可以通过 Windows Admin Center (WAC) 或 PowerShell 完成。配置时需要选择 SSL 证书,并设置允许客户端连接的地址。高级设置中还包括激活 SMB 加密以及允许对命名管道的访问等选项 4 。
需要注意的是,SMB over QUIC 曾存在一个重要漏洞(CVE-2023-24898),位于 srvnet.sys 驱动程序中,可能导致未经身份验证的互联网攻击者对 Windows Server 2022 机器发起远程拒绝服务(DoS)攻击。这个漏洞仅影响使用 SMB over QUIC 的服务器,且只影响 Windows Server 2022 Azure Edition。Akamai 已向微软通报了这一漏洞,微软也在 2023 年 5 月的“周二补丁日”发布了对应的安全补丁
当涉及SMB协议时,还有一些相关的重要概念和技术需要考虑:
-
SMB文件共享:SMB协议最常见的用途是用于在网络上共享文件和打印机。通过SMB协议,用户可以访问位于远程计算机上的文件、文件夹和打印机,实现资源共享和数据交换。
-
SMB安全性:随着对网络安全的日益关注,SMB协议的安全性也越来越重要。在新的SMB版本中,加密传输、数字签名验证等安全机制得到了加强,以保护数据不受未经授权的访问和篡改。
-
SMB管理:针对SMB协议的管理,包括访问控制、共享设置、性能优化等方面,有许多工具和方法可供管理员使用,以确保系统的正常运行和安全性。
-
SMB在云存储中的应用:随着云计算的发展,SMB协议在云存储中的应用也变得越来越普遍。例如,许多云存储服务提供商支持SMB协议,使用户可以轻松地将其本地存储与云存储进行集成。
SMB协议作为一种重要的网络文件共享协议,在网络环境中扮演着至关重要的角色。随着技术的不断发展,SMB协议也在不断演进和改进,以满足现代网络环境下对文件共享和数据交换的需求。
-
TCP 445:
- 这是用于Microsoft Windows网络文件共享服务(SMB/CIFS)的标准端口。它允许计算机之间共享文件、打印机以及其他资源。
Microsoft Windows 网络文件共享服务(SMB/CIFS)TCP 445 端口的历史发展可以追溯到 Windows 操作系统早期的网络协议演进。SMB(Server Message Block)协议在 Windows 中起着至关重要的作用,允许不同计算机之间共享文件和打印机,进行远程管理等。以下是 SMB 协议特别是在 Windows 系统中与 TCP 445 端口的关联的时间线:
1. 1980年代:SMB 协议的起源
- 1983年,SMB 协议最初由 IBM 作为一个局域网文件共享协议设计,名为 LAN Manager。
- 1985年,Microsoft 购买了 IBM 的网络协议(后来改名为 Microsoft SMB),并开始改进该协议,推动它在 Windows 系统中的使用。
2. 1990年代:SMB 协议的成熟与CIFS协议的引入
- 1992年,Microsoft 引入了 SMB 协议的第一个广泛版本,称为 Windows for Workgroups。
- 1996年,Microsoft 为了更好地与 Unix 和其他操作系统兼容,开始使用 CIFS(Common Internet File System) 协议,作为 SMB 的扩展和标准化版本。CIFS 解决了 SMB 在跨平台文件共享中的一些问题,并增强了功能。
- 这时,SMB 协议通过 NetBIOS 在 137-139 端口上运行,通常用于局域网内的文件和打印机共享。
3. 2000年代初:TCP 445 端口的引入
-
Windows 2000(2000年发布)是 SMB 协议与 TCP 445 端口结合的关键时刻。在此版本中,Microsoft 推出了 SMB over TCP/IP,通过 TCP 445 端口直接进行通信,而无需依赖传统的 NetBIOS 协议(137-139端口)。这使得文件共享可以更简洁地通过 IP 网络进行,减少了对 NetBIOS 名称解析的依赖。
-
Windows XP(2001年发布)也使用了 445 端口来支持 SMB 协议,进一步推广了基于 TCP 端口的直接通信。
:
- Windows 2000:开始使用 TCP 445 端口进行 SMB 协议通信,取代了以前使用 NetBIOS 的方式。
- Windows XP:继续使用 TCP 445 端口,增强了对网络共享和远程管理的支持。
4. 2000年代后期:SMB 协议的安全性问题与漏洞
- 2003年,SMB 协议被暴露出一些安全性漏洞,最著名的例子就是 Sasser 和 Blaster 病毒,这些恶意软件通过 SMB 协议传播并感染大量计算机。
- 为了增强安全性,Microsoft 在 Windows 操作系统中推出了 防火墙 和 安全更新,并开始定期修复 SMB 相关的漏洞。
5. 2007年:SMB 2.0 引入
- Windows Vista 和 Windows Server 2008 中引入了 SMB 2.0 协议,这显著提高了文件共享性能,并加强了网络性能和带宽利用率。
- SMB 2.0 增强了多路复用功能,减少了协议开销,使得大量小文件的传输变得更加高效。此时,TCP 445 端口继续用于 SMB 协议。
6. 2010年:SMB 3.0 的引入
- Windows 8 和 Windows Server 2012 在 2012 年引入了 SMB 3.0 协议,进一步增强了 SMB 协议的安全性和性能。
- SMB 3.0 引入了 加密(SMB Encryption)功能,用于保护数据在传输过程中免受中间人攻击。此外,SMB 3.0 还引入了 多通道传输(SMB Multichannel)和 冗余(SMB Direct)功能,进一步提高了网络共享的可靠性和速度。
- SMB 3.0 为 Windows 环境中的高性能、可伸缩的文件共享提供了强大的支持,尤其是在企业级应用中。
7. 2017年:SMB 1.0 被逐步淘汰
- Windows 10 和 Windows Server 2016 开始将 SMB 1.0 协议标记为不再推荐使用,并建议用户升级到 SMB 2.0 或 SMB 3.0。
- WannaCry 勒索病毒(2017年爆发)利用了 SMB 1.0 的漏洞,造成全球范围的重大安全事件。此事件加速了 SMB 1.0 的淘汰进程。
- Windows 10 和 Windows Server 2016 强烈建议禁用 SMB 1.0,并通过安全更新修复了已知的漏洞。
8. 2018年:SMB 3.1.1 引入
- Windows 10 和 Windows Server 2019 引入了 SMB 3.1.1 协议,进一步加强了安全性,特别是在 加密 和 身份验证 方面。
- SMB 3.1.1 提供了更强的加密支持,改进了 AES-128 加密算法的实现,同时增强了 签名 功能,以提高数据完整性验证。
9. 2020年代:SMB 3.1.1 和 TCP 445 的普及
- 到了 2020 年,SMB 3.1.1 成为 Windows 操作系统中默认的文件共享协议,TCP 445 端口作为 SMB 协议的标准端口已经广泛应用于各类 Windows 系统中,包括 Windows 10、Windows Server 2016/2019 等。
- 各类企业级、云端和远程工作环境中,SMB 协议仍然是主要的文件共享协议之一,并且继续发挥着至关重要的作用。
TCP 445 端口在 Windows 系统中的发展历程
- 1990年代:SMB 协议作为局域网共享协议在 Windows 中得到广泛应用。
- 2000年:Windows 2000 开始使用 TCP 445 端口来代替 NetBIOS 进行 SMB 协议通信。
- 2007年:Windows Vista 和 Windows Server 2008 引入 SMB 2.0 协议,改善了性能和效率。
- 2012年:Windows 8 和 Windows Server 2012 引入了 SMB 3.0 协议,增加了安全性和多通道支持。
- 2017年:SMB 1.0 协议逐步被淘汰,特别是在 WannaCry 勒索病毒事件后。
- 2018年:Windows 10 和 Server 2019 引入 SMB 3.1.1,进一步加强加密和安全性。
- 2020年代:SMB 3.1.1 和 TCP 445 成为主流,继续在企业和云环境中发挥重要作用。
通过这些关键的发展,TCP 445 端口和 SMB 协议逐渐成为 Windows 操作系统中进行文件共享和远程访问的核心协议,支持各种现代化的网络环境和需求。
-
QUIC(Quick UDP Internet Connections)443:
- QUIC是一个由Google开发的基于UDP的传输协议,旨在提供更快的连接建立和传输速度。通常使用UDP端口443进行通信,用于加密的Web服务。
QUIC(Quick UDP Internet Connections)是一种由 Google 首先提出的网络协议,它基于 UDP(用户数据报协议),旨在减少传统 TCP 和 TLS 协议中固有的延迟,并提高网络连接的速度和安全性。QUIC 的核心优势在于减少了连接和加密的延迟,尤其是在移动设备和不稳定网络环境中。
QUIC 协议在 Windows 系统中的发展经历了多个阶段,尤其是在与 443 端口的结合使用上(QUIC 默认使用 UDP 的 443 端口)。以下是 QUIC 协议在 Windows 发展中的关键时间线:
2013年:QUIC 初步提出
- QUIC 最初由 Google 于 2013 年提出,目标是加速 Web 访问,特别是在移动网络和高延迟环境下。
- QUIC 使用 UDP 代替 TCP,减少了传统的三次握手过程,并将加密与连接建立相结合,提供更低的延迟。
2015年:Google 首次实现 QUIC
- Google 在其 Chrome 浏览器中实现了 QUIC 协议,并开始通过 QUIC 连接访问 Google 服务。
- QUIC 使用 UDP 的 443 端口,与 HTTPS 使用相同的端口,但其数据包结构完全不同,这避免了与传统 HTTPS/TLS 流量的冲突。
2017年:QUIC 开始成为标准化话题
- IETF(Internet Engineering Task Force)开始讨论将 QUIC 协议标准化。Google 发布了 QUIC 的开放实现,作为未来互联网协议标准化的基础。
- 在这一阶段,QUIC 逐渐引起了网络协议研究人员的关注,尤其是在减少延迟、提高可靠性和支持 TLS 加密方面的优势。
2018年:Windows 10 开始初步支持 QUIC
- Windows 10 开始对 QUIC 协议进行实验性支持。通过该支持,用户可以在 Windows 上使用 QUIC 协议与支持 QUIC 的服务器进行通信。
- 在 Windows 中,QUIC 通常用于 Google 的服务(如 Gmail、YouTube)以及通过 Chrome 浏览器访问的其他支持 QUIC 协议的 Web 服务。
- Windows 10 开始支持基于 UDP 443 端口的 QUIC 流量,但该协议在 Windows 系统中的广泛使用还处于实验阶段。
2019年:QUIC 协议标准化进程启动
- IETF QUIC 工作组正式启动,开始标准化 QUIC 协议。Google 提出了 QUIC 协议的基础版本,进行公开审查。
- 主要关注点是改进现有 QUIC 版本中的性能、兼容性和安全性,特别是在 SSL/TLS 协议的集成方面。
- 同年,Microsoft Edge 和其他浏览器(如 Firefox)开始在实验性模式下支持 QUIC,以便对该协议进行更多的测试和验证。
2020年:Windows 10 对 QUIC 提供更全面的支持
- Windows 10(版本 2004 和更高版本)开始正式支持 QUIC 协议,特别是在 Microsoft Edge 浏览器中,用户可以使用 QUIC 协议访问兼容的 Web 服务。
- Windows 中的 IETF QUIC 实现更加稳定,增加了对协议标准的支持。
- 由于 QUIC 协议通过 UDP 443 端口传输,它与传统的 HTTPS 流量在端口上没有冲突,因此可以无缝地通过防火墙和 NAT 路由器进行穿透。
2021年:QUIC 协议成为 HTTP/3 的基础
- HTTP/3 基于 QUIC 协议,成为下一代 Web 协议,旨在通过 UDP 替代 HTTP/2 的 TCP 连接,以减少延迟并提高性能。
- Windows 10 和 Windows 11 系统开始在默认的浏览器(如 Microsoft Edge 和 Google Chrome)中全面支持 HTTP/3 和 QUIC。
- 在 Windows 系统中,用户可以直接体验到通过 QUIC 和 HTTP/3 协议提供的加速效果,特别是在访问支持 HTTP/3 的网站时。
2022年:Windows 11 引入对 QUIC 的深入集成
- Windows 11 进一步增强了对 QUIC 协议的支持,尤其是在默认配置中启用 HTTP/3 和 QUIC。
- Windows 11 对 QUIC 的支持不仅限于浏览器访问,还扩展到操作系统的网络堆栈和应用程序,以利用 QUIC 提供的低延迟、快速连接和更强的安全性。
2023年:QUIC 的广泛应用与成熟
- QUIC 协议在各大 Web 服务中得到了广泛的应用,越来越多的网站和在线服务(如 YouTube、Facebook、Twitter)开始全面支持 HTTP/3 和 QUIC。
- Windows 系统继续优化其对 QUIC 的支持,特别是在企业网络和数据中心中,QUIC 通过增强的安全性和性能优势,逐渐成为标准协议。
QUIC 在 Windows 的发展
- 2013年:QUIC 协议首次提出。
- 2015年:Google 在 Chrome 浏览器中首次实现 QUIC。
- 2018年:Windows 10 开始实验性支持 QUIC。
- 2020年:Windows 10 完全支持 QUIC 协议,HTTP/3 提供标准支持。
- 2021年:HTTP/3 基于 QUIC 成为 Web 标准,Windows 进一步优化 QUIC 支持。
- 2022年:Windows 11 加强 QUIC 集成,优化网络性能。
- 2023年:QUIC 成为 Web 连接的核心协议,Windows 在多个领域广泛应用。
通过这些阶段的发展,Windows 系统逐渐成熟了对 QUIC 和 HTTP/3 协议的支持,提供了更快速、更安全的网络体验,尤其是在基于 UDP 443 端口的 QUIC 流量传输中。
-
RDMA(Remote Direct Memory Access)IWARP 5445:
- RDMA是一种技术,允许计算机系统通过绕过操作系统和CPU来直接访问另一台计算机的内存。IWARP是一种在TCP/IP网络上实现RDMA的技术标准。端口5445通常用于RDMA over Converged Ethernet (RoCE)。
Remote Direct Memory Access (RDMA) 和 iWARP 5445 技术在 Windows 系统上的发展和支持可以追溯到多个版本的演变。以下是 RDMA 和 iWARP 技术在 Windows 系统中的发展时间线:
RDMA 技术发展时间线
RDMA 技术允许计算机直接访问远程计算机的内存,而无需经过操作系统的干预或传统的网络栈,从而提高了数据传输效率和降低了延迟。iWARP 是 RDMA 技术的一种实现,它通过标准的 TCP/IP 协议栈进行数据传输。下面是 RDMA 技术在 Windows 上的发展时间线:
Windows 2008/2008 R2(首次引入 RDMA 支持)
- Windows Server 2008 和 Windows Server 2008 R2 是微软首次在服务器操作系统中加入 RDMA 支持的版本。
- 引入了对 RDMA over InfiniBand (IB) 的支持,使得在高速网络环境中进行高效的数据传输成为可能。
- 这些操作系统版本的 RDMA 主要支持 InfiniBand 硬件,但对其他 RDMA 实现(如 iWARP)支持较为有限。
Windows 2012(扩展 RDMA 支持)
- Windows Server 2012 和 Windows 8 引入了对 RDMA over Converged Ethernet (RoCE) 和 iWARP 的更广泛支持。
- iWARP 技术开始得到更多的应用,它允许 RDMA 在以太网网络中传输数据,而不需要额外的硬件支持。
- 微软提供了 RDMA 驱动程序和支持的硬件,如 Mellanox 适配器、QLogic 适配器等。
- SMB Direct 功能首次出现在 Windows Server 2012 中,允许 SMB 通过 RDMA 提供更高效的数据传输,显著提高文件共享和存储性能。
Windows 2016(增强 RDMA 支持)
- Windows Server 2016 引入了对 SMB Direct 的增强支持,进一步优化了 SMB 3.0 协议的 RDMA 支持。
- RDMA 技术逐渐成为高性能计算(HPC)、存储区域网络(SAN)和云环境中的关键组成部分,iWARP 和 RoCE 得到了更广泛的支持。
- 提供了 RDMA over Ethernet 的原生支持,使得在企业网络中能够使用标准以太网硬件实现 RDMA。
Windows 2019(RDMA 与 iWARP 进一步集成)
- Windows Server 2019 继续增强了 RDMA 支持,并改善了网络性能。
- 通过 RDMA 技术,Windows 系统可以高效地处理更多的数据流,并能在低延迟、高带宽环境下工作,适用于大规模数据中心和高性能计算任务。
- 对 SMB Direct 和 Storage Spaces Direct 的 RDMA 优化使得企业能够以更高效的方式构建高可用、低延迟的存储解决方案。
- iWARP 和 RoCE 均得到了增强,尤其是在以太网环境中的 RDMA 支持。
Windows 2022(RDMA 和 iWARP 进一步完善)
- Windows Server 2022 对 RDMA 和 iWARP 的支持得到了进一步提升。微软继续加强了基于 RDMA 的高性能存储、网络和计算方案。
- 在 Windows Server 2022 中,SMB over QUIC 功能首次亮相,虽然这是基于 QUIC 协议,但 RDMA 和 iWARP 技术依然在高带宽和低延迟传输场景中发挥重要作用。
- RDMA 支持:Windows 通过多代版本的更新,逐步将 RDMA 支持从 InfiniBand 拓展到 RoCE 和 iWARP,使其能够适用于更多的网络硬件和数据传输场景。
- iWARP 5445:这是 iWARP 技术的一种具体实现,通常出现在支持 RDMA 的硬件(如 Mellanox 或 Intel 适配器)上。在 Windows 中,它主要用于提高以太网环境下的 RDMA 性能,特别是在大规模数据中心和存储应用中。
- Windows Server:微软的服务器操作系统是 RDMA 技术的重要支持平台,尤其是在高性能计算和存储环境中。Windows Server 2012 及以后的版本增强了 RDMA 和 iWARP 的支持,提升了文件共享、存储虚拟化和云计算的性能。
通过这些版本的更新,Windows 系统能够为高效的数据传输提供更好的支持,特别是在需要低延迟和高带宽的应用场景中。
这些端口和协议在不同的网络场景中发挥重要作用,如文件共享、加密通信和高性能数据传输。确保网络设备和服务正确配置这些端口和协议,可以帮助保证网络通信的安全性、效率和性能。
PowerShell中的New-SmbMapping命令用于在当前会话中创建一个新的 SMB 映射(SMB share)。这个命令通常用于在 PowerShell 脚本中或交互式会话中连接到远程共享文件夹或网络驱动器。以下是它的功能和作用:
-
连接到共享文件夹:
- 可以使用
New-SmbMapping命令连接到远程的 SMB 共享文件夹,这允许用户在本地文件系统中访问远程共享的文件和文件夹。
- 可以使用
-
网络驱动器映射:
New-SmbMapping命令可以将远程共享映射为本地计算机上的网络驱动器。这样做可以方便用户在文件资源管理器或通过命令行访问共享内容,就像访问本地驱动器一样。
-
脚本和自动化:
- 对于脚本和自动化任务,
New-SmbMapping可以在脚本中使用,允许程序员和系统管理员动态地创建和管理共享映射,从而简化和自动化文件传输和访问任务。
- 对于脚本和自动化任务,
-
参数设置:
- 通过
New-SmbMapping命令,可以指定远程共享的路径、本地驱动器的名称、凭据等选项,以确保连接的安全性和正确性。
- 通过
示例用法如下:
New-SmbMapping -RemotePath "\\server\share" -LocalPath "Z:" -Credential $cred
这条命令将远程的 \\server\share 共享映射为本地的 Z: 驱动器,使用提供的凭据($cred)。这样,用户可以通过 Z: 驱动器访问远程共享的文件和文件夹。
New-SmbMapping是一个强大的 PowerShell 命令,用于在 Windows 系统中管理和连接到 SMB 共享,适用于自动化任务和管理远程文件访问。
“SMB 1.0 / 2.0 / 3.0 / 3.1.1 / SMB over QUIC 的传输速度对比 与 分解 / 诊断 / 开发 / 交付”
提示(关键)
- 性能趋势:SMB1 << SMB2 < SMB3(无加密) ≤ SMB3(有加密,视 CPU/硬件);SMB3 + Multichannel/SMB Direct (RDMA) 能接近链路线速。
- SMB over QUIC 主要针对安全远程访问和高延迟/不可靠网络:在 WAN/高 RTT 场景常优于 TCP+TLS 的握手/重连表现,但在局域网低延迟高带宽场景,吞吐通常比不上直接 RDMA/Multichannel 的最佳表现(取决于实现与硬件加速)。
- 加密成本显著依赖于硬件(AES-NI/CPU)与算法(AES‑GCM 通常比老算法更高效且并行化友好)。
- 协议性能对比(要点)
-
SMB 1.0(旧式)
- 特点:单线程/blocking、无流水/流水线机制,大量 RTT,协议开销高。
- 性能:小文件 & 高延迟场景非常差;吞吐与并发能力最低。
- 适用:仅为兼容遗留系统(应禁用)。
-
SMB 2.0 / 2.x
- 特点:引入批量请求、流水线、更少 RTT、更好的并发控制。
- 性能:相比 SMB1 有大幅提升(尤其并发/多小 IO 场景)。
-
SMB 3.0(及 3.x 基本特性)
- 特点:支持多通道(Multichannel)、SMB Direct (RDMA)、加密、oplocks/leases、durable handles、credits 机制。
- 性能:启用 Multichannel/Direct 在多 NIC / RDMA 硬件上可接近线速,延迟极低。无加密时吞吐最好;加密开销取决于硬件加速。
-
SMB 3.1.1
- 特点:引入 preauth integrity、AES‑GCM(更高效的加密模式),增强安全性与协商完整性。
- 性能:在支持 AES‑GCM 与 AES-NI 的平台上,加密开销更小,性能更好且更安全。
-
SMB over QUIC
- 特点:把 SMB 封装在 QUIC(基于 UDP、内建 TLS1.3 样式加密)上;设计用于无需 VPN 的远程访问(Windows Server 2022 / Windows 11+ 支持)。
- 性能:在高延迟或丢包环境优于 TCP+TLS(连接/恢复更快);但在局域网高带宽场景,吞吐取决于 QUIC 实现、CPU 加密开销与 UDP 中断/多路径处理,通常优于普通加密 TCP,但未必能超越 RDMA/Multichannel。
- 优先场景:远程安全访问、绕过复杂 VPN、改善跨互联网文件访问体验。
- 影响传输速度的关键因素(分解)
- 协议层:SMB 方言、是否支持流水线、credits 大小、oplocks/leases 缓存策略。
- 传输层:TCP vs UDP(QUIC)、拥塞控制、窗口大小、MTU/Jumbo Frame、丢包/延迟。
- 硬件:NIC带宽、RDMA 支持、AES‑NI / 加密硬件、DMA/CPU 使用率。
- 软件/实现:服务器/客户端实现效率(Windows Server、Samba、NAS 固件、QUIC 实现),驱动版本。
- IO 模式:大量小文件(metadata密集)比大顺序文件吞吐差;并发线程数、IO大小、队列深度。
- 中间件:负载均衡、VPN、NAT、防火墙/IPS/SSL inspection 会影响 QUIC/TCP 性能与多通道。
- 诊断/基准步骤(快速流程)
- 基准工具
- 网络基线:iperf3(TCP/UDP)测量纯网速与 RTT/丢包。
- 存储/文件:fio(通过 CIFS/SMB 挂载)、robocopy(Windows,/J 大文件、/MT 多线程)、smbclient + dd 测试。
- 实际工作负载:用典型文件集合(小文件/大文件/随机/顺序)测试。
- 协议/实现检查
- 抓包:Wireshark(filter tcp.port==445 或 smb2 或 udp.port==443 for QUIC),查看协商、加密协商、重传、rtt。
- Windows:Get-SmbConnection / Get-SmbSession / Get-SmbOpenFile;Get-SmbServerConfiguration / Get-SmbClientConfiguration;Perfmon(SMB Server/Client counters);Get-NetAdapterRdma。
- Samba/Linux:smbstatus,dmesg/journalctl,iotop/iostat,tcpdump port 445。
- 特殊诊断点
- CPU-bound? 观察 CPU 使用、是否缺 AES-NI(加密成为瓶颈)。
- Network-bound? 查看 retransmits、window、MTU/fragmentation、Jumbo frame 一致性。
- Storage-bound? fio 查看 IOPS/latency、队列深度、SSD 写延迟。
- Multichannel/SMB Direct 是否被建立(Get-SmbMultichannelConnectionState/Network traces)。
- 开发注意(实现/互操作)
- 优先协议:实现时优先 SMB3/3.1.1,支持 Negotiate 回退到较低方言(但企业部署建议禁 SMB1)。
- QUIC 集成:若要支持 SMB over QUIC,关注平台支持(Windows Server 2022+ 原生支持),证书管理(TLS cert 用于 QUIC),客户端也需支持(Windows 11)。QUIC 在用户态实现多且差异大,互操作测试必做。
- 性能优化点:支持异步 IO、并发请求、正确利用 credits、实现/利用 multichannel/SMB Direct;使用高效 crypto 库(硬件加速)。
- 测试矩阵:Windows↔Windows, Windows↔Samba, SMB over QUIC 客户端↔Server;有/无加密、有/无 RDMA、多 NIC/单 NIC,跨 WAN 场景。
- 安全:确保强制使用现代加密(SMB3.1.1 AES‑GCM)与认证(Kerberos 优先),避免在公网暴露 445(QUIC 用 443/UDP 更安全便捷)。
- 交付 / 部署建议(上线检查与调优)
- 上线前基线测试:在目标网络与存储上做 fio/robocopy/iperf 比较,记录基线;分别测试:SMB3 无加密、SMB3 加密、SMB Direct、多通道、SMB over QUIC(若适用)。
- 启用策略:禁用 SMB1;在数据中心启用 Multichannel/SMB Direct(若 NIC 支持);在远程访问场景考虑 SMB over QUIC 代替直接暴露 445/VPN。
- 网络配置:一致 MTU/Jumbo、启用 NIC offloads、QoS(优先文件流量)、允许 UDP 443(QUIC)通过防火墙。
- 硬件与驱动:确保 NIC/firmware 支持 RDMA、更新驱动、开启 AES-NI/CPU 微码。
- 监控:会话数、连接数、吞吐/延迟、SMB 错误(NTSTATUS)、credits 利用率、oplock breaks;对 QUIC 也监控 UDP丢包与握手延迟。
- 回滚:分步骤部署(先测试,再灰度),保存配置快照,记录性能基线与回退方案。
- 典型实用命令 / 测试示例(速查)
- 网络基线:iperf3 -c server -P 8(TCP);iperf3 -c server -u -b 0(UDP)
- Windows 查看连接/配置:Get-SmbConnection; Get-SmbSession; Get-SmbServerConfiguration; Get-NetAdapterRdma
- Windows 多通道状态:Get-SmbMultichannelConnectionState (视环境/模块可用)
- 测试文件拷贝(Windows):robocopy \server\share C:\dest largefile /J /MT:32
- Linux/Samba:mount -t cifs //server/share /mnt -o vers=3.1.1,username=user ; fio --name=job --filename=/mnt/testfile ...
- 抓包:tcpdump -i any port 445 -w smb.pcap;tcpdump -i any udp port 443 -w quic.pcap(QUIC)
- QUIC 特有:检查 UDP 443 是否被 NAT/firewall 转发,确认证书与 SNI 指定(SMB over QUIC 使用证书验证)。
- 简单性能期望(非常粗略、示例性)
- 局域网(10 Gbps):
- SMB Direct (RDMA) + SMB3 ≈ 接近线速(9–10 Gbps),低 CPU;
- SMB3 Multichannel (CPU & NIC offloads) ≈ 70–95% 线速,视实现;
- SMB3 加密(AES‑GCM + AES‑NI)≈ 80–95%(硬件加速)或更低(无加速)。
- SMB over QUIC ≈ 在 LAN 中可达较高吞吐,但通常会比 RDMA 略低(50–90% 线速,取决实现与 RTT)。
- WAN/高延迟:SMB over QUIC 常优于 TCP+TLS 的连接建立与丢包恢复,从整体文件传输体验可能更好(尤其多断连/迁移场景)。
可选支持
- 可以根据你的实际场景(网络带宽/延迟、客户端/服务器 OS、是否有 RDMA 硬件、是否需要远程访问 via QUIC)输出:
- 具体基准计划(fio/robocopy/iperf3 命令),或
- Windows Server / Samba 的配置与调优示例(开启 Multichannel、配置 QUIC 证书、禁用 SMB1、调优 credits/IO 大小)。
针对 PowerShell 5.1 脚本的操作,可以使用以下命令来实现关闭 WMI 服务、SMB 防火墙阻止以及 DCOM 防火墙阻止的设置:
-
关闭 WMI 服务: 要关闭 Windows Management Instrumentation (WMI) 服务,可以使用以下 PowerShell 命令:
powershellStop-Service -Name winmgmt -Force该命令会停止
winmgmt服务,通常这是 WMI 服务的名称。 -
阻止 SMB 防火墙: SMB(Server Message Block)是一个网络文件共享协议。如果要通过防火墙阻止 SMB 协议,可以设置相关的防火墙规则。使用下面的命令来阻止 SMB:
powershellNew-NetFirewallRule -DisplayName "Block SMB" -Protocol TCP -LocalPort 445 -Action Block这会创建一个防火墙规则,阻止通过端口 445(SMB 使用的端口)的 TCP 流量。
-
阻止 DCOM 防火墙: DCOM(Distributed Component Object Model)允许进程在网络中进行通信。你可以通过防火墙规则阻止 DCOM 协议。以下命令会阻止 DCOM 通信:
powershellNew-NetFirewallRule -DisplayName "Block DCOM" -Protocol TCP -LocalPort 135 -Action Block这会创建一个防火墙规则,阻止通过端口 135(DCOM 使用的端口)的 TCP 流量。
这些命令都可以通过管理员权限运行 PowerShell 来执行。
PS C:\Users\Administrator> New-NetFirewallRule -DisplayName "Block SMB" -Protocol TCP -LocalPort 445 -Action Block
Name : {3c4683ea-fd17-45ec-99b0-b17df7521a8f}
DisplayName : Block SMB
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Block
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 已从存储区成功分析规则。 (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses : {}
PolicyAppId :
PackageFamilyName :
PS C:\Users\Administrator> New-NetFirewallRule -DisplayName "Block DCOM" -Protocol TCP -LocalPort 135 -Action Block
Name : {e8ad0f54-078f-4fd4-9128-5aca2092853f}
DisplayName : Block DCOM
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Block
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 已从存储区成功分析规则。 (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses : {}
PolicyAppId :
PackageFamilyName :
PS C:\Users\Administrator> Stop-Service -Name winmgmt -Force
SMB(Server Message Block)协议是一种网络文件共享协议,常用于局域网(LAN)中,允许不同操作系统之间的文件和打印机共享。它的基本原理包括以下几个方面:
1. 功能和目的
SMB协议主要用于让计算机通过网络共享文件、打印机和其他资源。它支持客户端与服务器之间的通信,允许:
- 文件共享:客户端可以读取、写入、删除服务器上的文件。
- 打印机共享:客户端可以访问并使用服务器上的打印机。
- 远程访问:客户端可以通过远程访问服务器上的资源。
2. 协议工作方式
SMB协议通常在客户端与服务器之间使用请求-响应的方式进行通信。具体流程如下:
- 客户端请求:客户端发起请求,要求访问某个文件或资源。
- 服务器响应:服务器处理请求,返回结果(如文件内容、错误信息等)。
3. 基本架构
SMB协议采用了客户端-服务器(C/S)架构。通常,计算机充当客户端或服务器的角色:
- 服务器:共享文件和打印机的计算机,响应客户端请求。
- 客户端:请求资源的计算机,向服务器发起访问请求。
4. SMB协议的版本
SMB协议有多个版本,不同版本支持不同的功能:
- SMB 1.0:最早的版本,已经不再推荐使用,因为存在许多安全漏洞。
- SMB 2.0:提供了更高的性能和更强的安全性,改进了许多协议设计。
- SMB 3.0及更新版:增加了加密和完整性校验等安全特性,并进一步提高了性能,支持在广域网环境下的使用。
5. 常用的SMB应用
- Windows共享:Windows操作系统默认支持SMB协议,用于文件和打印机共享。
- 跨平台共享:除了Windows,Linux和macOS等操作系统也可以使用SMB协议进行文件共享,通常通过Samba服务实现。
6. 安全性
SMB协议的安全性较为重要,尤其是在现代网络环境中。SMB协议支持以下安全机制:
- 身份验证:通过用户名和密码验证客户端。
- 加密:SMB 3.0及以上版本提供数据加密功能,防止数据在传输过程中被窃取。
- 签名:防止数据篡改,确保传输的数据未被篡改。
7. SMB的工作层
SMB协议工作在OSI模型的会话层和应用层之间,使用TCP协议作为其传输协议,通常在端口445上运行。
总体而言,SMB协议通过简化文件共享过程,使得网络上的资源访问变得更加方便和高效,尤其是在企业环境和跨平台环境中非常常见。
SMB(Server Message Block)协议的来源可以追溯到20世纪80年代末期,最初由IBM公司开发,并逐步成为广泛使用的文件共享协议。其发展经历了多个阶段,下面是SMB协议的历史背景和来源:
1. 初期开发
SMB协议最初由IBM(国际商业机器公司)在1980年代末期开发,作为一种用于局域网文件共享的协议。它最早被称为**"IBM LAN Manager"**,并且用于在IBM的操作系统和网络上实现文件和打印机共享。
2. Microsoft的参与
在1987年,IBM与Microsoft合作,开始将SMB协议整合到Windows操作系统中。当时,Windows 3.1及更早版本的Windows操作系统开始使用SMB协议进行网络共享。随着Windows操作系统的发展,SMB协议的功能和实现方式得到了逐步扩展和改进。
3. Samba项目
在Linux操作系统上,SMB协议的实现最初并没有得到广泛支持。为了使Linux系统能够访问Windows共享,Samba项目应运而生。Samba是一个开源实现,允许Linux和Unix系统与Windows系统之间进行SMB协议的通信,实现文件和打印机共享。Samba项目最早由Andrew Tridgell于1991年启动,并逐步成为Linux环境中最流行的SMB协议实现。
4. SMB的演变
SMB协议经历了多个版本的迭代,逐渐增强了性能、安全性和功能:
- SMB 1.0:最早的版本,最初由IBM和Microsoft共同开发,具有简单的文件共享功能。
- SMB 2.0:随着Windows Vista的发布,Microsoft推出了SMB 2.0版本。它在SMB 1.0的基础上进行了大量改进,提高了性能、可靠性和安全性。
- SMB 3.0:Windows 8和Windows Server 2012引入了SMB 3.0,它进一步增强了协议的安全性,包括对数据加密和签名的支持。
5. 现代使用
如今,SMB协议已经成为网络共享中的标准协议,尤其是在Windows操作系统中。它不仅仅局限于Windows平台,Linux、macOS等操作系统也通过Samba等工具支持SMB协议,实现跨平台文件共享。
总结来说,SMB协议的来源可以追溯到IBM的早期工作,后来由Microsoft进一步发展并广泛应用于Windows操作系统中。随着时间的推移,SMB协议不断演进,成为跨平台网络文件共享的核心协议之一。
SMB(Server Message Block)协议的官方文档主要由Microsoft提供,并在其技术支持和开发者资源中详细描述。Microsoft为SMB协议提供了广泛的文档支持,帮助开发者了解协议的工作原理、规范和最新的实现方式。
1. Microsoft官方文档
Microsoft对SMB协议的详细说明通常可以通过其官方的MSDN(Microsoft Developer Network)或Microsoft Docs网站访问。这些文档包含了SMB协议的各个版本的技术细节、接口、协议规范等内容。
-
Microsoft Docs: SMB协议文档
- 这个页面提供了有关SMB协议的概述、不同版本(如SMB 1.0, SMB 2.0, SMB 3.0等)的变化以及SMB协议在Windows Server中的配置、使用和管理的细节。
-
MSDN(Microsoft Developer Network): MS SMB协议规范
- 该页面详细描述了SMB协议的技术规范和协议细节,提供了用于开发和理解SMB协议实现的文档。
2. IETF(Internet Engineering Task Force)
虽然SMB协议最初由IBM和Microsoft开发,IETF也提供了与SMB协议相关的标准文档。特别是在网络协议、文件传输等方面,IETF的一些文档与SMB协议有关联。IETF的文档可能包括一些关于SMB在网络环境中如何工作的附加规范。
- IETF RFC(Request for Comments): RFC 1001
- 该RFC是与SMB协议相关的一个文档,描述了基于SMB协议的“NetBIOS over TCP/IP”协议,它是早期SMB协议的一部分。
3. Samba文档
Samba作为SMB协议的开源实现,也提供了丰富的文档,帮助用户在Linux/Unix平台上实现和配置SMB协议。Samba项目的官方网站包含了大量有关SMB协议实现和配置的资料。
- Samba官方网站: Samba文档
- 这里提供了Samba的安装、配置、调试等方面的详细指南,特别是在Linux系统上使用SMB的实现。
4. 相关技术标准
除了Microsoft的官方文档,其他组织如ISO/IEC等也可能会发布与文件共享协议相关的标准,虽然这些标准不专门针对SMB,但它们可以为理解SMB协议提供额外的背景和框架。
SMB协议的官方文档主要来源于以下渠道:
- Microsoft Docs 和 MSDN 提供了SMB协议的详细技术规范、版本说明和使用指导。
- Samba项目 提供了SMB协议在Linux/Unix环境中的实现文档。
- IETF RFC 提供了SMB协议的某些标准文档,尤其是关于网络通信和NetBIOS的部分。
通过这些文档,开发者和系统管理员可以深入了解SMB协议的设计、实现和配置细节。
关于 QUIC over SMB(QUIC协议与SMB协议结合)的官方文档目前并不常见,主要是因为QUIC协议最初并未直接用于SMB协议。QUIC(Quick UDP Internet Connections)是一种由Google提出的基于UDP的协议,旨在提供更低延迟和更高效的传输,特别是在HTTP/3和Web应用中得到了广泛的应用。
但是,QUIC与SMB协议结合的概念可能源于对提高文件共享协议性能和安全性的需求。以下是有关QUIC协议和SMB协议的一些相关资源,以及它们如何可能结合起来使用的文献。
1. Microsoft的SMB协议与现代传输协议的结合
Microsoft虽然没有专门针对 QUIC over SMB 提供官方文档,但它对SMB协议的更新和现代化已经在多个版本中进行过改进。例如,SMB 3.0引入了加密、压缩等功能,而在一些新的技术讨论中,QUIC的低延迟、加密等特性逐渐引起了关注。
Microsoft的文档和讨论主要集中在 SMB 3.x 和 SMB Direct 等技术上,它们使用了现代化的网络协议来提高性能和安全性。SMB协议本身并没有直接引入QUIC,但可以推测,QUIC作为一个高效的传输协议,可能在未来的Windows更新中被考虑与SMB协议结合。
-
Microsoft Docs - SMB协议概述: SMB协议文档
-
Microsoft Tech Community (QUIC与SMB的讨论):在某些微软的技术社区中,可能会讨论QUIC协议和SMB协议的结合,尤其是在探索新的低延迟网络应用时。
2. QUIC协议的官方文档与实现
QUIC协议由Google提出,后来被IETF(Internet Engineering Task Force)标准化。QUIC协议在HTTP/3中得到了广泛应用,它通过在UDP之上构建加密的传输层,旨在提供更快的连接建立、更低的延迟和更高的性能。
- IETF QUIC RFC文档:IETF为QUIC协议定义了RFC 9000及相关文档,详尽描述了QUIC协议的工作机制、流量控制、加密、数据包结构等内容。
- RFC 9000 - QUIC Transport Protocol
- QUIC Overview: QUIC Protocol Overview
这些文档对于理解QUIC的工作原理和如何将其与其他协议(如SMB)结合提供了必要的背景知识。
3. Samba(SMB协议的开源实现)
对于开源社区,Samba实现了SMB协议,可以参考其文档,了解如何在Linux/Unix环境中使用SMB协议,尽管Samba本身并没有直接实现QUIC协议。
- Samba官方文档: Samba文档
4. QUIC和SMB结合的研究与未来
虽然目前没有直接的QUIC over SMB官方文档,但在研究和技术前沿中,网络协议的创新常常促使不同协议间的结合。未来,SMB可能会利用QUIC协议来优化文件传输和提高性能,尤其是在需要低延迟和高带宽的网络环境中。这类工作可能会在未来的技术标准或文献中有所体现。
目前并没有专门的官方文档描述QUIC over SMB,但可以通过以下途径获取相关信息:
- Microsoft Docs:了解SMB协议的最新特性。
- IETF的QUIC RFC:了解QUIC协议的标准和实现。
- Samba文档:了解SMB协议的开源实现和应用。
如果QUIC和SMB协议结合的技术被实际应用,可能会在未来的标准或操作系统更新中得到详细介绍。
SMB over QUIC是一个较新的概念,旨在结合SMB协议(Server Message Block)与QUIC协议(Quick UDP Internet Connections)。这种结合的目的是利用QUIC协议的低延迟、高性能和强大的加密功能,为SMB文件共享提供更好的网络性能和安全性,尤其是在跨广域网(WAN)环境中。微软和开源社区(如Samba)可能会逐步推动这种集成,但目前(截至2025年11月),有关SMB over QUIC的正式文档和开源实现仍在不断发展中。
1. Microsoft官方文档
Microsoft已开始在Windows Server和其他Windows系统中实验性地支持SMB over QUIC。QUIC协议本身已经在HTTP/3中得到广泛应用,Microsoft也在考虑将QUIC的优势扩展到SMB协议上,以改善远程文件访问的速度和安全性。
微软对SMB over QUIC的正式文档可能已经发布在以下资源中:
-
Microsoft Docs - SMB协议和网络文件共享概述:这个文档阐述了SMB协议的工作原理和如何通过QUIC提升文件共享性能。虽然Microsoft没有专门的SMB over QUIC文档,但你可以查找有关SMB协议的现代化进展的内容。
- SMB协议文档
- 这是一个关于SMB协议的一般性文档,可能包含有关QUIC支持的部分内容。
-
Windows Server 2022中的SMB over QUIC:随着Windows Server的新版本,Microsoft引入了SMB over QUIC,这使得SMB文件共享能够在不依赖传统的TCP/IP连接的情况下,通过QUIC协议实现快速、安全的传输。这些功能和技术支持通常在Windows Server发布说明中得到更新。
- 你可以查阅最新的Windows Server 2022或未来版本的发布说明。
2. 开源项目:Samba
Samba是SMB协议的开源实现,虽然它目前没有直接支持SMB over QUIC,但开源社区可能会在未来推出相关的实现。QUIC作为一个现代化的传输协议,逐渐被许多开源项目所关注,可能会有开发者或团队尝试将其集成到Samba中。
-
Samba官方文档:Samba Documentation
- 该文档提供了关于Samba项目的所有资料,包括文件共享、SMB协议的实现等内容。如果有关于SMB over QUIC的开源实现,它们可能会出现在Samba的更新中。
-
GitHub上的Samba项目:Samba的源代码托管在GitHub上,可以查看是否有关于SMB over QUIC的分支或PR(Pull Request)。
3. QUIC协议
QUIC协议是一个由Google提出并由IETF(Internet Engineering Task Force)标准化的协议,它通过基于UDP的加密传输来优化连接性能。QUIC已被广泛用于HTTP/3中,但它作为底层协议,也有可能被用于其他协议如SMB的优化。
-
QUIC协议的IETF RFC:IETF为QUIC协议发布了多个标准文档,这些文档可以帮助理解QUIC的设计思想及其在SMB中的应用前景。
- RFC 9000 - QUIC Transport Protocol
-
Google QUIC概述:Google关于QUIC协议的详细说明,介绍了其设计目标、特性和使用场景。
4. SMB over QUIC的未来
SMB over QUIC的结合仍然是一个相对较新的领域。微软的Windows Server可能会在未来版本中正式集成SMB over QUIC,并发布详细的文档。开发者和系统管理员需要关注Microsoft和开源社区的更新,特别是Windows Server的更新日志和Samba的开发进展。
- Microsoft的文档:Microsoft在其Windows Server文档中介绍了SMB协议的现代化和改进,可能会在未来的版本中推出SMB over QUIC的正式支持。可以关注Microsoft Docs和Windows Server的更新。
- Samba的开源实现:目前Samba没有直接实现SMB over QUIC,但开源社区可能会逐步探索这个方向。查看Samba的GitHub仓库和文档是了解其进展的一个好方法。
- QUIC协议:QUIC协议的IETF RFC和Google的官方文档为理解QUIC如何与其他协议(如SMB)结合提供了技术背景。
随着SMB over QUIC的发展,未来可能会有更多的文档和开源实现。

浙公网安备 33010602011771号