文章翻译免责声明
本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
设备架构
[
绿色
]
SOAP[蓝
色]
HTTPMU (多播) [黑
色]
GENA[藏
青色]
SSDP[蓝
色]
HTTPU (单播) [黑
色]
SSDP[蓝
色]
HTTP[黑
色]
HTTP[黑
色]
GENA[藏
青色]
UDP[黑色] TCP[黑色]
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 来表
- 1
- 2
- 3
- 4
前往页