CIFS和SMB是什么关系,文件共享到底用的哪个协议

管公司共享盘的人多半被这两个词绕过:NAS 后台的服务列表里写的是 SMB,老一点的资料、老设备的报错里又出现 CIFS;网上邻居、映射网络驱动器、手机 App 连服务器的选项里,两个名字轮着出现。它们是两套协议,还是同一个东西的新旧叫法?配共享时这个区别要不要管?

原因分析

这两个名字指的是同一个协议族。SMB(Server Message Block)由 IBM 在上世纪八十年代设计,用于局域网内共享文件和打印机;微软在 Windows NT 时代大幅扩展了这套协议,并给当时的版本起了个新名字 CIFS(Common Internet File System,通用互联网文件系统)。所以 CIFS 并不是另一个协议,而是 SMB 在那个历史阶段的商业叫法,日常语境里说 CIFS,基本等同于老版本的 SMB,也就是 SMB1。再往后微软在 Vista 时代重写了协议推出 SMB2,Windows 8 时代升级到 SMB3,引入加密传输、多通道等能力,官方文档从此统一用 SMB 这个名字,CIFS 逐步退回老设备说明和兼容选项里。两个词同时出现,只是"旧名"与"今名"的叠影,不是两套互不兼容的东西。

分步解决

  1. 先弄清自己环境里跑的是哪个版本。在文件服务器或 NAS 的控制面板里找到文件服务(SMB/Finder 里叫文件共享)设置页,看较大 SMB 协议版本一栏设的是 SMB3 还是 SMB2;客户端侧,Windows 映射好盘符后开 PowerShell 执行 Get-SmbConnection,Dialect 一列显示的就是本次连接实际协商出的版本。
  2. 新旧设备对不齐时靠协商机制,不要全网打开 SMB1。SMB 连接建立时双方会协商出彼此都支持的较高版本;只有某台老设备(老打印机、老收款机、老监控主机)只认 SMB1 时,才在服务器侧临时打开兼容开关,用完关回去。
  3. 学会从报错认协议层的问题。提示"找不到网络路径"多半是服务没启动或端口不通;提示账户密码错误、又确认凭据没错时,常与 SMB1 的老旧认证方式有关;老系统访问新存储设备报不兼容,先想版本协商,别急着动防火墙。
  4. 给存量设备列一张对照小表:设备名、支持到 SMB 几、平时怎么连。几台机器的小环境一分钟能列完,日后哪台设备一动就连不上共享,翻表就能定位。
  5. 升级顺序安排好:先把服务端的较大版本设置升上去,观察一周无异常,再处理只认 SMB1 的老设备——能升固件就升,升不了的隔离到专给老机器用的共享目录里。

预防

把协议版本当成文件服务的一项固定配置记录在案,新设备入网时顺手补一行;SMB1 保持默认关闭,确有需要按设备临时打开、事后关闭。诚鑫致达科技给客户整理文件服务时,习惯先把各设备的协议版本对齐成一张小表,再谈性能和权限怎么配——这一步做在前面,日后大半"突然连不上共享"的排查都可以省掉。