1. 说明
1.1 What is UPnP?
UPnP的概念最早来源于即插即用。即插即用是描述计算机总线特性、设备规格的一个专业术语。利用即插即用可以大大简化系统的整个硬件组成,而不需要再进行物理设备的配置,也避免了解决资源冲突时用户的干预[1][2]。整个思路就是:只需要在设备中插入,然后就可以使用。
如今将UPnP将即插即用概念创造性地应用于网络环境下。UPnP可以自动搜索设备类别。它支持零配置,“隐形”网络,以及自动检索功能。这就意味着设备UPnP可以动态加入网络、获得IP地址、传输性能,从而得到当前设备以及其他设备的性能的相关信息——全自动化、完全零配置网络支持。
UPnP网络应用的步骤
在UPnP机制下存在6种不同的步骤:
(1)寻址
寻址是通过控制点和设备取得网络地址的过程。这些控制点和设备先从DHCP服务器上获得一个IP地址;如果没有可用的IP地址,将会在169.254的子网上随机获取一个自动IP地址。
注意: 在寻址过程中,AutoIP和DHCP都可以协助UPnP控制点和设备取得一个IP地址。但是DHCP要比AutoIP的更为常用和可靠。所以,在这篇应用手册和基于W5200的模型中,DHCP是获得IP地址的唯一方法。
(2)搜索
控制点可以通过搜索来查找对它们有意义的设备。
当控制点进入网络时,它们以普通或者特殊方式释放search packets来搜索and/or服务的设备。搜索完成后,具有合适服务特性的设备或者子设备就会做出响应。
同样地,UPnP设备首先将会以规律性间隔的方式在网络上表明自身的存在。控制点监听这些状态,检测这些新的设备并且判断它们在网络上的性能表现。
网络上的其它UPnP设备将会发出通知表明它们提供的服务将不再有效。
注意: 在搜索过程中,无论是Searching或者Advertising都可以帮助UPnP控制点来寻找UPnP设备。在Searching和Advertising这两种方法相同的情况下,在这篇应用手册和基于W5200的模型中都是保留了Searching方法,而Advertising方法将被忽略。
(3)描述
UPnP发送搜索包,将控制点送到一个它们能够检索Device Description Document(DDD)的位置。
DDD包括:所有嵌入式设备的概述以及一个服务列表。
被称做服务控制协议定义(SCPD)一个URL。SCPD描述了控制点如何使用这些设备提供的服务。
控制和事件URLs:这些URLs表示控制点必须发送命令来配置UPnP设备,并且利用这些设备所提供的服务。
用来陈述的URL(见第6步).
控制过程允许控制点向设备发送命令。如之前提到的,在DDD中指定发送命令的URL。
事件过程允许控制点跟踪设备的状态变化。控制点首先订阅合适的服务,随后设备服务中任何状态的变化都会以事件的形式发送给已经订阅的控制点来保证它们的更新。
控制点能够选择性地为设备显示一个用户的界面。用来陈述的URL是在DDD中已经被指定。陈述页面显示基于HTML的用户界面,这样用户就可以参考and/or设备的状态。所以陈述过程是控制过程和事件过程的补充。