工控智汇

工控智汇

NAS 共享文件用哪种格式,NFS、SMB、FTP、WebDAV 各有何优势?

admin 75 100


NAS存储服务器有许多专业厂商,比如群晖(Synology)、铁威马(TerraMaster)等,动手能力强的用户可以DIY硬件+开源系统自己搭建。不过这些不是今天讨论的话题,今天我们来讨论一下NAS常见的共享访问协议:NFS、SMB、FTP、WebDav,哪些速度快,哪些兼容性好,如何选择。

NFS

NFS(网络文件系统NetworkFileSystem)是一种分布式文件系统协议,力求客户端主机可以访问服务器端文件,并且其过程与访问本地存储时一样,它由Sun公司(已被Oracle收购)开发,于1984年发布,最新版本于2016年发布。NFS基于开放网络运算远程过程调用(ONCRPC)协议:一个开放、标准的RFC协议,任何人或组织都可以依据标准实现它。

NFS通常使用在Unix操作系统上(比如Solaris、AIX及HP-UX)和其他类Unix操作系统(例如Linux及FreeBSD),同时在macOS和Windows系统也提供了NFS实现。不过在Windows系统上挂载NFS共享目录时,由于Windows自带的NFS客户端长久以来不支持UTF-8,会致中文文件和目录显示为乱码。

NFS的优点是内核直接支持,部署简单、运行稳定,协议简单、传输效率高。

NFS的缺点是没有加密授权等功能,仅依靠IP地址或主机名来决定用户能否挂载共享目录,对具体目录和文件无法进行ACL权限控制(NFSv4以前)。通常的做法是通过Kerberos对NFS进行认证及加密,不过部署配置比较麻烦。

SMB/Samba

Samba是SMB/CIFS(ServerMessageBlock/CommonInternetFileSystem)网络协议的重新实现,可以在局域网不同计算机之间进行文件、打印机等资源共享,和NFS功能类似。

SMB最早是微软为自己需求设计的专用协议,用来实现微软主机之间的文件共享与打印共享,并不支持在Linux上运行。著名黑客、技术大牛AndrewTridgell通过逆向工程,在Linux上实现的SMB/CIFS兼容协议,命名为Samba,通过该程序实现了Windows和Linux之间的文件共享。

SMB协议是C/S类型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOSoverTCP/IP”,Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

SMB的优点之一是兼容性好,在各平台获得了广泛支持,包括Windows、Linux、macOS等各系统挂载访问都很方便。另外SMB也是各种电视、电视盒子默认支持的协议,可以通过SMB远程播放电影、音乐和图片。

另外SMB提供端到端加密、安全性高,配置选项丰富,支持ACL并支持多种用户认证模式。

SMB的缺点是传输效率稍低,速度不太稳定,会有波动。


FTP

FTP(FileTransferProtocoL)是TCP/IP应用层中的一个基础协议,通常使用22端口,负责将文件从一台计算机传输到另计算机,并保证文件传输的可靠性。FTP协议的历史源远流长,第一版FTP协议于1971年发表为RFC114,此后经过多年的发展和完善。通常所说的FTP既可指FTP协议,也可指FTP应用程序。

由于FTP是明文传输安全性不高,后来又出现了SFTP和FTPS等加密传输。FTP的特点之一是独立于系统用户组,只要通讯端口开启就能方便访问,所以特别适合外网共享,一些老牌共享软件就常常通过FTP发布下载链接。

FTP主要用于客户端和服务器之间的文件上传和下载,并不适用于服务器上文件修改。因为FTP通常需要先获取远程文件的副本,然后对副本修改,最后再将修改后的文件副本上传服务器。

虽然FTP的简单方便、容易部署,但FTP的传输效率低、安全性不佳,目前并不推荐使用。


WebDAV

基于Web的分布式编写和版本控制(WebDAV)是超文本传输协议(HTTP)的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。WebDAV由互联网工程任务组的工作组在RFC4918中定义。许多现代操作系统为WebDAV提供了内置支持。

WebDAV扩展了request方法所允许的标准HTTP谓词和HTTP头。增加的谓词包括:

COPY将资源从一个URI复制到另一个URI

LOCK锁定一个资源。WebDAV支持共享锁和互斥锁。

MKCOL创建集合(即目录)

MOVE将资源从一个URI移动到另一个URI

PROPFIND从Web资源中检索以XML格式存储的属性。它也被重载,以允许一个检索远程系统的集合结构(也叫目录层次结构)

PROPPATCH在单个原子性动作中更改和删除资源的多个属性

UNLOCK解除资源的锁定

WebDAV协议为用户在服务器上创建、更改和移动文档提供了一个框架。WebDAV协议最重要的功能包括:

维护属性包括创建、删除和查询文件信息等

命名空间管理处理在服务器名称空间内复制和移动网页的能力

集合处理各种资源的创建、删除和列举

覆盖保护处理与锁定文件相关功能

由于WebDAV是基于HTTP的,所以具有HTTP的所有优点,包括容易穿越防火墙、使用HTTPS来传输数据,因此在很多方面可以替代FTP。

WebDAV可以通过Nginx或Apache等Web服务器部署。在客户端WebDAV也获得了许多软件的支持,比如Office就可通过WebDAV编辑远程文档。