UPnP 体系结构概述

UPnP 体系结构定义智能设备、设备和 控制点的对等网络连接。 它旨在实现与临时、托管或非托管网络的易于使用、灵活、基于标准的连接,无论这些网络位于家庭、小型企业还是直接连接到 Internet。 UPnP 体系结构是一种分布式开放网络体系结构,它使用现有的 TCP/IP 和 Web 技术实现无缝邻近网络,以及控制网络设备之间的数据传输。

UPnP 是基于基于 WEB 服务协议的初步版本(如 XML 和简单对象访问协议)的基于 IP 的协议套件, (SOAP) 。 借助 UPnP,设备可以动态加入网络、获取 IP 地址、传达其功能,并发现网络上其他设备的状态和功能。

UPnP 设备是服务和嵌套设备的容器。 例如,VCR 可能包括磁带传输服务、优化器服务和时钟服务。 不同类别的 UPnP 设备与不同的服务和嵌入式设备集相关联。 例如,VCR 中的服务不同于打印机中的服务。 有关特定设备类型可以提供的服务集的信息是在设备托管的 XML 设备说明文档中捕获的。 设备说明还列出了与设备关联的设备名称和图标等属性。 Microsoft 增强了 UPnP 支持,以包括与 PnP-X函数发现的集成。

UPnP 体系结构不仅仅是即插即用外围模型的简单扩展。 它支持各种供应商提供的一系列设备类别的零配置、不可见网络和自动发现。 这使设备能够动态加入网络、获取 IP 地址,并在请求时传达其功能。 然后,其他控制点可以使用控制点 API 和 UPnP 技术来了解其他设备的状态和功能。 设备可以在不再使用网络时顺利自动离开网络。

UPnP 技术的通用性是什么?

  • 媒体和设备独立性。 UPnP 技术可以在任何介质上运行,包括电话线、电源线、以太网、RF 和 1394。
  • 平台独立性。 供应商使用任何操作系统和任何编程语言来生成基于 UPnP 的产品。
  • 基于 Internet 的技术。 UPnP 技术基于 IP、TCP、UDP、HTTP 和 XML 等。
  • UI 控件。 UPnP 体系结构允许供应商使用浏览器控制设备用户界面和交互。
  • 编程控件。 UPnP 体系结构还支持传统的应用程序编程控制。
  • 常见基本协议。 供应商根据每个设备就基本协议集达成一致。
  • 扩展。 每个基于 UPnP 的产品都可以将增值服务分层在各个制造商的基本设备体系结构之上。

UPnP 技术的范围很广,因为它面向家庭网络、邻近网络和小型企业和商业建筑中的网络。 它允许在网络上任何控制设备的命令下的任何两台设备之间进行通信。 UPnP 技术独立于任何特定的操作系统、编程语言或物理介质。

Microsoft 提供了两个用于处理基于 UPnP 的设备的 API:

  • 控制点 API - 提供一组 COM 接口,允许应用程序查找和控制基于 UPnP 的设备。
  • 设备主机 API - 提供一组 COM 接口,使开发人员能够编写核心设备功能并将设备注册到设备主机。 设备主机处理基于 UPnP 的设备功能的发现、说明、控制和事件部分。