有许多 STA(站)连接到单个 AP。我的问题是 STA 如何知道连接到同一 AP 的其他 STA。例如,在 Windows 中,当我们单击“网络”图标时,我们会获得连接到同一 AP 的其他计算机的列表。那么基本上,STA 和 AP 之间交换了哪些帧才能获得连接到同一 AP 的其他计算机的列表?
答案1
它与有线以太网 LAN 相同。没有任何无线特有的功能。
Windows 通常使用 SMB 浏览和 NetBIOS 名称服务以及链路本地多播名称解析。
UPnP 也有一些发现机制,我认为它涉及将奇怪的 HTTP GET 放入 UDP 消息并进行多播。
IETF 标准是 ZeroConf,苹果称之为 Bonjour。它使用多播 DNS (mDNS)。
Cisco 设备使用 Cisco 发现协议 (CDP)。
一种称为链路层发现协议 (LLDP) 的协议有其忠实的拥护者,但我不确定它有多普及。与大多数其他发现协议不同,使用 LLDP 可以发现网络的拓扑(逻辑图),但我认为 LLDP 在发现每个设备提供的应用程序级服务方面并不那么出色。
许多其他发现协议已经出现和消失,并且许多仍然存在,但仅由一家公司或产品或协议系列使用。
好吧,公平地说,我应该提到 Wi-Fi Direct(Wi-Fi 联盟在没有 AP 的情况下实现 802.11 点对点的方式,就像 Wi-Fi 联盟的“Miracast”无线屏幕镜像技术所使用的那样)做具有无线特定的发现协议。我记得,支持 Wi-Fi Direct 的设备会花费一些时间发送特殊信标,并使用特殊探测响应来响应特殊探测请求。其他支持 Wi-Fi Direct 的设备可以通过进行信道扫描来找到它们,就像普通 STA 找到 AP 一样。