05/26
2015

UPnP 简介、优点及工作几大步骤介绍

简单介绍下最近开始了解的 UPnP,包括简单介绍、优点、过程简介。欢迎大家留言交流。

一、简介

UPnP 是 Universal Plug and Play 的缩写,是一套网络协议,目的是使得家庭或者公司网络内设备间可以无缝连接,并简化了其网络实现。
UPnP 为统一局域网内的电脑、手机、平板、智能设备等提供 P2P 网络连接。UPnP 是建立在 TCP/IP 基础上,用于家庭或公司内设备间连接、控制、数据传输的。

 

二、优点

  1. 网络介质无关性,支持在 Wi-Fi、同轴电缆、电话线、电力线、以太网等网络环境下运行。
  2. 平台无关性,支持任何系统、任何编程语言来创建 UPnP 产品。
  3. 基于互联网技术,UPnP 基于 IP、TCP、UDP、HTTP。
  4. 界面控制,UPnP 允许用户通过浏览器控制其他设备的交互和界面。
  5. 程序控制,UPnP 允许通过程序控制。
  6. 共同的基础协议,UPnP 设备都有统一的基础协议集。
  7. 可扩展,允许设备制造商在基础协议层之上再增加一层服务层,在该层扩展。

 

三、步骤

UPnP 的工作过程大概分为 6 个步骤:

0. 寻址(Addressing)

开始会给所有设备或者控制点分配一个分配一个 IP。
这个过程是这样的,设备或控制点向 DHCP 客户端发送一个 DHCPDISCOVER 消息,DHCP 客户端负责分配向他们分配 IP,如果局域网内没有 DHCP 服务,UPnP 设备将按照 Auto-IP 的协议通过算法呢从 169.254.1.0 to 169.254.254.255 地址范围内获取一个未被使用的 IP 地址。
对于新设备首次与网络建立连接时也会有这个寻址过程。

 

1. 发现(Discovery)

这步是 UPnP 真正工作的第一步。
当一个设备被加入到网络中时,UPnP 发现协议允许它向控制点介绍自己的功能,设备会向多次向固定的地址及端口(239.255.255.250:1900)发送消息,控制点会监控给地址及端口。当一个控制点被加入到网络时,UPnP 发现协议允许它搜寻这个网络内它感兴趣的设备。这个过程内彼此交换剪短的信息,如类型、全局唯一标识符、指向详细信息的链接及当前状态(可选)。

 

2. 描述(Description)

控制点通过1.发现(Discovery)过程中设备提供的指向设备详细信息的链接,获取设备的详细信息(Device description)及其提供的服务的详细信息(Service description)。

 

3. 控制(Control)

控制点通过描述过程对设备的了解,控制点可以发送控制信息控制设备,设备在执行完命令后会给与控制点一个反馈。

 

4. 事件(Eventing)

控制点可以监听设备的状态,这样设备的状态或信息发生了变化,只要产生一个事件广播出去,控制点即可进行响应,类似一般的订阅者模式。

 

5. 展现(Presentation)

控制点可以从设备获取一个 HTML 页面,用于控制设备或展现设备信息,是对上面3.控制(Control)4.事件(Eventing)过程的一个补充(即时展现)。

 

整体过程如下图:

上面每个过程详细的介绍及数据传输请见:(1) UPnP Device Architecture (2) UPnP™ Device Architecture 1.1 关于 DLNA 介绍可见:DLNA 简介

随手点点下面广告,支持我维护本站吧