UPnP

介绍
什么是UPnP1技术?
UPnP技术定义了一种用于普遍的对等网络连接的体系结构
各种外形的智能家电,无线设备和个人电脑。它旨在带来
易于使用,灵活,基于标准的连接到ad-hoc或非托管网络,无论是
在家里,在小型企业,公共场所,或附加到互联网。 UPnP技术
提供利用TCP / IP和Web的分布式开放式网络架构
除控制和数据传输外,还可实现无缝邻近网络的技术
在联网设备中。
UPnP设备架构(UDA)不仅仅是插件的简单扩展
玩外围模型。它旨在支持零配置,“隐形”网络,以及
自动发现来自各种供应商的广泛设备类别。这个
表示设备可以动态加入网络,获取IP地址,传达其功能,
并了解其他设备的存在和功能。最后,设备可以留下一个
网络平稳自动,不会留下任何不需要的状态。
UPnP架构中利用的技术包括IP等Internet协议,
TCP,UDP,HTTP和XML。与互联网一样,合同基于有线协议
声明性的,用XML表示,并通过HTTP进行通信。使用Internet协议是一个
UDA的强大选择,因为它具有跨越不同物理媒体的能力,能够实现
现实世界的多供应商互操作,并实现与互联网和许多的协同作用
家庭和办公室内联网。 UPnP架构已明确设计为
适应这些环境。此外,通过桥接,UDA适应媒体运行
当成本,技术或传统阻止附加的媒体或设备时,非IP协议
它来自运行IP。
UPnP技术的“普遍性”是什么?没有设备驱动;使用通用协议
代替。 UPnP网络与媒体无关。 UPnP设备可以使用
任何编程语言,以及任何操作系统。 UPnP架构没有
为应用程序指定或约束API的设计; OS供应商可能会创建API
满足客户的需求。

 

此处包含UPnP设备架构(以前称为DCP框架)
定义控制器或控制点与设备之间通信的协议。
用于发现,描述,控制,事件和演示,UPnP设备架构
使用以下协议栈

UPnP架构定义了两种通用的设备分类:受控制
设备(或简称“设备”)和控制点。受控设备起到a的作用
服务器,响应来自控制点的请求。控制点和受控设备
可以在各种平台上实现,包括个人计算机和嵌入式平台
系统。多个设备,控制点或两者可以在同一网络上运行

 

UPnP网络的基础是IP寻址。在IPv4环境中,每个设备或
控制点应具有动态主机配置协议(DHCP)客户端并搜索a
设备或控制点首次连接到网络时的DHCP服务器。如果是DHCP
服务器可用,即网络被管理;设备或控制点应使用IP
分配给它的地址。如果没有可用的DHCP服务器,即网络不受管理;该
设备或控制点应使用自动IP获取地址。简而言之,Auto IP定义了如何
设备或控制点智能地从一组保留地址中选择一个IP地址
并且能够在托管和非托管网络之间轻松移动。如果在DHCP期间
在交易中,设备或控制点例如通过DNS服务器获得域名
通过DNS转发,设备或控制点应在后续网络中使用该名称
操作;否则,设备或控制点应使用其IP地址

 

某些UPnP网络具有更复杂的配置,例如多个物理网络
和/或多个逻辑网络以适应多个非重叠寻址
方案。设备和控制点还可以具有两个或更多个网络接口,和/或
分配给每个接口的两个或多个IP地址。在这种配置中,单个设备
或控制点可以分配来自不同逻辑网络的多个IP地址
相同的UPnP网络,导致设备多次出现在控制点
网络。在同一UPnP上具有多个IP地址的设备和控制点
网络被称为多宿主。在本文档中,术语“启用了UPnP
interface“用于指代分配了属于的IP地址的接口
UPnP网络。特定于多宿主设备和控制点的其他行为将是
在整个文件的适用条款中有所涉及。但是,作为一般原则,
控制点和设备之间的相关交互(例如,动作控制请求和
响应消息,事件订阅和事件消息)应使用同一对发生
传出和传入的UPnP接口。

步骤1是发现


给定IP地址,UPnP网络中的步骤1是发现。将设备添加到
在网络中,UPnP发现协议允许该设备通告其服务进行控制
在网络上的点。同样,当控制点添加到网络时,UPnP
发现协议允许该控制点搜索网络上感兴趣的设备。
两种情况下的基本交换都是包含一些必要条件的发现信息
关于设备或其服务之一的细节,例如,其类型,标识符和指向更多的指针

步骤2是描述

控制点搜索,并包含有关发现消息格式的详细信息。
UPnP网络中的步骤2是描述。控制点发现设备后,
控制点对设备知之甚少。为控制点了解更多信息
设备及其功能,或与设备交互,控制点应检索
设备在发现消息中提供的URL中的描述。设备
可能包含其他逻辑设备,功能单元或服务。 UPnP
设备的描述以XML表示,包括供应商特定的制造商
型号名称和编号,序列号,制造商名称等信息,
特定于供应商的网站的URL等。描述还包括任何嵌入的列表
设备或服务,以及用于控制,事件和演示的URL。对于每项服务,
描述包括服务响应的命令或动作的列表,
和每个动作的参数或参数;服务的描述还包括列表
变量;这些变量在运行时模拟服务的状态,并在中描述
数据类型,范围和事件特征的术语。以下描述中的条款
解释了如何描述设备以及控制点如何检索这些描述。

 

第3步是控制

 

UPnP网络中的第3步是控制。在控制点检索到的描述之后
设备,控制点可以向设备的服务发送动作。为此,一个控制点
将适当的控制消息发送到服务的控制URL(在设备中提供)
描述)。控制消息也使用简单对象访问以XML表示
协议(SOAP)。与函数调用一样,响应控制消息,服务返回
任何特定于行动的价值观。行动的影响(如果有的话)是通过改变来建模的
描述服务运行时状态的变量。以下关于控制的条款解释
操作,状态变量和控制消息格式的描述。

 

第4步是事件

UPnP网络中的第4步是事件。服务的UPnP描述包括列表
服务响应的操作以及模拟服务状态的变量列表
运行。该服务在这些变量发生变化时发布更新,并发布控制点
可以订阅接收此信息。该服务通过发送事件发布更新
消息。事件消息包含一个或多个状态变量的名称和当前值
这些变量的价值。这些消息也以XML表示。一个特殊的初始事件
控制点首次订阅时发送消息;此事件消息包含名称
和所有事件变量的值,并允许订阅者初始化其模型
服务状况。为了支持具有多个控制点的场景,设计了事件
让所有控制点平等地了解任何行动的效果。所以,一切
订阅者发送所有事件消息,订阅者接收所有事件的事件消息已更改的变量,无论状态变量为何,都会发送事件消息
已更改(响应请求的操作或因为服务状态
建模改变了)。多播事件是UPnP网络中步骤4的变体。通过
多播事件,控制点可以在没有订阅的情况下监听服务中的状态变化。
当与特定UPnP无关的事件时,这种事件形式首先是有用的
交互应该传递给控制点以通知用户,并且第二次交付时
受控设备想要通知多个其他控制点。多播事件本质上是
不可靠,因为它基于UDP。为了增加成功传输的可能性,
概述了重新发送多播事件通知的选项。 UPnP工作委员会
应该定义特定事件是否是多播事件。关于以下事件的条款
解释了单播事件订阅以及单播和多播事件的格式
消息。

第5步是演示

UPnP网络中的第5步是演示。如果设备有一个用于演示的URL,那么
控制点可以从此URL检索页面,将页面加载到浏览器中,并依赖
关于页面的功能,允许用户控制设备和/或查看设备状态。
每种方法的完成程度取决于具体的能力

 

 

你可能感兴趣的:(UPnP)