如需要了解更多Wi-Fi相关知识,请点击下方连接
https://blog.csdn.net/weixin_47456647/article/details/155307103?spm=1011.2415.3001.5331
1 引言
本技术说明包含设备厂商在实现 "基于 Wi-Fi Aware™的 Miracast®" 时所需的重要信息,描述了将 Wi-Fi Aware 引入 Miracast 的推荐方法。
Wi-Fi Aware [2] 扩展了 Wi-Fi 的能力,可在无需传统网络基础设施的情况下,快速发现、连接其他 Wi-Fi 设备并进行数据交换。它基于用户的即时位置与偏好,建立独立的设备到设备 Wi-Fi 连接,提供丰富的 "即时场景" 体验,适用于支持多设备间的数据通信。
Miracast [1] 目前基于 Wi-Fi 直连、隧道直连链路建立(TDLS)及 Wi-Fi 基础设施网络实现连接。Wi-Fi Aware 是 Miracast 新增的可选连接方式。
本技术说明涵盖 "基于 Wi-Fi Aware 的 Miracast" 的架构、连接拓扑、发现、连接建立与终止流程。支持该功能的设备可作为 Miracast 规范 [1] 中定义的 "Miracast 源端" 或 "Miracast 接收端"。本说明未明确的细节,需遵循 Wi-Fi Aware 与 Miracast 规范 [1][2]。
2 结合 Wi-Fi Aware 的 Miracast 架构
图 1 展示了扩展 Wi-Fi Aware 后的 Miracast 架构。Wi-Fi Aware 作为可选连接方式,与 Wi-Fi 直连、TDLS 及 Wi-Fi 基础设施并列。
3 基于 Wi-Fi Aware 的连接拓扑
Miracast 源端与接收端需通过 Miracast 连接传输所有数据与控制消息,该连接可采用 Wi-Fi 直连、TDLS、基础设施网络或 Wi-Fi Aware 中的任意一种方式。
图 2 展示了基于 Wi-Fi Aware 的 Miracast 连接。

注:文中引用失效的图中所示的接入点(AP),可以是同一 AP、不同 AP,也可以不存在。
在服务发现中,Miracast 源端需作为订阅者,Miracast 接收端需作为发布者。
Miracast 设备可支持与基础设施基本服务集(BSS)的并发运行。
Miracast 设备应支持通过 mDNS/DNS-SD 记录 [3] 实现服务发现与连接。
4.1 Miracast 发现
4.1.1 服务发现
基于 Wi-Fi 连接的 Miracast 发现流程,构建于 Wi-Fi Aware 服务发现方法之上(该方法在 Wi-Fi Aware [2] 中定义,使用 mDNS/DNS-SD 记录)。通过 Wi-Fi Aware 传递 mDNS/DNS-SD 记录的推荐实践在 [3] 中描述,Miracast 在 [3] 中被映射为通用服务。
本技术说明中定义的服务类型,与 Miracast [1] 中定义的服务类型兼容。本技术说明中 Miracast 使用的两种服务类型为:
- Miracast 源端:
displayr._tcp - Miracast 接收端:
display._tcp
服务 ID 的值通过 Wi-Fi Aware [2] 中定义的发布功能获取:
- 服务 ID:0xAB、0x1E、0x99、0x8A、0x3A、0x94(对应 "
display._tcp")
服务实例名称用于提供服务实例的额外描述,关于实例名称的命名规则详见 [4],例如 "Living Room TV"。
PTR 查询(主动或被动)可编码在 Wi-Fi Aware 订阅消息中,格式如下:
- 属性 ID:0x03 - 服务描述符属性
- 服务 ID:0xAB、0x1E、0x99、0x8A、0x3A、0x94 - 基于 Wi-Fi Aware 的 Miracast
PTR 查询信息还可额外编码在 Wi-Fi Aware 订阅消息中,格式如下:
- 属性 ID:0x0E - 服务描述符扩展属性
- 服务信息
- OUI:0x50-6F-9A(Wi-Fi 联盟)
- 服务协议类型:0x02 - 通用
- 服务特定信息(GSP)
- 子属性 ID:0x02 - 服务名称
- 值:
_display._tcp- 基于 Wi-Fi Aware 的 Miracast
- 值:
- 子属性 ID:0x02 - 服务名称
- 服务信息
PTR 响应(请求式或自发式)可编码在 Wi-Fi Aware 发布消息中(包含多种服务类型),格式如下:
- 属性 ID:0x03 - 服务描述符属性
- 服务 ID:0xAB、0x1E、0x99、0x8A、0x3A、0x94 - 基于 Wi-Fi Aware 的 Miracast
- 属性 ID:0x0E - 服务描述符扩展属性
- 服务信息
- OUI:0x50-6F-9A(Wi-Fi 联盟)
- 服务协议类型:0x02 - 通用
- 服务特定信息(GSP)
- 子属性 ID:0x02 - 服务名称(可选)
- 值:
_display._tcp- 基于 Wi-Fi Aware 的 Miracast
- 值:
- 子属性 ID:0x03 - 服务实例名称
- 值:DNS-SD 实例名称(例如 "Living Room TV")
- 子属性 ID:0x04 - 文本信息
- 值:按 [2] 中表 150 编码的 TXT 记录字段
- 子属性 ID:0x02 - 服务名称(可选)
- 服务信息
4.1.2 设备发现
基于 Wi-Fi Aware 的 Miracast 设备发现,构建于 Wi-Fi Aware [2] 中定义的同步方法之上,使 Miracast 设备能够发现相邻的 Miracast 设备,并判断是否可建立后续的 Miracast 连接。
若 Miracast 接收端负责按 Wi-Fi Aware [2] 中的方法传输 Wi-Fi Aware 信标,则需包含服务 ID 列表属性:
- 属性 ID:0x02 - 服务 ID 列表属性
- 服务 ID:0xAB、0x1E、0x99、0x8A、0x3A、0x94 - 基于 Wi-Fi Aware 的 Miracast
若 Miracast 源端负责传输 Wi-Fi Aware 信标,则需包含订阅 ID 列表属性:
- 属性 ID:0x28 - 订阅服务 ID 列表属性
- 服务 ID:0xAB、0x1E、0x99、0x8A、0x3A、0x94 - 基于 Wi-Fi Aware 的 Miracast
Miracast 设备需包含 WFD 信息元素(WFD IE),其中同时包含 WFD 设备信息子元素与 WFD R2 设备信息子元素 [1],并将其加入所有 NAN 信标、发布和订阅帧中。Miracast 设备使用 WFD 容器属性来承载 WFD IE。
4.2 基于 Wi-Fi Aware 的 Miracast 连接建立
若 Miracast 设备希望通过 Wi-Fi Aware 连接建立 Miracast 会话,应先通过 Wi-Fi Aware 发送发布消息。
Miracast 设备间成功建立连接后,需按照 Miracast [1] 中的规定执行 Miracast 能力协商。能力协商成功后,两台 Miracast 设备即完成配对,下一步是按 [1] 中定义的流程建立 Miracast 会话。
4.2.1 基于 Wi-Fi Aware 的 Miracast 数据路径建立
基于 Wi-Fi Aware 的 Miracast 连接,构建于 Wi-Fi Aware [2] 中定义的单播数据通信操作之上。通过 mDNS/DNS-SD 建立 TCP/IP 连接的 Wi-Fi Aware 数据路径建立推荐实践,在 [3] 中描述。
Miracast 设备间成功建立数据路径后,已连接的 Miracast 设备会尝试按 Miracast [1] 中描述的方式建立 TCP/IP 连接。

图 3:基于 Wi-Fi Aware 的 Miracast 服务发现与连接建立示例
4.2.2 Wi-Fi Aware 与基础设施网络的并发访问
使用 Wi-Fi Aware 进行 Miracast 会话时,Miracast 源端和 / 或接收端也可关联到某个 AP。此类 Miracast 设备应支持与 Wi-Fi BSS 的并发流量访问,且对分发系统上其他设备的干扰最小。
若 Miracast 设备已关联到 AP,可在 NAN 信标、发布和订阅帧中包含 NAN 可用性属性,该属性用于指示关联 AP 的信道及偏好:
- 属性 ID:0x12 - NAN 可用性属性
- 使用偏好为 3 的潜在可用性条目
同时关联到 AP 的 Miracast 设备,需遵循 Wi-Fi Aware [2] 中关于 Wi-Fi Aware 链路并发访问的流程。
4.3 基于 Wi-Fi Aware 的 Miracast 连接终止
使用 Wi-Fi Aware 时,Miracast 源端或接收端可通过 Wi-Fi Aware [2] 中定义的连接终止方法,有序终止 Miracast 连接。