UPnP 简介、优点及工作几大步骤介绍
简单介绍下最近开始了解的 UPnP,包括简单介绍、优点、过程简介。欢迎大家留言交流。
一、简介
UPnP 是 Universal Plug and Play 的缩写,是一套网络协议,目的是使得家庭或者公司网络内设备间可以无缝连接,并简化了其网络实现。
UPnP 为统一局域网内的电脑、手机、平板、智能设备等提供 P2P 网络连接。UPnP 是建立在 TCP/IP 基础上,用于家庭或公司内设备间连接、控制、数据传输的。
二、优点
- 网络介质无关性,支持在 Wi-Fi、同轴电缆、电话线、电力线、以太网等网络环境下运行。
- 平台无关性,支持任何系统、任何编程语言来创建 UPnP 产品。
- 基于互联网技术,UPnP 基于 IP、TCP、UDP、HTTP。
- 界面控制,UPnP 允许用户通过浏览器控制其他设备的交互和界面。
- 程序控制,UPnP 允许通过程序控制。
- 共同的基础协议,UPnP 设备都有统一的基础协议集。
- 可扩展,允许设备制造商在基础协议层之上再增加一层服务层,在该层扩展。
三、步骤
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 简介