UPnP协议学习(一)

概述

UPnP是通用即插即用(Universal Plug and Play)的缩写,它主要用于实现设备的智能互联互通。使用UPnP协议不需要设备驱动程序,因此使用UPnP建立的网络是介质无关的,它可以运行在几乎所有的操作系统平台之上,可以使用C,C++,JAVA和VB等开发语言,使得在办公室、家庭和其他公共场所方便地构建设备相互联通的网络环境。

UPnP技术是一种架构在TCP/IP和HTTP之上的分布式开放的网络结构,可以使得联网的设备间传递控制和数据。

应用场景

随着PC成为网络的中心并提供日益丰富的介质和连接服务,在设备与PC相连之后,越来越多的应用将被开发出来。下面的例子只是其中很小的一部分:

  • 智能家居
    许多智能家居环境使用了现存的家庭控制网络,例如X10网络来控制和监控整个家居环境,比如灯光,安防和其他家庭设备。这些网络可以连接PC上,但是除了PC之外,不能被其他的设备存取。使用UPnP设备可以桥接这些网络成为一个网络,并提供用户更多设备存取家庭网络中的设备。在实现时也无须对X10网络中的现有布线和设备进行昂贵的升级,只需要将设备变成UPnP设备并能够与控制点通讯并接受控制点的控制命令。
  • 数字音频文件管理
    可以在PC和其他设备上播放的数字化音频文件在近几年正在成指数级的增长。一个家庭中,可能有几台计算机或者其他设备用于保存这些音频文件。使用UPnP可以使这些分布在不同PC上的音乐库被统一的管理。这些设备能被发现然后被其他控制点(比如个人电脑、UPnP接收器)控制。同时这些控制点也可以控制家庭中的任何一个扬声器。
  • 数字图片库
    许多家庭使用数字相机拍照,或者将已有照片扫描保存,然后将这些照片上载到他们的计算机中保存。在计算机中对其进行分类,或者以幻灯片的形式进行显示。随着照片的增加,照片可能保存在多种设备或者多种介质上,比如光盘、硬盘、Flash卡。使用UPnP技术,图片库可以自己作为一个设备存在,并自动在网络上声明。这使得一个照片库可能临时为多个应用程序使用,例如可以进行幻灯片显示的同时,在电子像框、机顶盒和电视上进行显示。

UPnP的关键术语

  • Auto-IP
    在Ipv4网络中自动选择IP地址,一般智能设置中的嵌入式操作系统可自动实现。你可以访问IETF文档, http://search.ietf.org/internet-drafts/draft-ietf-dhc-ipv4-autoconfig-05.txt
  • DHCP
    动态主机控制协议,可以访问 RFC 2131获得更详细的信息。
  • HTTPMU
    在UDP上实现HTTP协议的多址传送。
  • HTTPU
    在UDP上实现普通的HTTP传输协议。
  • SOAP
    简单对象存取协议(Simple Object Access Protocol ),它是一种应用程序之间进行数据通讯的机制。它是一种在HTTP上使用XML发送命令并接收值的远程过程调用。

UPnP设备工作工程

UPnP定义了设备之间、设备和控制点、控制点之间通讯的协议。完整的UPnP由设备寻址、设备发现、设备描述、设备控制、事件通知和基于Html的描述界面几部分构成。UPnP设备协议栈如下图所示:

UPnP协议学习(一)_第1张图片
1.gif

在最高层中仅包含UPnP制造商定义的特定设备信息,紧接着UPnP工作组定义的内容补充制造商信息。从这层往下,定义的消息为UPnP特定的消息。也就是说,这些消息定义为以下几个协议:简单设备发现协议(Simple Service Discovery Protocol ),通用事件通知结构(General Event Notification Architecture)和 简单对象存取协议(Simple Object Access Protocol)。这些消息使用 HTTPU或者 HTTPMU发送。 这几个部分在UPnP中的层次关系如下图所示:
UPnP协议学习(一)_第2张图片
2.gif

你可能感兴趣的:(UPnP协议学习(一))