Skip to content

第二章 文件存储 v1.0 ​

在数据存储与共享领域,文件存储是一种以文件和目录结构为基础的存储方式,而共享协议则是实现不同设备、操作系统之间文件共享的核心技术。两者结合,能够让用户在网络环境中便捷地访问、传输和管理文件。

第一部分 核心特点 ​

文件存储(File Storage)是最贴近用户日常使用习惯的存储形式,它通过文件系统(如NTFS、EXT4、APFS等)对数据进行组织和管理,数据以文件为基本单位,文件之间通过目录(文件夹)形成层级结构。

  • 层级结构清晰:采用"目录-子目录-文件"的树形结构,符合人类对数据的组织逻辑,便于用户查找和管理。
  • 兼容性强:广泛支持各类操作系统(Windows、Linux、macOS等)和应用程序,用户可直接通过操作系统的文件管理器访问。
  • 依赖文件系统:文件的创建、读取、更新、删除(CRUD)操作均通过文件系统实现,文件系统负责维护文件的元数据(如文件名、大小、修改时间、权限等)。

一、典型应用场景 ​

  • 个人电脑本地存储(如硬盘中的文档、图片、视频)。
  • 企业内部文件服务器(如部门共享文件夹、员工个人文件柜)。
  • 小型团队协作存储(如项目文档共享、资料归档)。

第二部分 常用共享协议 ​

共享协议是实现网络中数据共享和传输的规则集合,通过标准化的通信方式,使不同设备或系统能跨网络访问文件资源。以下是三种常见的共享协议:

一、CIFS(Common Internet File System,通用互联网文件系统) ​

CIFS是微软基于SMB(Server Message Block,服务器消息块)协议扩展的网络文件共享协议,主要用于Windows系统间的文件共享,支持跨平台访问(如Linux、macOS也可兼容)。

1.特点 ​

  • 面向连接:基于TCP协议,使用445端口(早期依赖139端口,后简化为445)。
  • 功能丰富:支持文件读写、权限控制(基于Windows ACLs)、文件锁定(避免多用户冲突)、打印机共享等。
  • 兼容性:原生适配Windows系统,Linux/macOS需通过Samba等工具实现支持。

2.工作原理 ​

  1. 客户端向服务器发送连接请求(如访问\\server\share);
  2. 服务器验证用户身份(用户名/密码或域认证);
  3. 建立会话后,客户端通过CIFS命令(如读取、写入、删除)操作文件。

3.应用场景 ​

  • 企业内部Windows环境的文件共享(如部门共享文件夹);
  • 跨平台(Windows与Linux)的小型文件共享场景。

4.优缺点 ​

优点缺点
对Windows生态兼容性极强,支持复杂权限控制协议开销较大,在高并发场景下性能可能受限
支持实时文件锁定,适合多用户协作跨平台配置较复杂(需依赖Samba等工具)

二、NFS(Network File System,网络文件系统) ​

NFS是由Sun公司开发的分布式文件系统协议,主要用于Unix/Linux系统间的文件共享,通过将远程服务器的文件系统挂载到本地,实现"本地访问远程文件"的体验。

1.特点 ​

  • 无状态协议:基于UDP或TCP,默认使用2049端口(不同版本可能涉及动态端口)。
  • 轻量高效:协议设计简洁,开销低于CIFS,适合大文件传输。
  • 版本迭代:主流版本为NFSv3(广泛兼容)和NFSv4(支持状态管理、ACL权限、加密等)。

2.工作原理 ​

  1. 服务器通过/etc/exports配置共享目录及允许访问的客户端;
  2. 客户端通过mount命令将远程NFS共享目录挂载到本地路径(如mount server:/share /local);
  3. 客户端对本地挂载路径的操作被透明转发到服务器。

3.应用场景 ​

  • Linux/Unix服务器集群的文件共享(如Web服务器静态资源共享);
  • 虚拟化环境中虚拟机的共享存储(如KVM虚拟机镜像存储)。

4.优缺点 ​

优点缺点
轻量高效,适合大文件和高吞吐量场景NFSv3无原生加密,安全性依赖网络隔离(如VPN)
配置简单,Unix/Linux原生支持权限控制较基础(NFSv4前依赖Unix UID/GID,易冲突)

三、FTP(File Transfer Protocol,文件传输协议) ​

FTP是用于在网络上进行文件传输的标准协议,专注于"文件上传/下载"功能,不支持像本地文件系统一样的实时访问(如直接编辑远程文件)。

1.特点 ​

  • 双端口工作:使用21端口作为控制端口(传输命令),数据传输端口动态分配(主动模式用20端口,被动模式用随机高位端口)。
  • 认证机制:支持用户名/密码认证,也可配置匿名访问(无需密码)。
  • 扩展协议:衍生出SFTP(基于SSH的加密传输)、FTPS(基于SSL/TLS的加密传输),解决原生FTP明文传输的安全问题。

2.工作原理 ​

  1. 客户端通过21端口与服务器建立控制连接,发送认证信息;
  2. 服务器验证通过后,客户端通过"主动模式"(服务器主动连接客户端20端口)或"被动模式"(客户端连接服务器随机数据端口)建立数据连接;
  3. 通过数据连接传输文件(上传/下载)。

3.应用场景 ​

  • 网站文件更新(如通过FTP上传网页代码到服务器);
  • 匿名文件分发(如开源软件镜像站的文件下载)。

4.优缺点 ​

优点缺点
协议成熟,客户端工具丰富(如FileZilla)原生不加密,数据和密码明文传输,安全性低
支持断点续传,适合大文件传输不支持实时文件共享,仅能通过上传/下载更新文件