logo资料库

UPNP协议文档中文版.pdf

第1页 / 共113页
第2页 / 共113页
第3页 / 共113页
第4页 / 共113页
第5页 / 共113页
第6页 / 共113页
第7页 / 共113页
第8页 / 共113页
资料共113页,剩余部分请下载后查看
目录
介绍
何为UPnP?
UPnP论坛
本文内容
读者对象
要求 Vs 推荐使用
术语缩写
参考和资源
致谢
0. 寻址
0.1寻址:决定是否采用Auto-IP
0.2寻址:选择一个地址
0.3寻址:测试地址
0.4寻址:定期检查动态地址的可用性
0.5寻址:设备命名与DNS交互
0.6寻址:名称到IP地址的解析
0.7寻址参考
1. 发现
1.1发现:宣告
1.1.1发现:宣告协议与标准
1.1.2发现:宣告:设备可用――ssdp:alive NOTIFY
命令行
标头
1.1.3发现:宣告:设备不可用――ssdp:byebye NOTIFY
命令行
标头
1.2发现:搜索
1.2.1发现:搜索协议与标准
1.2.2发现:搜索:M-SEARCH形式请求
命令行
标头
1.2.3发现:搜索:响应
标头(header)
错误
1.3发现参考
2. 描述
2.1描述:设备描述
2.2 描述:UPnP设备模板
2.3 描述:服务描述
2.4 描述:UPnP服务模板
2.5 描述:非标准厂商扩展
2.6 描述:用于设备的UPnP模板语言
用于设备的UPnP模板语言
2.7 描述:用于服务的UPnP模板语言
用于服务的UPnP模板语言
2.8 描述:增加UPnP模板语言
2.9 描述:取得描述
命令行
标头
标头
2.10 描述参考
3. 控制:
3.1 控制:协议
3.2 控制:动作
3.2.1 控制:动作:调用
命令行
标头
消息体:
命令行
标头
3.2.2 控制:动作:响应
响应行
标头
消息体
响应行
标头
消息体
3.3 控制:查询变量
3.3.1 控制:查询:调用
命令行
标头
消息体
3.3.2 控制:查询:响应
响应行
标头
消息体
响应行
标头
消息体
3.4 控制参考
4. 事件
4.1事件:订阅
4.1.1事件触发:订阅:带有NT和CALLBACK的订阅
命令行
标头
标头
错误
4.1.2事件触发:续订:通过SID续订
命令行
标头
错误
4.1.3事件:取消订阅:UNSUBSCRIBE
命令行
标头
错误
4.2事件:事件消息
4.2.1 事件:事件消息:NOTIFY
命令行
标头
消息体
错误
4.3事件:用于事件的UPnP模板语言
用于事件触发的UPnP模板语言
4.4事件:增加UPnP模板语言
4.5事件参考
5. 展示
5.1 展示参考
术语表
文章翻译免责声明 本UPnP文档最初用英文发布,并仅有英文版本通过了UPnP论坛的正式审核。 文章已采用翻译服务和翻译技术在英文版本的基础上翻译成目标语言版本, UPnP Implementers Corporation及其相关机构不对翻译版本做出任何保证,也 不为由翻译不准确所导致的直接或间接损失承担责任。在使用翻译版本中所包括 的技术信息时,用户同意UPnP Implementers Corporation和UPnP论坛成员对于 英文到目标语言翻译的不完整、或不准确导致的全部或部分损失不承担任何责 任。此外,用户同意应保护UPnP Implementers Corporation免受由语言翻译而 带来的伤害。
UPnP™设备架构 1.0 版,2000 年 6 月 8 日上午 10:41 版权所有© 1999-2000 UPnP™论坛贡献成员。所有权利受到保护。 目录 介绍 0. 寻址 1. 发现 2. 描述 3. 控制 4. 事件触发 5. 展示 术语表 介绍 何为 UPnP? UPnP 是针对智能家电、无线设备以及各种外观尺寸的个人电脑的普遍对等 (peer-to-peer)网络连接而设计的一种架构。它旨在为家庭、小型企业、公共 场所中或连接到互联网的 ad-hoc 网或未管理网络提供易于使用、灵活且基于标 准的连接。UPnP 是一个充分利用 TCP/IP 和 Web 技术的分布式开放型网络体 系结构,除能够在家中、办公室和公共场所联网设备之间的完整控制和数据传输 之外,还可建立无缝紧密的连接网络。
UPnP 不仅仅只是即插即用外设模式的简单扩展。它设计用于支持零配置、 “不可见”联网,以及对众多厂商的广泛设备类型的自动发现。这就意味着,一 台设备能够动态加入一个网络,获取一个 IP 地址,通报其功能,以及了解其它 设备的存在和功能。DHCP 和 DNS 服务器为可选服务器,仅当他们在网上存在 时可以使用。最后,设备能够顺利地自动离线,而不会造成任何不期望的影响。 UPnP 充分利用了包括 IP、TCP、UDP、HTTP 和 XML 在内的互联网组件。 正如互联网那样,合约基于陈述性的有线协议,以 XML 来表达,并通过 HTTP 进行传输。IP 网间协议凭借其以下已经被验证的能力而成为 UPnP 的一个有力 选择:跨越不同的物理媒体、支持实际的多厂商互操作,以及实现与互联网、大 量家庭和办公室内联网的协作融合等等。UPnP 的设计明确用于支持这些环境。 此外,当成本、技术或传统因素等阻止与 UPnP 连接的媒体或设备运行 IP 协议 时,UPnP 还可通过桥接方式支持运行非 IP 协议的媒体。 何为 UPnP 的“通用性”?不使用设备驱动程序;取而代之的是通用协议。 UPnP 网络不依赖于任意媒体。UPnP 设备可以在任何操作系统上采用任何编程 语言来实现。UPnP 并未针对运行于控制点上的应用而指明或限制 API 的设计; 操作系统厂商可以创建满足其客户需求的 API。UPnP 通过使用浏览器和传统应 用程序控制来使厂商能够控制设备的用户界面(UI)并实现交互。 UPnP 论坛 UPnP 论坛是一项业界发起的计划,致力于在众多不同厂商的独立设备和个 人计算机之间轻松建立强健的连接。UPnP 论坛寻求开发描述设备协议和基于 XML 的设备模式的标准,以便在一个可伸缩的网络环境中实现设备间互操作性。 UPnP 论坛负责监督针对一致性设备的一项标识计划。
UPnP 论坛设立了具体专业知识方面的工作委员会。这些工作委员会负责制 定建议设备标准、构建范例实施,以及构建适当的测试套件。本文指出了属于 UPnP 论坛工作委员会范围的具体技术决定。 UPnP 厂商能够凭借共享知识产权和标识计划的优势和互操作性的信心构 建出符合一致性要求的设备。如不参加标识计划,厂商还可以构建符合 UPnP 设备架构的设备,而不用通过正式标准程序。如果厂商构建非标准设备,将由他 们自己制定技术决策,而非 UPnP 论坛工作委员会。 本文内容 此处包含的 UPnP 设备架构(原称作 DCP 框架)定义了控制器或控制点以 及设备之间的通信协议。UPnP 针对发现、描述、控制、事件触发和展示采用了 以下协议栈。 UPnP 厂商[紫色] UPnP 论坛 [红色] UPnP 设备架构 [绿色] HTTPMU (多播) [黑 GENA[藏 SSDP[蓝 HTTPU (单播) [黑 SSDP[蓝 色] HTTP[黑 GENA[藏 SOAP[蓝 青色] 色] 色] 色] 青色] 色] HTTP[黑 色] TCP[黑色] 色] UDP[黑色] IP[黑色] 在最高一层,消息在逻辑上仅仅包含关于厂商设备的 UPnP 厂商特定信息。 移至下一层协议栈后,厂商内容由 UPnP 论坛工作委员会定义之信息提供。来 自以上各层的消息存储在 UPnP 特定协议中,并在本文中进行了定义。之后,
以上消息通过采用简单服务发现协议(SSDP)、通用事件通知架构(GENA) 和简单对象访问协议(SOAP)来进行格式化。然后消息通过运行于 UDP 上的 多播或单播类 HTTP,或是运行于 TCP 上的标准 HTTP 进行传输。最终,以上 所有消息均通过 IP 进行传输。本文其余部分详细描述了这些协议层中每层的内 容和格式。为便于参考,以上[方括弧]中的颜色指出了全文各协议所定义的具体 消息成份。 UPnP 网络互连的基础是 IP 寻址。每台设备均必须配有动态主机配置协议 (DHCP)客户端,并在设备首次与网络连接时搜索 DHCP 服务器。如果 DHCP 服务器可以使用,即网络处于管理状态,则设备必须采用分配给它的 IP 地址。 如果没有 DHCP 服务器可用,即网络处于未管理状态,则设备必须利用 Auto IP 来获取一个地址。简言之,Auto IP 说明了一台设备如何从一组保留地址中智能 地选出一个 IP 地址,以及如何能够在处于管理和未管理状态的网络间轻松移动。 如果设备在 DHCP 交易过程中获得了一个域名(例如通过一台 DNS 服务器或通 过 DNS 转发),则设备应当在后来的网络操作中采用该名称;否则即应采用其 IP 地址。 如果获取了一个 IP 地址,则 UPnP 网络的第 1 步是发现。在将一个设备添 加到网络上之后,UPnP 发现协议允许该设备向网络中的控制点宣告其服务。同 样,当一个控制点被添加到网络后,UPnP 发现协议允许该控制点在网上搜索感 兴趣的设备。两种情况下的根本信息交换均为一个发现消息,包含有关该设备或 其服务之一的一些基础信息(例如其类型、标识符和指向更详细信息的一个指 针)。UPnP 发现协议基于简单服务发现协议(SSDP)。以下发现部分说明了 设备如何进行宣告,控制点如何搜索,以及有关发现消息格式的详细信息。 UPnP 网络中的第 2 步是描述。控制点在发现一个设备之后仍然对其知之甚 少。为了使控制点了解到更多关于设备及其能力的信息或与设备进行交互,则控 制点必须取得来自该设备在发现消息中所提供之 URL 的设备描述。设备可能包 含其它逻辑设备,以及功能单元或服务。对于设备的 UPnP 描述通过 XML 来表
达,并包括诸如模型名称和号码、序列号、制造商名称和厂商专门网站 URL 等 专门针对厂商的制造商信息。该描述还包括一列任意的嵌入式设备或服务,以及 用于控制、事件触发和展示的 URL。对于每项服务,此描述均包括一列命令或 动作,而服务(参数或变量)对于每个动作做出响应;针对服务的描述还包括一 列变量;这些变量模型化服务在运行时的状态,并通过数据类型、范围和事件特 征进行描述。以下关于描述的部分说明了设备如何被描述,以及这些描述如何被 控制点取得。 UPnP 网络中的第 3 步是控制。当一个控制点取得设备描述后,该控制点可 将动作发至一个设备的服务。为此,控制点将一条适当的控制消息发至服务的控 制 URL(在设备描述中提供)。控制消息同样利用简单对象访问协议(SOAP) 通过 XML 来表达。类似于功能调用,该服务针对控制消息返回了所有的专门动 作取值。动作的效果可以通过描述服务运行时状态的变量进行描述。以下关于控 制的部分说明了有关动作、状态变量以及控制消息格式的描述。 UPnP 网络的第 4 步是事件触发。针对服务的 UPnP 描述包括一个服务响应 的动作列表,以及一个对服务器运行时状态进行展示的变量列表。在这些变量变 更时服务会发布更新,一个控制点可以预订接收此信息。服务通过发送事件消息 来发布更新。事件消息包含一个或多个状态变量名和这些变量的当前值。这些消 息同样通过 XML 来表达,并采用通用事件通知架构(GENA)格式。当控制点 首次预定时,会发送一个特殊的初始事件消息;此事件消息包含所有事件变量的 名称和值,并允许订阅者对服务状态模式进行初始化。为了支持拥有多个控制点 的环境,事件触发设计用于将任何动作的效果通知所有控制点。因此,所有订阅 者均会收到全部的事件消息。订阅者收到关于所有已变更事件变量的事件消息, 此事件消息无论状态变量为何改变都被发送(由于响应一个要求动作,或由于服 务建模状态的变更)。以下关于事件触发的部分说明了事件消息的预订和格式。 UPnP 网络中的第 5 步是展示。如果设备有用于展示的 URL,那么控制点 就可以通过此 URL 取得一个页面,在浏览器中加载该页面,并且根据页面的功
能,支持用户控制设备和/或浏览设备状态。每一项完成的程度取决于展示页面 和设备的具体功能。以下关于展示的部分说明了关于取得一个展示页面的协议。 读者对象 本文的读者对象包括 UPnP 设备厂商、UPnP 论坛工作委员会的成员,以及 需要了解 UPnP 协议技术细节的其他人员。 本文假定读者熟悉 HTTP、TCP、UDP 和 IP 协议族;本文无意对这些协议 进行说明。本文还假定多数读者并不了解 XML。虽然它并非一份 XML 指南,但 考虑到 XML 与 UPnP 的紧密关系,文章仍详细介绍了 XML 相关问题。本文没 有假定读者了解各种编程或脚本语言。 要求 Vs 推荐使用 本文中,特性被描述为要求、推荐使用或可选,表示如下: 要求(或必须) 这些基本特性必须依照 UPnP 来实现。 推荐使用(或应当) 这些特性添加了 UPnP 支持的功能,应当进行实现。推荐使用的特性充 分利用了 UPnP 的能力,通常不会造成成本的大幅提高。注意,对于一 致性测试而言,如果要实施一个推荐特性,则该特性必须满足指定要求, 以符合这些准则。一些推荐使用的特性在将来可能变成要求特性。 可选(或可能)
这些特性既非 UPnP 要求,也非其推荐使用,然而一旦实现,则其必须 满足指定要求,以符合这些准则。这些特性在将来不可能成为要求特性。 术语缩写 含意 SSDP UPC UPnP URI URL URN UUID XML 简单服务发现协议 通用产品代码 UPnP 统一资源标识符 统一资源定位器 统一资源名称 全球唯一标识符 扩展标记语言 术语缩写 术语缩写 含意 ARP 地址解析协议 DHCP 动态主机配置协议 DNS 域名系统 FXPP 灵活的 XML 处理框架 GENA 通用事件通知架构 HTML 超文本标记语言 HTTPMU 基于 UDP 的 HTTP 多播 HTTPU 基于 UDP 的 HTTP(单播) ICANN 指定名称和编号的互联网公司 SOAP 简单对象访问协议(SOAP) 参考和资源 RFC2616 HTTP:超文本传输协议 1.1IETF RFC。 . RFC2279 UTF-8,ISO 10646 的一种转化形式(字符编码)。IETF RFC。 XML 扩展标记语言,W3C推荐。.
分享到:
收藏