专栏首页JMCuiNAS 共享访问协议 — NFS、SMB、FTP、WebDAV 各有何优势?

NAS 共享访问协议 — NFS、SMB、FTP、WebDAV 各有何优势?

随着智能化互联时代的来临,家中的智能设备越来越多:电视机、平板、游戏主机、电脑、手机等遍及家中各个角落,同时设备之间共享数据的需求变的越来越强烈。比如同步、备份手机上的照片和视频,在电视机上观看电脑中下载的影片、手机拍摄的视频,存储高清电影、音乐、VLOG 素材等。这时候在家中搭建一台 NAS(Network Attached Storage:网络附属存储)存储服务器是不错的选择,在备份保障数据安全的同时给家庭娱乐带来更多方便。在企业中,NAS 也有着广泛的应用,其部署简单,扩展方便,在文件共享、容灾备份领域发挥了重要作用。

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

NFS

NFS(网络文件系统 Network File System)是一种分布式文件系统协议,力求客户端主机可以访问服务器端文件,并且其过程与访问本地存储时一样,它由 Sun 公司(已被 Oracle 收购)开发,于 1984 年发布,最新版本 NFSv4.2 于 2016 年发布。NFS 基于开放网络运算远程过程调用(ONC RPC)协议:一个开放、标准的 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(Server Message Block / Common Internet File System)网络协议的重新实现,可以在局域网不同计算机之间进行文件、打印机等资源共享,和 NFS 功能类似。

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

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

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

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

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

FTP

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

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

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

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

WebDAV

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

WebDAV 除了创建、删除文件等基本功能,它还具备文件创建者管理、文件编辑过程中禁止其他用户内容覆盖的加锁功能,以及对文件内容修改的版本控制功能。

WebDAV 为实现远程文件管理,向 HTTP/1.1 中追加了以下这些方法。

  • PROPFIND:获取属性
  • PROPPATCH:修改属性
  • MKCOL:创建集合
  • COPY:复制资源及属性
  • MOVE:移动资源
  • LOCK:资源加锁
  • UNLOCK:资源解锁

为配合扩展的方法,状态码也随之扩展。

  • 102 Processing:可正常处理请求, 但目前是处理中状态
  • 207 Multi-Status:存在多种状态
  • 422 Unprocessible Entity:格式正确, 内容有误
  • 423 Locked:资源已被加锁
  • 424 Failed Dependency:处理与某请求关联的请求失败, 因此不再维持依赖关系
  • 507 Insufficient Storage:保存空间不足

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

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

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:http://www.cnblogs.com/jmcui/复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • VMware虚拟机安装并体验FreeNAS(TrueNAS 12)

    什么是FreeNAS?FreeNAS是全球排名第一的存储操作系统,下载量超过10亿次几乎可以安装在任何硬件平台上,以通过网络共享数据。FreeNAS是为数据创建...

    yuanfan2012
  • 你还在用U盘傻瓜式地拷贝文件吗?如何跨操作系统共享文件?

    本文探讨macOS、Linux、Windows三种操作系统两两之间的文件共享方式,根据数学中的排列组合知识可知,总共有六种两两组合方式。

    城市中的游牧民族
  • 十三.Linux文件共享服务 FTP,NFS 和 Samba

    DAS 指 Direct Attached Storage,即直连附加存储,这种设备直接连接到计算机主板总线上,计算机将其识别为一个块设备,例如常见的硬盘,U ...

    对弈
  • DAS、NAS、SAN存储技术的比较 转

    网络储存设备 (Network Attached Storage,NAS),是一种专门的资料储存技术的名称,它可以直接连接在电脑网络上面,对不同操作系统的使用者...

    阿dai学长
  • Ubuntu Server 第九章 文件服务

    在文件服务之前,先提下网络。网络是一个意外的产物,最早在美国国防部提出,出于战争的需要,担心军事指挥中心被摧毁,设计了一套去中心化的系统(APPAnet)。NS...

    天钧
  • 没有协议,就变成哑巴网络了

    协议大家对这个词不陌生,你我之间的协议,你说我之间的约定,就像我们说话用某种语言一样,有各个国家的人,说不同的语言,不能进行交流所以要预定一种语言进行交流,在网...

    DataScience
  • 几种在多台云服务器之间共享数据的方法

    在我们日常的运维工作中,经常会涉及到需要在多台云服务器之间共享数据的情况。如果都在同一个局域网,那么使用 SMB/CIFS、NFS 等文件级共享协议就可以。但要...

    谈笑有Herald
  • 2019年6月 阿里技术面试题集锦(28道含答案)

    为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次整体放出。并...

    搜云库
  • FTP&samba 服务简单部署

    第1章 FTP服务部署 在Linux下,我们应用最广泛的FTP服务程序是 vsftpd (Very Secure FTP Daemon),从名字我们也可以看出,...

    惨绿少年
  • 图文简述DAS、NAS、SAN的不同应用场景

    在云计算中,存储扮演着非常重要的作用,采用共享存储的方式可以实现Oracle RAC等应用场景的需要。实际上云计算中的NAS、SAN存储中,有着...

    希望的田野
  • 腾讯云存储网关提供混合云存储服务,实现数据分层存储!

    ​存储网关(Cloud Storage Gateway,CSG)是腾讯云提供的混合云存储服务。您可以通过 CSG 使用标准文件共享协议访问位于对象存储 COS ...

    云存储
  • 腾讯云存储网关提供混合云存储服务,实现数据分层存储!

    存储网关(Cloud Storage Gateway,CSG)是腾讯云提供的混合云存储服务。您可以通过 CSG 使用标准文件共享协议访问位于对象存储 COS 中...

    云存储
  • ESXSI存储与(openfiler)

    L宝宝聊IT
  • Linux 内核组织将关闭 FTP 服务

    Linux Kernel Organization(kernel.org) 是一家建立于 2002 年的加利福尼亚公共福利公司,其目的是公开地免费分发 Linu...

    Debian中国
  • 从数据恢复角度分析NFS与其他存储方式的区别

    1、iscsi:是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。

    北亚数据安全与救援
  • 在云服务器上OwnCloud搭建自己的私有云盘

    ownCloud 跨平台支持 Windows、Mac、Android、iOS、Linux 等平台,而且还提供了网页版和 WebDAV 形式访问,因此你可以在任何...

    星哥玩云
  • LVS负载均衡群集详解

    无论是哪种群集,都至少包括两台节点服务器,而对外表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机。根据群集所针对的目标差异,可以分为以...

    小手冰凉
  • 横向扩展的NAS:混合云存储的关键

    目前,世界上大多数的数据中心仍然使用垂直缩放的存储解决方案,这是一个困扰人们的问题。这种传统的存储方法在设计时并没有考虑到现在达到泽字节的庞大数据。企业以往任何...

    静一
  • NFS - MIPS架构下构建NFS共享目录服务

    1987年,微软公司和英特尔公司共同制定了SMB(Server Messages Block,服务器消息块)协议,旨在解决局域网内的文件或打印机等资源的共享问题...

    小小工匠

扫码关注云+社区

领取腾讯云代金券