局域网内设备文件互传方案探讨

网络 Wiki

本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

(附传输协议简介)

LAN:Local Area Network

NAS:Network Attached Storage(网络附属存储)

传输协议简介

FTP

File Transfer ProtocoL 文件传输协议
如此直白的命名方式,定是由来已久了。(它也确实是最基础的文件传输方式)

默认使用 20、21 端口。

优点

  • 独立于系统用户组,只要通讯端口开启就能方便访问。

缺点

  • FTP 是明文传输,安全性不高,容易遭受中间人攻击,只在特定的情况下或者你信任的网络中使用。所以后来又出现了 SFTP 和 FTPS 等加密传输。

适用:

  • 在不连接任何 WIFI 的情况下,手机开热点(设置密码)给电脑或其它手机进行一次性大文件传输,比如分享视频给周围的好朋友,速度非常快,完全取决于双方设备的信号强度和内存读写速度,如果手机的闪存性能很高且支持 5G WiFi,速度可以飞起,比质量差的 USB 有线传输还快!

SSH (SFTP)

Secure Shell 安全外壳协议
Secure FTP 安全文件传送协议
SFTP 为 SSH 的一部分,是用 SSH 封装过的FTP协议,相当于经过加密的 FTP 协议,功能与FTP一样,只是传输数据经过加密,优先考虑使用 SFTP 替代 FTP。

默认使用 22 端口。

支持密码和密钥验证。

优点:

  • 安全可靠。
    所有数据传输都是加密和授权的;
    防止 DNS 欺骗和 IP 欺骗;
    甚至可以关闭密码登录,仅允许 ssh 密钥验证,安全性更上一层楼(除非第三方能偷到你的私钥文件)。
  • 传输的数据经过压缩,可加快传输的速度。

缺点:

  • 加密压缩需要耗费一定性能。但对小文件传输和高性能设备来说,这点损失在安全性面前不值一提。

适用:

  • 大多数情况下用于替代 FTP,兼顾速度和安全性。

HTTP

HyperText Transfer Protocol 超文本传输协议

默认 80 端口

优点:

  • HTTP 支持动态端口,重用已存在的持久连接,从而有更好的 TCP 表现。
  • 支持流水线,客户端可以在上一个请求处理完之前,发出下一个请求,其结果就是多次请求数据之前省掉了部分服务器客户端往返时延。而FTP并没有这项支持。
  • 持久连接: 对一个 HTTP 会话来讲,客户端可以维护一个单个的连接并使用它进行任意数量的数据传输。FTP 每次有数据的需要时都创建一个新的连接。重复的创建新的连接带来的体验并不好,因为每次创建连接都必须让双方握手验证,这消耗了很多时间。
  • 自动的压缩机制,传输的数据更少。(局域网又不担心流量😌)
  • 支持代理。(本地连接也用不着)
  • ……

缺点:

  • HTTP 协议不是直接面向文件级别的,不能通过命令列出远程服务器上的目录列表,而 FTP 可以。
  • HTTP 上传是通过 HTTP 协议来向服务器上传文件,所以服务器端应该有一个处理客户端请求的页面。

但从使用环境来看,也可以这样想,只要我的服务端有一个网页,其它任意客户端就能使用浏览器访问我提供的文件,很多人不会为自己的手机安装 FTP 工具,但几乎没有手机系统出厂不自带浏览器的。(Windows10 和 Chrome 早就默认关闭 FTP 功能,手动开启还得费一番功夫。)
主流的下载工具也都支持 http 方式下载。

适用:

  • 对方是小白,你需要方便快捷地传输大量文件,比如几百首音乐、几百张照片给 Ta。(什么?你也是小白?那随便用 “茄子快传”、vivo 出品的 “互传” 等工具就行。)

SMB / Samba

Server Message Block 服务器信息块

默认 445 端口

优点

  • 兼容性好,在各平台获得了广泛支持,包括 Windows、Linux、macOS 等各系统挂载访问都很方便。另外 SMB 也是各种电视、电视盒子默认支持的协议,可以通过 SMB 远程播放电影、音乐和图片。
  • 端到端加密、安全性高,配置选项丰富,支持 ACL 并支持多种用户认证模式。

缺点

  • 传输效率稍低,速度不太稳定,会有波动。同样的设备及网络环境下,下载速度比 FTP 慢。

适用:

  • 跨设备流媒体即时播放
    假如你的电脑接了超大容量的硬盘,几百部视频、几千首歌在里边等着你,但冬天太冷懒得爬出被窝……那么,强烈推荐启用电脑的 SMB 功能,开启方法请上网搜。
    记得 设置密码,因为电脑通常是长时间连接 WiFi 的,要是被家里客人、学校校园网下的其他同学看见你硬盘里的存货可就不妙。
    实测,SMB 局域网播放视频的效果比 FTP 好得多,滑动进度条很顺利,如果使用 FTP 即时播放,跳转进度的等待时间过长。当然你也可以用 FTP 的方式完整地下载视频,然后播放,最后删除(听起来就很麻烦)。

WebDAV

Web-based Distributed Authoring and Versioning 基于Web的分布式编写和版本控制

“WebDav 是什么?” “一座桥梁。”

WebDAV 是 HTTP 的扩展,有利于用户间协同编辑和管理文档。

它可以将不同软件的数据,实时同步至一个平台进行管理。

不过它更开放(不被设备类型限制)、更简单(无非是输入账号密码)、更安全(有效避免数据损失)

WebDAV 与其说是一种技术协议,不如说它更像一座畅通无阻的桥梁,为日趋封闭的互联网生态打通一道连接的可能。

参考

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。