技术说明:基于 Wi-Fi Aware™的 Miracast® 应用

如需要了解更多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

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 记录字段

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 连接。

相关推荐
拾光Ծ8 小时前
【linux】环境变量(详解)
linux·运维·服务器
电商API_180079052478 小时前
主流电商平台 API 横向测评:淘宝、京东、拼多多接口能力与对接成本分析
大数据·开发语言·网络·数据库·人工智能
落羽的落羽8 小时前
【C++】并查集的原理与使用
linux·服务器·c++·人工智能·深度学习·随机森林·机器学习
神奇的程序员15 小时前
从已损坏的备份中拯救数据
运维·后端·前端工程化
虾..16 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙16 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
玄斎17 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
trayvontang18 小时前
Nginx之location配置
运维·nginx
十六年开源服务商18 小时前
WordPress定制开发最佳公司的用户画像
运维