SMB协议,Windows局域网文件共享,主流协议是哪一种?
摘要:0 序 尝试基于群晖NAS的SMB协议服务,实现群晖NAS的文件夹映射到同一局域网电脑的虚拟磁盘上。 群晖NAS与局域网本地电脑的磁盘映射 - 博客园千千寰宇 "群晖NAS的网络接口一般都是千兆网口,换算成理论上
0 序
尝试基于群晖NAS的SMB协议服务,实现群晖NAS的文件夹映射到同一局域网电脑的虚拟磁盘上。
群晖NAS与局域网本地电脑的磁盘映射 - 博客园/千千寰宇
"群晖NAS的网络接口一般都是千兆网口,换算成理论上的网速大约是125MB/s,实际大文件持续传输速度大约为90-110MB/s。这个是内网访问速度,与外网访问速率相比是相当快的。所以,建议把NAS放在距离你较近的位置,若办公为主就放办公室,家庭娱乐为主就放在家里,充分利用局域网的高速优势。"
总体思路: 群晖NAS 作为 SMB Server,本地电脑 作为 SMB 访问端
根据笔者的观察,所工作过的几家公司、及诸多打印店均有基于局域网使用SMB协议的情况。
说明 SMB 协议的实用性还是很高的。
1 概述:SMB协议
SMB(Server Message Block)协议,是网络文件共享系统(Common Internet File System,缩写为CIFS)、一种网络文件共享协议、一种应用层网络传输协议;
主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。
其广泛应用于家庭网络环境或企业网络环境中。
SMB协议是由【微软】开发的网络通信协议,主要用于在局域网内实现文件、打印机和其他资源的共享。
它工作在应用层,通常运行在TCP/IP协议之上,使用端口445(现代版本)或139(早期版本配合NetBIOS)。
发展历史
SMB 1.0(1980年代):最初版本,安全性较低
SMB v1/CIFS 存在 远程代码执行漏洞,远程攻击者 通过 向受影响的系统发送特制请求包,可以造成 远程代码执行。
SMB 2.0(2006年,Windows Vista/Server 2008):性能提升,减少命令数量
SMB 2.1(Windows 7/Server 2008 R2):增加Oplock租约机制
SMB 3.0(2012年,Windows 8/Server 2012):重大更新,增加加密、多通道等功能
SMB 3.1.1(Windows 10/Server 2016):最新版本,增强安全性
核心功能
功能
说明
文件共享
访问远程服务器上的文件和文件夹
打印机共享
共享网络打印机资源
命名管道
进程间通信机制
远程管理
远程管理服务器资源
身份认证
集成Windows身份验证(NTLM/Kerberos)
主要应用场景
1. 企业文件服务器
搭建Windows文件服务器,实现部门间文档共享
配合NTFS权限实现精细化的访问控制
2. NAS存储设备
群晖、威联通等NAS设备的核心协议
跨平台文件共享(Windows/Mac/Linux)
3. 域环境资源管理
Active Directory域中的SYSVOL/NETLOGON共享
组策略分发和登录脚本执行
4. 虚拟化环境
Hyper-V虚拟机文件存储
VMware vSphere的SMB存储支持
5. 备份与恢复
Veeam、Windows Server Backup等工具通过SMB进行备份存储
安全性演进
版本
安全特性
SMB 1.0
明文传输,易受中间人攻击
SMB 2.x
签名机制,防止篡改
SMB 3.0
端到端加密(AES-128-CCM)、完整性校验
SMB 3.1.1
预认证完整性保护、AES-128-GCM加密
⚠️ 重要提示:由于SMB 1.0存在严重安全漏洞(如WannaCry利用的EternalBlue),建议在所有环境中禁用SMB 1.0。
与其他协议的对比: SMB/AFP/NFS/FTP/WebDAV(必读)
协议
适用场景
特点
SMB
Windows环境、企业内网
集成AD、权限管理完善
AFP
macOS旧版本
苹果专用,已逐步被SMB取代
NFS
Linux/Unix环境
高性能、权限模型简单
FTP
参见FAQ章节
文件传输(上传/下载),详见 FAQ 章节
WebDAV
互联网文件访问
HTTP协议穿透防火墙
群晖NAS-文件服务-SMB/AFP/NFS/FTP
现代发展趋势
SMB over QUIC(Windows Server 2022/Azure):通过UDP协议提升广域网性能
SMB压缩:SMB 3.1.1支持传输过程中实时压缩
Linux支持增强:Samba项目使Linux/Unix系统完美兼容SMB协议
SMB协议凭借其成熟的安全性、与Windows生态的深度集成,仍是企业网文件共享的事实标准。
Z FAQ for SMB协议
Q: SMB 协议 vs. FTP 协议
SMB与FTP是2种经典的文件传输协议,设计理念和应用场景差异显著。
核心架构对比
特性
SMB
FTP
设计哲学
网络文件系统(实时访问)
文件传输工具(上传/下载)
工作模式
有状态连接,保持会话
无状态,每次命令独立
传输通道
单端口(445)
双通道:控制(21)+ 数据(20/随机)
传输方向
双向实时读写
主要单向批量传输
协议层级
应用层+表示层(复杂)
纯应用层(简单)
功能特性对比
1. 文件访问方式
能力
SMB
FTP
在线编辑远程文件
✅ 直接打开修改
❌ 需下载→编辑→上传
文件锁定机制
✅ 支持Oplock/Lease
❌ 无锁定,易冲突
增量传输
✅ 支持部分写入
❌ 通常全文件覆盖
目录实时浏览
✅ 像本地磁盘一样流畅
⚠️ 需刷新,延迟明显
元数据保留
✅ 完整保留权限/时间戳
⚠️ 常丢失或需额外配置
2. 安全性对比
安全特性
SMB
FTP
默认加密
✅ SMB 3.0+ 强制加密
❌ 明文传输(FTP)
安全版本
✅ 内置AES加密
✅ FTPS (SSL/TLS) / SFTP (SSH)
身份验证
✅ Kerberos/NTLM集成
⚠️ 基础明文或SSL证书
中间人防护
✅ 签名+加密
⚠️ 依赖FTPS/SFTP配置
防火墙友好度
✅ 单端口445
❌ 被动模式需开放随机端口
性能表现
场景
SMB
FTP
小文件传输
更快(连接复用)
慢(每个文件建立连接)
大文件传输
快(支持多通道/压缩)
快(协议开销小)
广域网高延迟
⚠️ 传统SMB较差
✅ FTP更稳定
SMB 3.0+多通道
✅ 聚合带宽
❌ 不支持
网络中断恢复
✅ 自动重连
❌ 需重新传输
典型应用场景
SMB优势场景
✅ Windows企业内网文件服务器
✅ 域环境共享+权限精细控制
✅ 实时协作编辑(如Office文档共享编辑)
✅ NAS网络存储(群晖/威联通等)
✅ 虚拟化存储(Hyper-V over SMB)
✅ 需要文件锁定的数据库共享场景
FTP优势场景
✅ 互联网文件分发(软件下载站)
✅ 跨平台简单文件交换(Linux/Unix为主)
✅ 自动化脚本批量传输(ftp命令行工具)
✅ 匿名公开文件服务
✅ 老旧系统兼容性要求
✅ 高延迟/不稳定网络的大文件传输
协议变种对比
协议
本质
适用场景
FTP
原始明文协议
已淘汰,不安全
FTPS
FTP + SSL/TLS
需要加密的传统FTP场景
SFTP
SSH文件传输子系统
Linux/Unix安全传输标准
SMB 1.0
遗留协议
已禁用(安全风险)
SMB 3.1.1
现代标准
企业安全文件共享首选
选型决策树 (必读)
需要实时在线编辑文件?
├── 是 → SMB
└── 否 → 继续问
主要在Windows域环境?
├── 是 → SMB(集成AD权限)
└── 否 → 继续问
是否互联网/广域网传输?
├── 是 → SFTP/FTPS(防火墙友好)
└── 否 → 继续问
需要简单匿名下载服务?
├── 是 → FTP/HTTP
└── 否 → SMB(内网)或 SFTP(安全)
现代趋势(必读)
趋势
说明
SMB崛起
Windows系统默认禁用SMB 1.0,SMB 3.0+成为企业标准
FTP衰落
浏览器逐步取消FTP支持(Chrome/Firefox已移除)
SFTP替代
Linux环境首选SSH文件传输
云存储协议
S3 API、WebDAV等新兴协议分流传统场景
总结
SMB = 网络硬盘(像本地磁盘一样工作,适合协作)
FTP = 文件快递(专门搬运文件,适合分发)
企业内网优先选 SMB 3.0+,互联网传输优先选 SFTP,遗留系统或简单匿名服务才考虑 FTP/FTPS。
Y 推荐文献
【Ubuntu24.04】CIFS协议挂载Windows共享文件夹的安全优化实践 - CSDN
CVE-2020-1301: Windows SMB v1 远程代码执行漏洞通告
X 参考文献
