NAS用哪种文件共享协议?

SMB、WebDAV、FTP、SFTP我该用哪种?相信很多人都面临过跨设备文件共享的问题,在互联网的时代,网络为此类场景提供了一种解决方案。目前主流的就是以上提到的4种,接下来就用数据告诉大家选那种最适合你。

1. 辨析异同

1.1. 相同点

这个其实没什么好说的,纵使应用场景场景不同,但是目的相同,都是为了通过网络共享和传输文件

1.2. 不同点

首先给出评分标准,其中安全性评分依据CNNVD漏洞分级规范,以2017年03月15日至2022年3月15日期间的披露数量为标准,加权后使用统计学的标准化中文维基)和归一化操作得出评分。令超危漏洞权重0.5、高危漏洞权重0.25、中危漏洞权重0.15、低危漏洞权重0.1进行加权,最后使用Min-Max scaling归一化得出μ。所用脚本见此处:漏洞统计学,另请注意:本项计算并不严谨,未区分同名不同义的结果

便捷性评分 说明
★☆☆☆☆ 需要复杂的指令进行部署,多个项目配合才能使用,且无中文文档。
★★☆☆☆ 需要自行下载并配置,但提供基础配置的快捷部署,且有详细外文文档可以参考。
★★★☆☆ 需要自行下载并配置,但提供基础配置的快捷部署,且有详细中文文档可以参考。
★★★★☆ 提供一键部署或者Docke快速部署。
★★★★★ 系统自带,无需指令即可部署。
兼容性评分 说明
★☆☆☆☆ 只在特定设备支持,与硬件和软件深度绑定。
★★☆☆☆ 仅计算机、平板、手机等智能设备安装软件后有限支持。
★★★☆☆ 常见家用设备安装软件后有限支持。
★★★★☆ 仅计算机、平板、手机等智能设备安装软件后良好支持。
★★★★★ 常见家用设备原生支持或安装软件后良好支持。
安全性评分 说明
★☆☆☆☆ 1 > μ ≥ 0.8
★★☆☆☆ 0.8 > μ ≥ 0.6
★★★☆☆ 0.6 > μ ≥ 0.4
★★★★☆ 0.8 > μ ≥ 0.2
★★★★★ 0.2 > μ ≥ 0
传输效率评分 说明
★☆☆☆☆ 带宽的 60% 以下
★★☆☆☆ 带宽的 60% 及以上
★★★☆☆ 带宽的 70% 及以上
★★★★☆ 带宽的 80% 及以上
★★★★★ 带宽的 90% 及以上

1.2.1. SMB

服务器消息块(Server Message Block,缩写为SMB),又称网络文件共享系统(Common Internet File System,缩写为CIFS, /ˈsɪfs/),一种应用层网络传输协议,由微软开发,主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。

以上内容来自维基百科,从应用场景上不难看出SMB主打内网的文件共享,以及协议兼容性的良好。另外在搜集资料时,我发现了一个有趣的事,那就是SMBSamba之间的关系。在SMB维基百科里介绍SMB最初是IBM公司研制,其后微软对其进行了重大更改,形成了如今的最常见的协议版本;而Samba是通过逆向工程实现的兼容SMB自由软件,多用于Linux。

同时我发现另一篇文章说法与此截然不同,称先出现的是Samba,而微软的SMB是为了避免交License费而重新实现的。

总之目前流行的是上面那种说法,我也认可该说法,SMB是一个文件共享协议,而无论是Windows的SMB 3.0还是Linux的Samba,都只是对其的实现,故而可以互相兼容。

  • 便捷性上,Windows原生支持SMB,可以轻松的通过SMB开启文件共享服务;而Linux需要自行安装Samba,不过总体上不算很麻烦。

  • 兼容性上,可以说是兼容性最广的协议之一了。从Windows到Linux,从电视盒子到家用电脑,基本上都有支持。

  • 安全性上,Windows的SMB使用的是445端口,而臭名昭著的永恒之蓝就是针对此端口及SMB协议产生的漏洞的漏洞利用程序。以至于其后很长一段时间,大量计算机感染勒索病毒,人人谈之色变。故只建议在内网环境使用!脚本输出如下:

1
2
3
4
5
6
漏洞总数:45
未分级数量:1
低危数量:0
中危数量:18
高危数量:20
超危数量:6
  • 传输效率上SMB由于其本身性质,开销略大,故效率略低,具体可参考我之后进行的测试。

1.2.2. WebDAV

基于Web的分布式编写和版本控制(WebDAV)是超文本传输协议(HTTP)的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。

以上是WebDAV维基百科对其的描述,不难看出WebDAV主要面对公网场景下的文件共享。由于其基于HTTP,因此也具有其优点。譬如:

  • 操作系统集成
  • 容易穿越防火墙
  • 与Web服务紧密集成
  • 免费使用
  • 版本控制
  • 传输加密
  • 远程访问
  • 集中式存储
  • 版本控制
  • 文件锁定

不过由于HTTP为明文传输,所以仅推荐以HTTPS进行部署,哪怕是在内网环境。

  • 便捷性上:有不少的Docker部署方式,部署便捷性还行。
  • 兼容性上:常见系统上,手机电脑上,都可以通过安装软件获得良好支持,甚至在浏览器访问也能勉强使用。但是电视盒子和一些其他的特殊设备大多不能直接支持。
  • 安全性上:使用HTTPS可以获得良好的安全性。脚本输出如下:
1
2
3
4
5
6
漏洞总数:3
未分级数量:0
低危数量:0
中危数量:2
高危数量:1
超危数量:0
  • 传输效率上WebDAV仅建立一个TCP连接,支持GZIP压缩。收发大量小文件情况时,FTP被一些人证实会更快;而在收发大文件时,二者速度相同,开销可以忽略不计。本文将在之后的实验中再次验证此观点。

1.2.3. FTP

文件传输协议(英语:File Transfer Protocol,缩写:FTP)是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议。