UPnP通用即插即用

来自维基百科-自由的百科全书。非**似的 b***u搜索。

通用即插即用(UPnP)是由通用即插即用论坛(UPnP™ Forum)提出的一套网络协议。该协议的目标是使家庭网络(数据共享、通信和娱乐)

和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。UPnP 通过定义和发布基于开放、因特网通讯网协议标准的 UPnP 设备控制

协议来实现这一目标。

UPnP 这个词是从随插即用(Plug-and-play)衍生而来的。随插即用是一种热拔插技术。

概述

UPnP 体系允许 PC 间的点对点连接、网际互连和无线设备。它是一种基于 TCP/IP、UDP 和 HTTP 的分布式、开放体系。

UPnP 使得任意两个设备能在 LAN 控制设备的管理下相互通信。其特性包括:

  • 传输介质和设备独立。UPnP 技术可以应用在许多媒体上,包括电话线、电线(电力线通信PLC)、以太网、红外通讯技术(IrDA)、无线电(Wi-Fi,蓝牙)和Firewire(1394)。无需任务设备驱动;而是采用共同的协议。
  • 用户界面(UI)控制。UPnP 技术使得设备厂商可以通过网页浏览器来控制设备并进行交互。
  • 操作系统和程序语言独立。任何操作系统和程序语言均可以用于构建 UPnP产品。UPnP 并没有设定或限制运行于控制设备上的应用程序 API;OS厂商可以创                       建满 足他们客户需求的 API。UPnP使得厂商可以像开发常规应用程序一样来控制设备 UI 和交互。
  • 基于因特网技术。UPnP 构建于 IP, TCP, UDP, HTTP,和 XML 等许多协议之上。
  • 编程控制。UPnP 体系同时支持常规应用程序编程控制。
  • 扩展性。每个 UPnP 设备都可以有构建于基本体系之上、与具体设备相关的服务。

UPnP 支持零配置,"看不见的网络" 和自动检测;任何设备能自动加入一个网络, 获取一个 IP 地址,宣布自己的名字,根据请求检查自身功能以及检测出其它设备                      和它们的功能。DHCP 和 DNS 服务是可选的,并只有它们在网络上存在的时候才会 使用。设备可以自动离开网络而不会遗留下任何不需要的状态信息。

UPnP 的基础是 IP 地址解析。每一个设备都应当有一个 DHCP 客户端并在连入网 络的时候自动搜索 DHCP 服务。如果没有找到 DHCP 服务,也就是说网络是缺乏

管理状态,那么设备必须给自己设定一个地址。如果在和 DHCP 服务器交互的过程中, 设备获得了一个域名(比如通过 DNS 服务器或者 DNS 传递),那么它应当

在接下 来的网络操作中使用这个域名;否则,设备应当使用它的 IP 地址。

协议

发现

给定一个IP地址,UPnP 网络中的第一步是发现。当一个设备被加入到网络中, UPnP检测协议允许该设备向控制点广播自己的服务。类似地,当一个控制点加入到 网络中的时候,它也能够搜索到网络中存在的、感兴趣的设备相关信息。这两种类 型的基础交互是一种仅包含少量、重要相关设备信息或者它的某个服务。比如,类 型、标识和指向更详细信息的链接。UPnP 检测协议是基于简单服务发现协议(SSDP)的。

描述

UPnP 网络的下一步是描述。当一个控制点检测到一个设备时,它对该设备仍然知 甚少。为了使控制点了解更多关于该设备的信息或者和设备进行交互,控制点必须 从设备发出的检测信息中包含的 URL 获取更多的信息。某个设备的 UPnP 描述是 XML 的方式,包括品牌、厂商相关信息,如型号名和编号、序列号、厂商名、品牌 相关 URL 等。描述还包括一个嵌入式设备和服务列表,以及控制、事件传递和存 在相关的 URL。对于每种设备,描述还包括一个命令或动作列表,包括响应何种服 务,针对各种动作的参数;这些变量描述出运行时设备的状态信息,并通过它们的 数据类型、范围和事件来进行描述。

控制

UPnP 网络的下一步是控制。当一个控制点获取到设备描述信息之后,它就可以向该 设备发送指令了。为了实现此,控制点发送一个合适的控制消息至服务相关控制 URL(包含在设备描述中)。控制消息也是通过简单对象访问协议(SOAP)用 XML 来描 述的。类似函数调用,服务通过返回动作相关的值来回应控制消息。动作的效果, 如果有的话,会反应在用于刻画运行中服务的相关变量。

事件通知

下一步是事件通知。一个 UPnP 描述包括一组命令栏表和刻画运行时状态信息的变 量。服务在这些变量改变的时候进行更新,控制点可以进行订阅以获取相关改变。 服务通过发送事件消息来发布更新。事件消息包括一个或多个状态信息变量以及它 们的当前数值。这些消息也是采用 XML 的格式,用通用事件通知体系(GENA)进行 格式化。一个特殊的初始化消息会在控制点第一次订阅的时候发送,它包括服务相 关的变量名及值。为了支持多个控制点并存的情形,事件通知被设计成对于所有的 控制点都平行通知。因此,所有的订阅者同等地收到所有事件通知。

存在

最后一步是存在。如果设备带有存在 URL,那么控制点可以通过它来获取设备存在 信息,即在浏览器中加载 URL,并允许用户来进行相关控制或查看操作。具体支持 哪些操作则是由存在页面和设备完成的。

参考资料

  • UPnP™ Forum Universal Plug and Play Device Standards
  • Golden G. Richard:Service and Device Discovery : Protocols and Programming, McGraw-Hill Professional, ISBN 0-07-137959-2
  • Michael Jeronimo,Jack Weast:UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play, Intel Press, ISBN 0-9717861-1-9


你可能感兴趣的:(UPnP通用即插即用)