Windows/Linux/Mac 系统局域网服务发现协议及传输速度比较

简介

分析 / 验证对比常见局域网服务发现协议在 Windows/Linux/Mac 等不同系统下的支持和表现

在使用不同系统的智能硬件时,如常见的树莓派 / Openwrt 路由器 / Debian/Fedora/Windows/Mac 等系统是,系统间相互发现以及网络共享本应是系统的基础服务,无需用户过多参与。

不过现实往往和理想之间的差距让我们惊讶,不同系统相互之间的发现以及共享并没有那么轻松.

开发的硬件设备无法在常见系统的网络邻居正确的现实出来,实在是很丧气的事情.

那么,就系统来看看局域网服务发现协议在不同系统上的支持及表现.

我的服务器啊,你在哪里

想要访问局域网网络里面的设备,远没有应有的轻松。每次新装系统或者设备入网,总是有这样或者那样的问题.

各系统网络邻居正常工作的协议汇总:

OS Windows Linux Macos
网络邻居显示 UPnP + WS-Discovery mDNS + SMB mDNS (服务器侧特别配置) + SMB
网络邻居共 WS-Discovery + SMB mDNS + SMB mDNS (服务器侧特别配置) + SMB
Linux 和 Macos 比较相似,但是实现起来还是有明显的差异,下文会具体描述.

1. Windows

Windows 一如既往的走在自己的路上,网络邻居发现协议自搞一套.

WS-Discovery(Web Services Dynamic Discovery,Web服务动态发现)

下图是此协议的抓包

PDNAS-WS-Discovery - 抓包

此协议和 UPnP 极其相似,都是基于 SSDP 协议衍生的 XML 表达的,如果不支持此协议,则无法在 Windows10 的网络邻居里面显示为 PC, 无法直接点击访问共享.

支持此协议后,Windows10 的网络邻居里面会在计算机类型的里面显示设备.

PDNAS-WINDOWS-NETWORK-NEIGHBOR-COMPUTER

UPnP (Universal Plug-n-Play,通用即插即用)

UPnP 是早期路由器常用的协议,目前从不同系统的验证来看,仅有 Windows 默认在文件浏览器里面支持,会在网络邻居里面显示出设备的信息;Ubuntu 和 MacOS 都需要单独配置或者应用程序才能浏览.

这个协议目前各种路由器基本都能支持,不过其安全问题频出,作用并不明显.

PDNAS-WINDOWS-UPNP-INFORMATION

2. MacOS

mDNS (multicast DNS )

MAC 整体表现和 Linux 比较接近,双方使用的协议也是类似,只是在细节处理上有些区别.

mDNS 协议本身应用比较广泛,MAC 比较早就支持。在 Mac 新版本里面,网络邻居默认可以发现 mDNS 设备.

因为历史原因,早期的 AFP 协议升级后已经没有开源协议可以完美支持,因此使用 avahi 的 mDNS 服务时,如果还使能了 AFP 业务的话,MAC 会显示为大问号.

AFP - 在新 MAC 版本上的展示

使用配置好的服务文件,MAC 可以正常显示设备

PDNAS-MACOS-NETWORK-NEIGHBOR

在调试过程中,还看到了网络邻居显示为 PC 的图标,有知道显示为这个图标的条件的小伙伴吗&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值